На основе текста параграфа 2.11.2 "ULTRAMAFIC ROCKS (M > 90%)", стр.28-29 (см. [1]) написан алгоритм на языке Pascal см. [2].
В том числе формализованы две диаграммы см. Fig.2.9, стр.28. Тем самым текст параграфа и диаграммы формализованы полностью.
Проблема: Правильность этой формализации должна быть проверена геологами.
Чтобы получить алгоритм пришлось сделать ряд предположений, уточнений, которые будут перечислены ниже.
Алгоритм написан в виде классифицирующей функции ultramafic_rock_type.
Каждая из диаграмм применяющихся для классификации ультрамафических пород реализована в виде отдельной классифицирующей функции, которая фактически возвращает наименование зоны треугольника исходя из характеристик образца.
Для верхнего треугольника функция названа OOC_diagram_field, для нижнего - OPH_diagram_field.
основную часть самой функции ultramafic_rock_type, составляют инструкции по добавлению квалификационного имени к имени породы в случае, когда образец содержит garnet или spinel.
1. http://amigoreader.com/book/?b=29372 ("ксерокопии" страниц 28-29 можно посмотреть в приложениях.)
2. http://earth.jscc.ru/ontologies/IUGS_Igneous_rocks_classification_algorithm.pas