Контрольная работа: Программа выбора оптимального (наикратчайшего) маршрута перемещения в лабиринте

ввод_назв_обяз (0, [], []): – !.

ввод_назв_обяз (1, Обязательные, ВведенныеОбяз):-

write («Введите последнюю обязательную клетку:»),

readln(Клетка),

not (принадлежит (Клетка, ВведенныеОбяз)),

Обязательные=[Клетка],!.

ввод_назв_обяз (КолОбяз, Обязательные, ВведенныеОбяз):-

КолОбяз>1,

write («Введите обязательную клетку:»),

readln(Клетка),

not (принадлежит (Клетка, ВведенныеОбяз)),

КолОбяз2=КолОбяз-1,

ввод_назв_обяз (КолОбяз2, Обязательные2, [Клетка|ВведенныеОбяз]),

Обязательные=[Клетка|Обязательные2],!;

write («Клетка с таким названием уже была введена»),

nl,

ввод_назв_обяз (КолОбяз, Обязательные, ВведенныеОбяз).

ввод_кол_обяз(КолОбяз):-

write («Сколько обязательных клеток Вы хотите ввести:»),

readln(Строка),

str_int (Строка, КолОбяз),!;

write («Необходимо ввести целое число. Пожалуйста, повторите ввод.»),

nl,

ввод_кол_обяз(КолОбяз).

ввод_обяз (Обязательные, КолОбяз): – ввод_кол_обяз(КолОбяз), ввод_назв_обяз (КолОбяз, Обязательные, []).

/* ЗАПУСК ПРОГРАММЫ */

run: – write («Выбор маршрута передвижения в лабиринте с посещением обязательных клеток»), nl,

write («Схему лабиринта можно найти в приложении пояснительной записки»), nl,

write («Введите название начальной клетки =»), readln(КлНачал),

К-во Просмотров: 211
Бесплатно скачать Контрольная работа: Программа выбора оптимального (наикратчайшего) маршрута перемещения в лабиринте