Практическая часть. Составить программу, которая позволяет в списке целых чисел:

І уровень

 

Составить программу, которая позволяет в списке целых чисел:

· отыскать минимальный элемент;

· найти максимальный элемент;

· найти количество нулевых элементов;

· подсчитать количество положительных элементов;

· упорядочить элементы списка в порядке возрастания.

Записать программу в файл "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".

Требования к защите лабораторной работы

Отчет о выполненной работе должен содержать название темы; текст программы, тестовые запросы на языке Пролог и ответы компилятора для заданий І-го уровня; текст правил, которые описывают процедуру ІІ-го уровня. Для правил, которые используют процедуры работы со списками, уметь описывать правила и указанные процедуры на естественном языке.