Практическая часть. Методичні вказівки до лабораторних робіт

Методичні вказівки до лабораторних робіт

з дісциплін «Логічне програмування»

для студентів денної та заочної форми навчання спеціальності:

«Комп’ютерні системи та мережі»

для студентів коледжу спеціальності:

«Обслуговування комп’ютерних систем та мереж»

 

Кривий Ріг
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-м классе или знает Валю.