Функции-списки позволяют задавать двуместные отношения между двумя списками значений, которые представляют область определения (domain) и область значений (range) функции-списка.
Области определения и значения функций-списков, тип соответствия между ними для каждой функции-списка задаются при описании вычислительной модели задачи на панели List Function Subsheet. Для вызова этой панели нужно па панели Function Sheet указать имя функции в поле Name, выбрать тип List в поле Туре и щелкнуть правой кнопкой мыши.
Допускается использование следующих типов соответствий в функциях-списках:
Список, задающий значения домена функции-списка, просматривается, начиная с головы, т.е. с первого элемента, и в качестве результата выдается первое встретившееся подходящее решение.
Все типы функций-списков являются одноместными и могут вызываться как процедуры с помощью CALL или использоваться в выражениях. Примеры обращения к функциям-спискам:
weight = PTE(element)
call PTE(element;weight)
elasticity = prop2( material)
density = air3(air1 (altitude)*air2(temperature))
Для функций-списков обязательным является соблюдение эквивалентности типов данных переменных, используемых при обращении к функции, и используемых в ее теле типов значений домена и диапазона. При этом имена списков для доменов и диапазонов, задаваемые в теле функции, могут совпадать с именами аргументов функции при обращении к ней.
344
Табличные функции-списки (тип функции table в поле Mapping) описывают бинарные таблицы. Элементами первого столбца (Domain) таблицы являются значения элементов списка, указанного в поле Domain List. Элементы второго столбца (Range) связаны со списком, указанным в поле Range List. Элементы списков могут принимать числовые или символьные значения. Ниже приведен текст табличной функции с именем country_capital, содержащей символьные данные.