 
        
        готов лаби 4 курс 1 сим / ЛП / otchet_1
.docМіністерство освіти і науки, молоді і спорту України
Кіровоградський національний технічний університет
Механіко-технологічний факультет
Кафедра програмного забезпечення
Дисципліна: « Логічне програмування »
Лабораторна робота № 1
Тема: «Елементарні програми на мові програмування Turbo Prolog»
Виконав: ст. групи КІ-08-2
Салтан В.С.
Перевірила: викладач
Савеленко О. К.
Кіровоград 2011
Мета: Розглянути структуру елементарних програм на мові програмування Turbo Prolog та оволодіти основними навичками роботи в середовищі Turbo Prolog.
Завдання:
- У вікні редагування набрати програму: 
domains
s=symbol
predicates /*описання предикатів*/
algorithm(s)
proced(s)
clauses /*факти і правила*/
algorithm(“C”). /*С-алгоритмічна мова*/
algorithm(“Pascal”). /* Pascal -алгоритмічна мова*/
proced(X):-algorithm(X). /*якщо мова алгоритмічна, то вона є мовою процедурного типу*/
- Командою Run головного меню запускаємо програму на виконання. Курсор у вікні діалогу вказує на успішне її виконання. 
- У вікні діалогу, обдумуючи відповіді, послідовно набираємо запитання: - algorithm(“C”). /*Чи алгоритмічна мова С?*/ 
- algorithm(Х). /*Які є алгоритмічні мови?*/ 
- proced(“Pascal”). /*Чи процедурного типу мова Pascal?*/ 
- proced(Х). /*Які відомі мови процедурного типу?*/ 
- proced(”Prolog”). /*Чи є Prolog мовою процедурного типу?*/ 
 
- Запускаємо власну програму, що містить факти: 
Я (ваше прізвище) – студент (наприклад, student („Іванов”).);
Ваш одногрупник (прізвище) – студент;
І правило:
Якщо людина – студент, то вона має право на фінансову підтримку держави (предикат, що описує право, може бути любим поєднанням рядкових латинських літер).
- Задати запитання типу: - Ви (прізвище) – студент? 
- Які прізвища студентів? 
- Чи маєте ви (прізвище) право на підтримку держави? 
- Чи має право на фінансову підтримку держави Джорж Буш? 
 
Лістинг програми:
domains
s=symbol
predicates
student(s)
dopomoga(s)
clauses
student("Saltan").
student("Litvinenko").
dopomoga(X):-student(X).
 
Рис.1 – Виконання програми
Контрольні питання:
- Які розділи програми на мові Turbo Prolog ви знаєте? 
В мові Turbo Prolog існують такі розділи:
domains
<структури і типи даних>
[global domains]
<зовнішні структури і типи даних>
[data base]
<глобальні предикати динамічної бази даних>
predicates
<визначення предикатів>
[global predicates]
<зовнішні предикати>
clauses
<факти і правила>
[goal]
<цілі>
- Як записуються константи та змінні на мові Turbo Prolog? 
Константи записуються з маленької букви або в лапках, а змінні з великої букви.
- Синтаксис фактів і правил на мові Turbo Prolog? 
Кожен факт і правило треба закінчувати крапкою. Правило складається з заголовка і правила. Допустимі наступні логічні операції: :- - означає if, , - означает and, ; - означает or.
	 
		
