І уровень
Составить программу, которая позволяет в списке целых чисел:
· отыскать минимальный элемент;
· найти максимальный элемент;
· найти количество нулевых элементов;
· подсчитать количество положительных элементов;
· упорядочить элементы списка в порядке возрастания.
Записать программу в файл "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".
Требования к защите лабораторной работы
Отчет о выполненной работе должен содержать название темы; текст программы, тестовые запросы на языке Пролог и ответы компилятора для заданий І-го уровня; текст правил, которые описывают процедуру ІІ-го уровня. Для правил, которые используют процедуры работы со списками, уметь описывать правила и указанные процедуры на естественном языке.