Категория
Информатика
Тип
реферат
Страницы
5 стр.
Дата
31.03.2009
Формат файла
.rtf — Rich Text Format (Wordpad)
Архив
18521.zip — 6.45 kb
  • agregaty-faktov_18521_1.rtf — 31.85 Kb
  • Readme_docus.me.txt — 125 Bytes
Рейтинг
10  из 10
Оценок
1
Оцените работу
Хорошо  или  Плохо


Текст работы

Агрегаты фактов
Агрегаты фактов
1. Списки.
Если в пр-ме необходимо организовать с переменными или заранее неопределенным количеством объектов, то испол. списки.
СПИСОК — упорядоченная последовательность эл-в одного типа неопределенной длины, кот м. состоять из 0 и более эл-в.
Константы ,попавшие в список , записываются в [ ] и отделяются друг от друга
запятыми.
Исходя из определения списка, два списка , сост. из одних и тех же
эл-в , но расположенных в разном порядке считаются разными. В разделе domains элты списка обяз-но д.б. сопоставлены с определенным типом домена (Sp=integer*).
Список в domains м.б. опосредствован через имя переменной, эл-ты кот. собираются
в список.
domains
k_fms = string, kol = integer,
Sp = kol*
predicates
fms ( k_fms, kd, ...)
Списки состоят из заголовка ( начала списка) и захвата (окончания списка). К заголовку относится только 1-й эл-т списка, остальное — хвост.
Список с нулевым количеством эл-в определяется как пустой список, он не имеет ни заголовка ни хвоста.
Для работы со списками в языке имеется ряд встроенных предикатов.
MEMO (, ) — где м.б. задан либо именем Sp, либо непосредственно константами, входящими в этот список.
Предикат определяет принадлежность эл-та к списку.
I — деление списка на голову и хвост [ Head I Tail] или [H I T]
H — или переменной для обозначения заголовка
T — — “ — хвоста
ПРИМЕР
domains
list=char*
predicates
test (List)
clouses
test ( [‘ A’ , ‘ B’ , ‘ C’ , ‘ D’ ] ).
goal
test ([H/T]),
nl,
write (H)
APPEND ( [ эл-ты старого списка ],[ эл-ты нового списка ],<



Ваше мнение



CAPTCHA