Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
05.06.2015
Размер:
57.86 Кб
Скачать

Міністерство освіти і науки, молоді і спорту України

Кіровоградський національний технічний університет

Механіко-технологічний факультет

Кафедра програмного забезпечення

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

Лабораторна робота № 1

Тема: «Елементарні програми на мові програмування Turbo Prolog»

Виконав: ст. групи КІ-08-2

Салтан В.С.

Перевірила: викладач

Савеленко О. К.

Кіровоград 2011

Мета: Розглянути структуру елементарних програм на мові програмування Turbo Prolog та оволодіти основними навичками роботи в середовищі Turbo Prolog.

Завдання:

  1. У вікні редагування набрати програму:

domains

s=symbol

predicates /*описання предикатів*/

algorithm(s)

proced(s)

clauses /*факти і правила*/

algorithm(“C”). /*С-алгоритмічна мова*/

algorithm(“Pascal”). /* Pascal -алгоритмічна мова*/

proced(X):-algorithm(X). /*якщо мова алгоритмічна, то вона є мовою процедурного типу*/

  1. Командою Run головного меню запускаємо програму на виконання. Курсор у вікні діалогу вказує на успішне її виконання.

  2. У вікні діалогу, обдумуючи відповіді, послідовно набираємо запитання:

    1. algorithm(“C”). /*Чи алгоритмічна мова С?*/

    2. algorithm(Х). /*Які є алгоритмічні мови?*/

    3. proced(“Pascal”). /*Чи процедурного типу мова Pascal?*/

    4. proced(Х). /*Які відомі мови процедурного типу?*/

    5. proced(”Prolog”). /*Чи є Prolog мовою процедурного типу?*/

  3. Запускаємо власну програму, що містить факти:

Я (ваше прізвище) – студент (наприклад, student („Іванов”).);

Ваш одногрупник (прізвище) – студент;

І правило:

Якщо людина – студент, то вона має право на фінансову підтримку держави (предикат, що описує право, може бути любим поєднанням рядкових латинських літер).

  1. Задати запитання типу:

    1. Ви (прізвище) – студент?

    2. Які прізвища студентів?

    3. Чи маєте ви (прізвище) право на підтримку держави?

    4. Чи має право на фінансову підтримку держави Джорж Буш?

Лістинг програми:

domains

s=symbol

predicates

student(s)

dopomoga(s)

clauses

student("Saltan").

student("Litvinenko").

dopomoga(X):-student(X).

Рис.1 – Виконання програми

Контрольні питання:

  1. Які розділи програми на мові Turbo Prolog ви знаєте?

В мові Turbo Prolog існують такі розділи:

domains

<структури і типи даних>

[global domains]

<зовнішні структури і типи даних>

[data base]

<глобальні предикати динамічної бази даних>

predicates

<визначення предикатів>

[global predicates]

<зовнішні предикати>

clauses

<факти і правила>

[goal]

<цілі>

  1. Як записуються константи та змінні на мові Turbo Prolog?

Константи записуються з маленької букви або в лапках, а змінні з великої букви.

  1. Синтаксис фактів і правил на мові Turbo Prolog?

Кожен факт і правило треба закінчувати крапкою. Правило складається з заголовка і правила. Допустимі наступні логічні операції: :- - означає if, , - означает and, ; - означает or.

3

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