Ассоциативный список - Большая Энциклопедия Нефти и Газа, статья, страница 2
В технологии доминируют два типа людей: те, кто разбираются в том, чем не они управляют, и те, кто управляет тем, в чем они не разбираются. Законы Мерфи (еще...)

Ассоциативный список

Cтраница 2


Ассоциативный список превращается в обычный магазин значений внутренних переменных. Рабочие подпрограммы становятся короче и работают быстрее.  [16]

Ассоциативный список, как уже было сказано в разд. Традиционная структура ассоциативного списка и функции для работы с ним описаны ниже ( см. разд. При желании нетрудно перевести описания этих функций на машинный язык.  [17]

Ассоциативный список служит для запоминания связи между наименованиями переменных и их активными и пассивными значениями. Во многих реализациях языка ассоциативный список организуется так, как это описано в разд.  [18]

Запись, представляющая комнату, является заголовком ассоциативного списка сотрудников, работающих в этой комнате.  [19]

Пусть ячейка aptr содержит адрес первой свободной ячейки ассоциативного списка, ячейка abeg - наименьший возможный адрес ( адрес начала) этого списка, ячейка aend - наибольший возможный адрес.  [20]

В ней описывается и используется вспомогательная процедура ИСКЛ исключения записи о сотруднике из одного ассоциативного списка. Как и в процедуре ВКЛ, параметром этой вспомогательной процедуры является указатель k места ссылок, относящихся к данному ассоциативному списку.  [21]

В этой главе мы коротко повторим эти понятия и подробнее опишем основанную на списках и точечных парах структуру данных - ассоциативный список ( association list), или список пар.  [22]

Подпрограмму evfal мы детально не описываем, так как она довольно громоздка, но основана на уже известных принципах. Анализируя значение своего первого аргумента, она должна создать мостик ( возможно, тривиальный - на предыдущую ячейку ассоциативною списка), занести в ассоциативный список наименования связанных переменных функционального аргумента, выполнить его тело ( с помощью call или eval, а может быть, - evcomp или еоехрг, если функциональный аргумент был задан не определяющим выражением, а наименованием функции) и восстановить значения указателей aptr и base, если они были испорчены.  [23]

В а-указатели этих ячеек, так же как в режиме интерпретации, заносятся наименования переменных, точнее - представляющие их адреса информационных ячеек атомов. Но значение, связанное с г - й переменной xit как правило, разыскивается не по ее наименованию, а по номеру г. Чтобы это было возможно, используется специальная переменная base, которой присваивается значение aptr указателя ассоциативного списка непосредственно перед размещением переменных. При этом значение переменной х попадает в d - указатель ячейки ассоциативного списка с адресом base cit где Ci линейно зависит от г, так что доступ к этому значению возможен с помощью операции cdr ( base - - ci), а точнее - с помощью соответствующих ей машинных команд. В дальнейшем будем считать, как мы это уже делали в разд.  [24]

Среди ячеек, содержащих пары переменная-значение, могут быть вкраплены ячейки, а-указатель которых содержит адрес nil, а d - указатель - адрес одной из предшествующих ячеек ассоциативного списка. Если в процессе поиска значения переменной встречается такая ячейка, то поиск продолжается с места, указанного в ее d - указателе. Благодаря этому создается возможность обходить некоторые участки ассоциативного списка. Это необходимо в некоторых случаях при работе с функционалами ( см. разд.  [25]

В а-указатели этих ячеек, так же как в режиме интерпретации, заносятся наименования переменных, точнее - представляющие их адреса информационных ячеек атомов. Но значение, связанное с г - й переменной xit как правило, разыскивается не по ее наименованию, а по номеру г. Чтобы это было возможно, используется специальная переменная base, которой присваивается значение aptr указателя ассоциативного списка непосредственно перед размещением переменных. При этом значение переменной х попадает в d - указатель ячейки ассоциативного списка с адресом base cit где Ci линейно зависит от г, так что доступ к этому значению возможен с помощью операции cdr ( base - - ci), а точнее - с помощью соответствующих ей машинных команд. В дальнейшем будем считать, как мы это уже делали в разд.  [26]

Допустим, функция F обращается к функциям G и Я, у которых есть сходные по своему назначению переменные. Над этими переменными при выполнении функций G и Н требуется произвести одни и к же действия, которые могут быть описаны с помощью функции К. Если требуется, чтобы при этих действиях значения переменных не только использовались, но и менялись, то они могут быть только внешними в / С. При этом в G и Я они должны быть обозначены одинаково, так что при компиляции функции / С даже нельзя установить, переменные какой из двух функций учьствуют в операциях. Если каждый атом, выступающий в роли внешней переменной в какой-нибудь функции, является внутренней переменной в точности одной функции, то в принципе во время компиляции можно реализовать механизм, определяющий адрес хранения значения этой переменной, но едва ли этот механизм будет проще ассоциативного списка.  [27]

Система находится на стадии действующего прототипа. Областью экспертизы является диагностика внутренних болезней человека. Система содержит информацию о 500 болезнях, что составляет примерно 807с всех известных терапевтических заболеваний. База данных CADUCEUS - самая большая среди баз данных существующих экспертных систем. Проблема постановки диагноза осложняется тем, что пациент может быть болен несколькими болезнями одновременно. В системе хранятся знания приблизительно о 100000 ассоциативных связях между симптомами и болезнями. Система используется в клинической практике и для обучения студентов-медиков. Качество решений системы высокое. Между этими типами данных установлен ряд отношений. Каждой болезни сопоставлен ассоциативный список ее проявлений. Существует и обратный список, т.е. для каждого проявления указаны болезни, при которых оно встречается. Болезни организованы в иерархическое дерево, а также связаны причинными, временными и ассоциативными отношениями. Знания представляются в виде сетей с использованием коэффициента определенности.  [28]



Страницы:      1    2