Контрольная работа: Программа выбора оптимального (наикратчайшего) маршрута перемещения в лабиринте
ввод_обяз (Обязательные, КолОбяз),
findall (ВесМаршрута, маршрут (КлНачал, КлКонеч,_, ВесМаршрута,_, [КлНачал], Обязательные, КолОбяз), СписокВесМаршрута),
мин (ВесМаршрута, СписокВесМаршрута),
маршрут (КлНачал, КлКонеч, Маршрут, ВесМаршрута,_, [КлНачал], Обязательные, КолОбяз),
write («Оптимальный маршрут:»), nl,
write_маршрут (Маршрут,_), nl,
КолСт=round(ВесМаршрута),
write («Количество шагов:», КолСт), nl.
GOAL
run.
Приложение
Схема использованного в программе лабиринта
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
A | X | X | |||||
B | X | ||||||
C | X | X | X | X | |||
D | X | ||||||
E | X | X | |||||
F | X | X | X | X | X | ||
G | |||||||
H | X |