Рішення логічних задач в пролозі

ПРОЛОГ дозволяє найбільш природним чином вирішувати логічні завдання, моделюючи процес роздуми людини за допомогою правил.

Багато логічні завдання пов'язані з розглядом кількох кінцевих множин з однаковою кількістю елементів, між якими встановлюється взаємно-однозначна відповідність. У пролозі ці безлічі можна описувати як бази даних, а залежності між об'єктами встановлювати за допомогою правил.

В автомобільних гонках три перших місця зайняли Альоша, Петя і Коля. Яке місце зайняв кожен з них, якщо Петя зайняв не друге і не третє місце, а Коля - не третє?

Традиційним способом завдання вирішується заповненням таблиці. За умовою завдання Петя зайняв не друге і не третє місце, а Коля - не третє. Це дозволяє поставити символ '-' у відповідних клітинах.

ряд (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) результати її тестування.

Схожі статті