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

7.2.15 Функция dl

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

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

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

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

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

[1, 2, 3, 4, 5]

Рисунок 7.119

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

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

[[1, 7, 9],[3, 4],[1]]

[1, 2, 3,4, 5]

Рисунок 7.120

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

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

Таблица 7.40

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

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

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

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

dl([])

[]

Список списков

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

[[7, 1, 5],[4, 6, 2]]

Один список

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

[1, 2, 3]

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

Функция должна удалять последний элемент.

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

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

dl([H|T], RLST):- dl(T, RLSTT),RLST = [H|RLSTT].

dl([X],[]).

Рисунок 7.121

7.2.16 Функция revers

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

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

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

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

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

[1, 2, 3, 4, 5]

Рисунок 7.22

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

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

[[1, 7, 9],[3. 4],[1]]

[1, 2, 3, 4, 5]

Рисунок 7.123

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

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

Таблица 7.41

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

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

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

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

revers ([],Rez)

[]

Список списков

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

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

Один список

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

[4, 3, 2, 1]

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

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

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

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

revers(T,[H|Rez]):-getlast(T,H),

dl(T,AR),

revers(AR,Rez).

revers([],[]).

Рисунок 7.124

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