ПРОЛОГ дозволяє найбільш природним чином вирішувати логічні завдання, моделюючи процес роздуми людини за допомогою правил.
Багато логічні завдання пов'язані з розглядом кількох кінцевих множин з однаковою кількістю елементів, між якими встановлюється взаємно-однозначна відповідність. У пролозі ці безлічі можна описувати як бази даних, а залежності між об'єктами встановлювати за допомогою правил.
В автомобільних гонках три перших місця зайняли Альоша, Петя і Коля. Яке місце зайняв кожен з них, якщо Петя зайняв не друге і не третє місце, а Коля - не третє?
Традиційним способом завдання вирішується заповненням таблиці. За умовою завдання Петя зайняв не друге і не третє місце, а Коля - не третє. Це дозволяє поставити символ '-' у відповідних клітинах.
ряд (X, _, _, _, _, Y), write ( "Найвище -", X), nl,
write ( "Найнижче -", Y), nl.
Результат виконання програми
Найвища - ялина
Найнижче - клен
ЗАВДАННЯ ДЛЯ САМОСТІЙНОЇ РОБОТИ
1. Троє хлопців вийшли гуляти з собакою, кішкою і хом'яком. Відомо, що Петя не любить кішок і живе в одному під'їзді з господинею хом'ячка. Лена дружить з Танею, що гуляє з кішкою. Визначити, з якою твариною гуляв кожен з дітей.
2. Розмовляють троє друзів: Бєлокуров, Рижов і Чернов. Брюнет сказав Бєлокурова: «Цікаво, що один з нас блондин, інший - брюнет, а
третій - рудий, але ні в кого колір волосся не відповідає прізвища ». Який колір волосся у кожного з друзів?
3. Вітя, Юра, Міша і Діма сиділи на лавці. У якому порядку вони сиділи, якщо відомо, що Юра сидів праворуч від Діми, Міша праворуч від Віті, а Вітя праворуч від Юри.
4. Відомо, що Волга довше Амудар'ї, а Дніпро коротше Амудар'ї. Лена довша Волги. Визначити другу за довжиною ріку.
Звіт про виконану самостійної роботи повинен містити:
1) тему лабораторної роботи;
2) умову задачі;
3) рішення задачі традиційним способом (за допомогою таблиці);
4) лістинг програми;
5) результати її тестування з різними вихідними даними.
Список - це об'єкт, який містить кінцеве число інших об'єктів. Список в пролозі полягає в квадратні дужки і елементи списку розділяються комами. Список, який не містить жодного елемента, називається порожньою списком.
Список є рекурсивним об'єктом. Він складається з голови (першого елемента списку) і хвоста (всі наступні елементи). Хвіст також є списком. У пролозі є операція "|", яка дозволяє ділити список на голову і хвіст. Порожній список можна розділити на голову і хвіст.
Тип даних "список" оголошується в програмі на Пролозі наступним чином:
де "тип" - тип елементів списку; це може бути як стандартний тип, так і нестандартний, заданий користувачем і оголошений в розділі DOMAINS раніше.
Основними операціями на списками є:
- пошук елемента в списку;
- вставка елемента в список і видалення зі списку.
Сформувати список виду [7,6,5,4,3,2,1]
Результат виконання програми:
ЗАВДАННЯ ДЛЯ САМОСТІЙНОЇ РОБОТИ
1. Сформувати список [2, 4, 6, 8, 10] і видалити з нього введене число.
2. Сформувати списки [1, 3, 5, 7, 9] і [2, 4, 6, 8, 10] і об'єднати їх в один.
3. Сформувати список [3, 6, 9, 12, 15, 18] і вставити в нього введене число.
4. Сформувати список з N натуральних чисел, починаючи з 10. Кожне наступне на 5 більше попереднього.
5. Сформувати список [3, 6, 9, 12, 15] і знайти суму його елементів
6. Сформувати список [6, 5, 4, 3, 2] і знайти суму його елементів
7. Сформувати список [7, 5, 3, 1] і знайти твір його елементів
8. Сформувати список з N послідовних натуральних чисел, починаючи з 10. Знайти суму його елементів
Звіт про виконану самостійної роботи повинен містити:
1) тему лабораторної роботи;
2) умову задачі;
3) лістинг програми;
4) результати її тестування.