МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
МІНІСТЕРСТВО ОСВІТИ
Державні освітні установи
ВИЩОЇ ОСВІТИ
Новосибірський державний технічний університет
Кафедра
обчислювальної техніки
ПОЯСНЮВАЛЬНА ЗАПИСКА
до курсового проекту З ДИСЦИПЛІНИ
"Функціональне та логічне програмування"
Тема:
Розробка програми з використанням мови логічного програмування Prolog
Студент:
Гайфулін І. Р.
Викладач:
Новицька Ю. В.
Новосибірськ 2011
Завдання
Розробити програму для пошуку шляху в лабіринті.
Передбачити можливість завдання входу і виходу, наочне уявлення знайдених рішень.
Призначення програмного продукту
Даний програмний продукт призначений для виконання розважальної функції (демонстрація різних варіантів руху по лабіринту).
Опис даних
DOMAINS
file = fop
Даний домен призначений для оперування файлами.
line = integer *
Даний домен призначений для оперування списком чисел.
matrix = line *
Даний домен призначений для оперування матрицею чисел.
PREDICATES (integer, line, line)
Даний предикат призначений для отримання списку чисел з файлу (рядки чисел).
getlines (integer, integer, matrix, matrix)
Даний предикат призначений для отримання матриці чисел (лабіринту) з файлу.
getmatrix (integer, matrix)
Даний предикат призначений для отримання лабіринту з файлу, це обгортка для вищеописаних функцій.
reverse (line, line, line)
Даний предикат призначено реверсії списку.
reverselines (integer, matrix, matrix, matrix)
Даний предикат призначено реверсії матриці.
getelemfromline (line, integer, integer)
Даний предикат призначений для отримання елемента, що стоїть на певній позиції, зі списку чисел.
getelem (matrix, integer, integer, integer)
Даний предикат призначено елемента з матриці чисел.
markelemfromline (integer, line, integer, line)
Даний предикат призначений для зміни елемента в списку.
ma...