Контрольная работа: Программа выбора оптимального (наикратчайшего) маршрута перемещения в лабиринте
Введите название начальной клетки = d1
Введите название конечной клетки = b6
Сколько обязательных клеток Вы хотите ввести: 2
Введите обязательную клетку: g1
Введите последнюю обязательную клетку: e5
Оптимальный маршрут:
d1 – d2 – e2 – f2 – g2 – g1 – h1 – h2 – h3 – h4 – g4 – g5 – f5 – e5 – d5 – d6 – c6 – b6
Количество шагов: 18
yes
5. Текст программы
DOMAINS
/* ОПИСАНИЕ ТИПОВ ДАННЫХ */
список_симв= symbol*
список_цел= integer*
PREDICATES
/* ОПИСАНИЕ ПРЕДИКАТОВ */
nondeterm линия (symbol, список_симв)
nondeterm мин_1 (real, список_цел)
nondeterm мин (real, список_цел)
nondeterm принадлежит (symbol, список_симв)
nondeterm посл (symbol, symbol, список_симв)
nondeterm соседние (symbol, symbol, symbol)
nondeterm переход (symbol, symbol, symbol)
nondeterm маршрут (symbol, symbol, список_симв, integer, symbol, список_симв, список_симв, integer)
nondeterm ввод_обяз (список_симв, integer)
nondeterm ввод_кол_обяз(integer)
nondeterm ввод_назв_обяз (integer, список_симв, список_симв)
nondeterm write_маршрут (список_симв, symbol)
nondeterm run