Скачиваний:
70
Добавлен:
17.06.2016
Размер:
23.44 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

имени В. И. Ульянова(Ленина)

Открытый факультет

Кафедра Автоматизированных Систем Обработки Информации и Управления

Лабораторная работа №3

по дисциплине: «Проектирование систем искусственного интеллекта»

Выполнил: ст. гр. 0851

Карелина Л.А

Проверил:

Соничев А.В.

Санкт-Петербург

2015

Программирование итераций

Цель работы - ознакомление с простейшими предопределенными предикатами, реализующими многооконный интерфейс; реализация на Прологе простейшей программы вычислений с использованием многооконного интерфейса.

Задание к лабораторной работе

  1. Провести тестирование программы LAB03.PRO.

  2. Изменить программу LAB03.PRO так, чтобы она в специально выделенных окнах выводила сумму, разность и произведение двух введенных в соответствующие окна вещественных чисел. Предикат для считывания вещественных чисел с клавиатуры - readreal(Number).

Порядок выполнения задания

  1. Загрузить Турбо-Пролог.

  2. Загрузить программу LAB3.PRO и убедиться в правильности ее работы. Для запуска программы задайте цель start.

  3. Внести требуемые изменения.

Содержание отчета

Отчет должен содержать полученный текст программы и результаты ее работы.

Текст программы:

predicates

start

run()

do_sums

set_up_windows

clear_windows

goal

start.

clauses

start :- set_up_windows, do_sums.

set_up_windows :-

makewindow(1, 112, 114, "", 0, 0, 25, 80),

makewindow(1, 120, 114, "Left operand", 2, 5, 5, 25),

makewindow(2, 120, 114, "Right operand", 2, 50, 5, 25),

makewindow(3, 57, 33 , "", 7, 5, 3, 70),

nl, write(" GIVES"),

makewindow(4, 36, 103, "Sum", 10, 5, 5, 20),

makewindow(5, 53, 74, "Diff", 10, 30, 5, 20),

makewindow(6, 75, 12, "Mult", 10, 55, 5, 20),

makewindow(7, 94, 13, "", 17, 22,3, 35).

do_sums :- run(), clear_windows, do_sums.

run() :-

shiftwindow(1),

cursor(2, 1), readreal(X),

shiftwindow(2),

cursor(2, 1), readreal(Y),

shiftwindow(4), Z1=X+Y, cursor(2, 2), write(Z1),

shiftwindow(5), Z2=X-Y, cursor(2, 2), write(Z2),

shiftwindow(6), Z3=X*Y, cursor(2, 2), write(Z3),

shiftwindow(7),

write(" Please press any key"),

readchar(_).

clear_windows :-

shiftwindow(1), clearwindow,

shiftwindow(2), clearwindow,

shiftwindow(4), clearwindow,

shiftwindow(5), clearwindow,

shiftwindow(6), clearwindow,

shiftwindow(7), clearwindow.

Результат работы

Соседние файлы в папке Пролог лабы