Практическая часть. Методичні вказівки до лабораторних робіт
Методичні вказівки до лабораторних робіт
з дісциплін «Логічне програмування»
для студентів денної та заочної форми навчання спеціальності:
«Комп’ютерні системи та мережі»
для студентів коледжу спеціальності:
«Обслуговування комп’ютерних систем та мереж»
Кривий Ріг
2014 р.
Лабораторная работа №1
Введение, редактирование, компиляция и выполнение программ
Цель: Освоить технологию ввода, редактирования, компиляции и выполнения программ, организации запросов, ввода и вывода данных.
Теоретическая часть: задачи и контрольные вопросы
1. Назначение команд главного меню Турбо-Пролог.
2. Назначение команд редактора.
3. Какие окна содержит система Турбо-Пролог 2.0?
4. Объекты данных Турбо-Пролога. Понятие структуры и списка.
5. Понятие терма. Функтор и арность терма.
6. Как, используя запросы, передать в программу необходимые входные данные и получить результаты работы?
7. Виды запросов к программе.
8. В чем состоит разность между процедурным и логическим программированием? В чем суть декларативного программирования?
9. Дайте сравнительную характеристику понятия переменной в процедурных языках и на Прологе.
10. Сравните этапы решения задачи на процедурном языке и на языке логического программирования.
Практическая часть
I уровень
1-13 варианты. Ввести, отредактировать и скомпилировать текст программы примера
учится ( фома , 9 ) .
учится ( петр , 10 ) .
учится (ольга, 10 ) .
учится ( олеся , 9 ) .
знает ( Х , Y ) :-
учится ( Х , Класс ) ,
учится ( Y , Класс ) ,
Х <> Y.
Выполнить запросы к программе:
· учится ли Ольга в 10-м классе?
· учится ли Фома в 10-м классе?
· знает ли Леся Фому?
· кого знает Ольга?
· кто знает Ольгу?
· отыскать тех, кто знает друг друга.
ІІ уровень
1, 2 варианты. Дополнить базу данных программы примера №1 фактами: Олег учится в 9 классе, Олег знает Тамару. Программу сохранить в файле "LNN1_23.pro". Выполнить запросы к модифицированной программе:
· есть ли такое лицо, которое знает и Фому и Петра?
· есть ли такое лицо, которое знает Фому или Петра?
· кто учится в 9-м классе и знает Тамару?
· кто учится в 10-м классе и знает Тамару?
· отыскать тех, кто учится в 10-м классе или знает Тамару.
3, 4 варианты. Дополнить базу данных программы примера фактами: Тамара учится в 10 классе, Леся знает Тамару. Выполнить запросы к модифицированной программе:
· есть ли такое лицо, которое знает и Ольгу и Лесю?
· есть ли такое лицо, которое знает Ольгу или Лесю?
· кто учится в 9-м классе и знает Лесю?
· кто учится в 10-м классе и знает Лесю?
· отыскать тех, кто учится в 9-м классе или знает Лесю.
5, 6 варианты. Дополнить базу данных программы примера фактами: Олег учится в 10 классе, Валя учится в 8 классе, Валя знает Олега. Выполнить запросы к модифицированной программе:
· есть ли такое лицо, которое знает и Фому и Петра?
· есть ли такое лицо, которое знает Фому или Петра?
· кто учится в 10-м классе и знает Валю?
· кто учится в 9-м классе и знает Валю?
· отыскать тех, кто учится в 9-м классе или знает Олега.
7 – 9 варианты. Дополнить базу данных программы примера фактами: Олег учится в 9-м классе, Валя знает Петра, Валя знает Олега.
Выполнить запросы к модифицированной программе:
· есть ли такое лицо, которое знает и Олега и Петра?
· есть ли такое лицо, которое знает Олега или Петра?
· кто учится в 9-м классе и знает Валю?
· кто учится в 10-м классе и знает Валю?
· отыскать тех, кто учится в 10-м классе или знает Валю.