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

    1. Реализация на языке lisp

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

Функция должна получать на вход три действительных числа и считать a, b.

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

Структурой входных данных в данной функции является три действительных числа x, y, z. Примеры записи на языке LISP приведены на рисунке 2.1.

1,1,1

2,4,6

0.2,4.1,1.1

Рисунок 2.1

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

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

1.44444444, 2.423235823

4.114285714, 1.517306799

4.111855536, 3.2286242

Рисунок 2.2

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

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

Таблица 2.1

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

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

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

Отрицательное число

(formula -0.2 ,-4.1, -1.1)

-4.111855536, 3.2286242

Дробное число

(formula 0.2, 4.1, 1.1)

4.111855536, 3.2286242

Целое число

(formula 2, 4, 6)

4.114285714, 1.517306799

      1. Графическое решение

Графическое решение представлено на рисунке 2.3.

Рисунок 2.3

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

Действительные числа.

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

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

(DEFUN mx(a1 b1 c1 a2 b2 c2)

(/(-(*c1 b2)(*c2 b1))(-(*a1 b2)(*a2 b1))))

(DEFUN my (a1 b1 c1 a2 b2 c2)

(/(-(*a1 c2) (*a2 c1))(-(*a1 b2)(*a2 b1))))

Рисунок 2.4

    1. Реализация на языке Prolog

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

Функция должна получать на вход три действительных числа и считать a, b.

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

Структурой входных данных в данной функции является три действительных числа x, y, z. Примеры записи на языке Prolog приведены на рисунке 2.5.

1,1,1

2,4,6

0.2,4.1,1.1

Рисунок 2.5

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

Структурой выходных данных в данной функции является два действительных числа a, b. Примеры записи на языке Prolog приведены на рисунке 2.6.

1.44444444, 2.423235823

4.114285714, 1.517306799

4.111855536, 3.2286242

Рисунок 2.6

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

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

Таблица 2.2

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

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

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

Отрицательное число

formula (-0.2 ,-4.1, -1.1)

-4.111855536, 3.2286242

Дробное число

formula (0.2, 4.1, 1.1)

4.111855536, 3.2286242

Целое число

formula (2, 4, 6)

4.114285714, 1.517306799

      1. Графическое решение

Графическое решение представлено на рисунке 2.7.

Рисунок 2.7

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

Действительные числа.

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

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

predicates

formula(real,real,real,real,real)

clauses

formula (X,Y,Z,A,B):-

A=(Y+(X/(Y*Y+abs(X*X/Y+X/4)))),

B=exp(0.4*(1+tan(Z)*tan(Z)/2)).

goal

formula(1,1,1,A,B)

Рисунок 2.8

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