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

        1. Спецификация

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

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

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

((16) (15 12) (11 8) (7 4) (3)) ((10)(12 13)(14))

Рисунок 7.8

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

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

((13) (16) (12 15) (14 9) (5 10) (11 8) (4 7) (6 1) (2) (3))

Рисунок 7.9

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

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

Таблица 7.3

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

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

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

Пустой первый список

(evropa ‘() ‘(1 2 3))

()

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

(evropa ‘(((1) (3) (5))’( (2) (4)))

((1) (2) (3) (4)(5))

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

Списки в двух списках поочередно соединяются, начиная с нечетных элементов.

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

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

(defun evropa(lst1 lst2)

(cond

((null lst2)lst1)

(t(cons(car lst1)(cons(car lst2)(evropa(cdr lst1)(cdr lst2)))))))

Рисунок 7.11

      1. Функция opa

        1. Спецификация

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

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

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

((16) (15 12) (11 8) (7 4) (3))

Рисунок 7.13

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

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

((13) (16) (12 15) (14 9) (5 10) (11 8) (4 7) (6 1) (2) (3))

Рисунок 7.14

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

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

Таблица 7.4

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

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

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

Пустой первый список

(opa ‘() ‘(1 2 3))

(1 2 3)

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

opa ‘((1) (3) (5) (2) (4))

((1) (2) (3) (4)(5))

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

Списки в двух списках поочередно соединяются, начиная с нечетных элементов.

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

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

(defun opa(lst)

(evropa (get1half lst) (get2half lst)))

Рисунок 7.15

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