MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Агрегаты фактов

Название:Агрегаты фактов
Просмотров:61
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Списки. Database. Приемы работы с динамической базой фактов. Структуры.

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

Агрегаты фактов 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 ( [ эл-ты старого списка ],[ эл-ты нового списка ],< имя нового списка > )
    - из 2-х списков, старого и нового, создают III список.
    REVERS ( [ эл-ты стар. списка], < имя нового списка > )
    - меняет последовательность эл-в на противоположную
    FINDALL (< имя переменной >,< формат предиката >,< имя списка >)
    ПРИМЕР
    domains
     post = string
     Kol, Cena, Sum = integer
     Sp = integer* ( Sp = Kol*)
     Kod = string
    predicates
     tmc ( P, Kol, Cena)
     sum ( Sp, Sum)
    
    goal
     write ( " Введите код"),
     readln ( Kod),
     nl,
     findall ( Kol, tmc ( Pos1, Kod, Kol, Cena), Sp),
     sum (Sp, Sum),
     write ( "Количество =" , Sum)
    clauses
     tmc ( " 001", "001", 45, 80)
     .
     .
     .
     sum ( [ ], 0).
     sum ( [ H/T ], Sum) if
     sum ( T, Sum1).
     Sum = H + Sum1.
    
    В языке имеется возможность работы с динамической базой фактов, в которой м. объединяться как однородные, так и разнородные предикаты-факторы.
    База фактов - нечто среднее м-у реляционной СУБД и массивом. В момент активизации все факты базы переносятся в ОЗУ с внешнего зап. устройства. Для работы с БД создается новый раздел программы, в кот. определяются прототипы предикатов-фактов, объедененных в базу.
    Database
    прототипы в этом разделе описываются по тем же правилам, что и в predicates.
    Раздел database записывается перед разделом predicates и предикаты, кот. ............



 
     

Вечно с вами © MaterStudiorum.ru