![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Предикаты ввода-вывода
Директивы компилятора. Структура программы на Turbo Prolog
Программа на турбо прологе состоит из семи разделов: · директивы компилятора; · CONSTANTS - раздел описания констант; · DOMAINS - раздел описания доменов; · DATABASE - раздел описания предикатов внутренней базы данных; · PREDICATES - раздел описания предикатов; · CLAUSES - раздел описания предложений; · GOAL - раздел описания внутренней цели. В начале программы можно расположить одну или несколько директив компилятора, которые дают компилятору дополнительные инструкции по обработке программы. Директива trace применяется при отладке программы для трассировки. Трассировка предоставляет пользователю наблюдать за ходом выполнения программы. Во время исполнения программы при включенной трассировке в специальном окне трассировки будет отображаться следующая информация:
DOMAINS /* раздел описания доменов */ s=string /* вводим синоним для строкового типа данных */ PREDICATES /* раздел описания предикатов */ mother(s,s) /* предикат мама будет иметь два аргумента строкового типа */ grandmother(s,s) /* то же имеет место и для предиката бабушка */ CLAUSES /* раздел описания предложений */ mother("Наташа","Даша"). /* "Наташа" и "Даша" связаны отношением мама */ mother("Даша","Маша"). /* "Даша" и "Маша" также принадлежат отношению мама */ grandmother(X,Y):- /* X является бабушкой Y, если найдется такой Z, что */ mother(X,Z), /* X является мамой Z, а */ mother(Z,Y). /* Z является мамой Y */ Турбо-пролог имеет отдельные предикаты для чтения данных с клавиатуры или из файла. readln – считывает строку readint – считывает целое число readchar – считывает символ readreal – считывает вещественное число readterm – считывает терм write – запись в устройство writef – форматный вывод данных nl – переход на следующую строку upper_lower – выполняет преобразования между регистрами str_int – преобразует строку в целое число char_int – переход от символа к ASCII-коду Операции: +,-,*,/,div,mod, =, >, <, <=, >=, ln, log, sqrt, abs, exp, sin, cos, tan, arctan. Углы в радианах. round - округление true – всегда истинен fail – всегда терпит неудачу, цель никогда не будет достигнута. Fail используется для организации поиска с возвратом. Размещение подцели в теле правила после предиката Fail бессмысленно, поскольку этот предикат всегда терпит неудачу – цель никогда не будет достигнута. free – истинен, если аргумент - свободная переменная. bound – истинен, если аргумент - связанная переменная, иначе ложен. % - однострочный комментарий.
Дата добавления: 2014-01-07; Просмотров: 311; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |