Практическая часть. Составить программу, которая позволяет в списке целых чисел:
І уровень
Составить программу, которая позволяет в списке целых чисел:
· отыскать минимальный элемент;
· найти максимальный элемент;
· найти количество нулевых элементов;
· подсчитать количество положительных элементов;
· упорядочить элементы списка в порядке возрастания.
Записать программу в файл "LNN4_1.pro", где NN – номер варианта пользователя. Сформулировать запросы и протестировать программу.
ІІ уровень
Имеется информация про участки дорог определенного региона, соединяющие города между собой. Эта информация задана в виде таблицы:
| № участка | Города, которые соединяет участок | Расстояние между городами | |
| 1-й город | 2-й город | ||
| Бердичев | Чуднов | ||
| Бердичев | Житомир | ||
| Житомир | Чуднов | ||
| Житомир | Красноармейск | ||
| Житомир | Черняхов | ||
| Житомир | Коростышев | ||
| Коростышев | Черняхов | ||
| Коростышев | Кочерiв | ||
| Кочерев | Радомышль | ||
| Красноармейск | Новоград | ||
| Красноармейск | Черняхов | ||
| Черняхов | Коростень | ||
| Черняхов | Потеевка | ||
| Радомышль | Потеевка | ||
| Радомышль | Малин | ||
| Потеевка | Малин |
Составить программу, которая содержит факты "участок/4" на основе приведенных данных. Используя стандартный предикат findall/3, и подключив директивой include текст программы І-го уровня, обеспечить выполнение процедуры, указанной в варианте.
Программу сохранить в файле (имя файла указано в варианте).
Протестировать программу.
1, 2 варианты. Процедура: определить номер самого короткого участка.
Файл: "LNN4_21.pro".
3, 4 варианты. Процедура: найти города, которые связаны участком наибольшей длины.
Файл: "LNN4_23.pro".
5, 6 варианты. Процедура: найти номера участков, которые имеют длину, меньшую, чем среднее арифметическое длины всех участков.
Файл: "LNN4_25.pro".
7–9 варианты. Процедура: Для каждого из тех участков, длины которых превышают среднее арифметическое длины всех участков, найти название второго города из пары городов.
Файл: "LNN4_27.pro".
Требования к защите лабораторной работы
Отчет о выполненной работе должен содержать название темы; текст программы, тестовые запросы на языке Пролог и ответы компилятора для заданий І-го уровня; текст правил, которые описывают процедуру ІІ-го уровня. Для правил, которые используют процедуры работы со списками, уметь описывать правила и указанные процедуры на естественном языке.