Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet_LISP_Prolog.docx
Скачиваний:
16
Добавлен:
12.04.2015
Размер:
4.54 Mб
Скачать
    1. Реализация на языке Prolog

      1. Функция ygolki

7.2.1.1 Спецификация

Функция должна находить верхние и нижние «уголки», соединять их соответственно рисунку и формировать конечный последовательный список чисел.

7.2.1.2 Структура входных данных

Структурой входных данных в данной функции является список (списков чисел). Примеры записи на языке prolog приведены на рисунке 7.78

[[1]]

[[1, 2],[3, 4]]

[[1, 2, 3],[4, 5, 6],[7, 8, 9]]

Рисунок 7.78

7.2.1.3 Структура выходных данных

Структурой выходных данных в данной функции является список (чисел). Примеры записи на языке prolog приведены на рисунке 7.79.

[1]

[1, 2, 3, 4]

Рисунок 7.79

7.2.1.4 Функциональные тесты

Функциональные тесты для функции ygolki приведены в таблице 7.26.

Таблица 7.26

Проверяемая ситуация

Вызов функции со входным значением

Предполагаемый результат

Пустой список

Ygolki([],Rez)

[]

Список списков чисел

ygolki ([1],Rez)

ygolki ([[2, 1],[4, 3]],Rez)

ygolki ([[7, 1, 3],[4, 6, 2],[9, 3, 8 8]],Rez)

[1]

[1, 2, 3 4]

[1, 2, 3, 4, 5, 6, 7, 8, 9]

7.2.1.5 Словесное описание результата применения функции

Возвращается список чисел, расположенных в заданном порядке в матрице.

      1. Текст программы

Текст программы представлен на рисунке 7.80.

ygolki(T,Rez):-nizyg(T,D),

verhyg(T,U),

opp(U,D,UD),

fpol(UD,POl1),

npoll(UD,POL2),

main(Pol1,Pol2,PodREZ),

app(PodREZ,Rez).

Рисунок 7.80

      1. Функция app

7.2.2.1 Спецификация

Функция должна формировать из списка списков чисел единый список.

        1. Структура входных данных

Структурой входных данных в данной функции является список. Примеры записи на языке prolog приведены на рисунке 7.81.

[[3],[4],[2],[1]]

[[7],[9],[6],[8 4],[1 5],[3], [],[ 2]]

Рисунок 7.81

        1. Структура выходных данных

Структурой выходных данных в данной функции является список (чисел). Примеры записи на языке prolog приведены на рисунке 7.82.

[3, 4, 2, 1]

[7, 9, 6, 8, 4, 1, 5, 3, 2]

Рисунок 7.82

        1. Функциональные тесты

Функциональные тесты для функции app приведены в таблице 7.27.

Таблица 7.27

Проверяемая ситуация

Вызов функции со входным значением

Предполагаемый результат

Пустой список

app([],Rez)

[]

Список списков чисел

app ([1],Rez)

app ([[3], [4],[2],[1]])

app ([[7], [9], [6], [8 4], [1 5], [3], []. 2]])

[1]

[3, 4, 2, 1]

[7, 9, 6, 8, 4, 1, 5, 3, 2]

        1. Словесное описание результата применения функции

Из списка списков убираются все скобки и лишний элемент [], оставшийся после удаления скобок от последнего списка, и в итоге формируется единый список чисел.

        1. Текст программы

Текст программы представлен на рисунке 7.83.

app([H|T],Rez):-app(T,RezT),

opp(H,RezT,Rez).

app([],[]).

Рисунок 7.83

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]