Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФиЛП_материалы / Материалы / Prolog / Консоль VisualProlog5 и 7 .docx
Скачиваний:
59
Добавлен:
01.06.2015
Размер:
645.73 Кб
Скачать

Различия кода на vp5.1 и vp7.3.

  1. Для вывода сообщения в VP5.1 использовался системный предикат write, вVP7.3 необходимо использовать конструкцию  stdIO::write; если подключить в область видимостиconsol, то stdIO:: можно не писать.

  1. Чтобы получить значение переменной, введенное пользователем с клавиатуры в VP5.1 использовалась конструкцияreadreal(),reading() и т.п.

readreal(Davl) %ввод давления

В VP7.3 используется другая конструкция: Davl = read() %ввод давления

  1. В VP5.1 для объявления прототипов фактов и названия правил использовался раздел программы PREDICATES:

PREDICATES

болезнь(название, температура, боль_в_горле, давление, пульс)

start

В VP7.3 для этих целей используется разделCLASSFACTS:

class facts      болезнь : (название, температура, боль_в_горле, давление, пульс).

Как видете, описание start здесь отсутствует; после описания прототипа необходимо ставить точку, а после названия прототипа ставить двоеточие.

  1. Конструкция run():-init(), в разделе clauses, обязательна.

  1. Листинг программы на Visual Prolog 7.3:

implement main

open core,console

constants

className = "main".

classVersion = "".

domains

название=string.

температура=real.

боль_в_горле=symbol.

давление=real.

пульс=integer.

class facts

болезнь : (название, температура, боль_в_горле, давление, пульс).

clauses

classInfo(className, classVersion).

болезнь("Здоров", 36.6, "есть", 120, 70).

болезнь("Простуда",37,"есть",120, 70).

болезнь("Грипп",39,"есть", 120, 70).

болезнь("Отравление",39, "нет", 150, 120).

болезнь("Солнечный удар",38,"нет",150, 100).

clauses

run():-init(),

write("Критерии для поиска"),nl,

write("Введите давление - "),Davl = read(),

write("Введите температуру - "),Temp = read(),

clearInput(),

болезнь (Name,Temp,Bol_v_Gorle,Davl, Puls),

nl,write("Название: "), write(Name),

nl,write("Температура: "), write(Temp),

nl,write("Боль в горле: "), write(Bol_v_Gorle),

nl,write("Давление: "), write(Davl),

nl,write("Пульс: "), write(Puls),nl, !,

_=readchar();

write("Такой болезни еще нет )"),nl,

_=readchar().

end implement main

goal

mainExe::run(main::run).

14

Соседние файлы в папке Prolog