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

7.1.14 Функция getdown

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

Функция должна получать диагонали ниже главной и включая главную диагональ.

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

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

((3 4) (2 1))

Рисунок 7.40

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

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

((1 7 9)(3 4)(1))

Рисунок 7.41

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

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

Таблица 7.14

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

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

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

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

(getdown‘())

nil

матрица

(getdown‘((7 1 5) (4 6 2) (9 3 8)))

((7 6 8)(4 3)(9))

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

Функция должна получать главную диагональ и все диагонали ниже ее.

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

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

(defun getdown (lst)

(cond

((null lst)nil)

(t (cons (getdiag lst)(getdown(cdr lst))))))

Рисунок 7.42

7.1.15 Функция getup

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

Функция должна получать диагонали выше главной и не включая главную диагональ.

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

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

((3 4) (2 1))

Рисунок 7.43

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

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

((1 7 9)(3 4)(1))

Рисунок 7.44

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

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

Таблица 7.15

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

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

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

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

(getup‘())

nil

матрица

(getup‘((7 1 5) (4 6 2) (9 3 8)))

((1 3)(5))

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

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

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

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

(defun getup(lst)

(cond

((null lst)nil)

((null(cdr(car lst)))nil)

(t(cons (getdiag(deletefirst lst))(getup(deletefirst lst))))))

Рисунок 7.45

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