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

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

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

Функция должна решать уравнение:

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

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

const

Рисунок 4.1

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

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

47.0854

Рисунок 4.2

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

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

Таблица 4.1

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

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

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

const

summa()

47.0854

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

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

Рисунок 4.3

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

Вещественное число.

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

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

(DEFUN summa()

(+ (CAR (iter 1.2 0.5 20)) (plus (CDR (iter 1.2 0.5 20)))))

(DEFUN plus(lst)

(COND

((NULL lst) 0)

(T (+ (CAR lst) (plus (CDR lst))))))

(DEFUN iter(xi dx n)

(COND

((= n 0) nil)

(T (CONS (expt xi 0.5) (iter (+ xi dx) dx (- n 1))))))

Рисунок 4.4

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

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

Функция должна решать уравнение:

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

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

const

Рисунок 4.5

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

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

47.0854

Рисунок 4.6

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

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

Таблица 4.2

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

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

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

const

sum_sq_20(X).

47.0854

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

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

Рисунок 4.7

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

Вещественное число.

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

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

predicates

sum_sq_20(real)

sum(integer,real,real)

clauses

sum_sq_20(X):-sum(1,1.2,X).

sum(I,Xi,S):-I<20,

Xin=Xi+0.5,

In=I+1,

Sum(In,Xin,Y),

S=sqrt(Xi)+Y.

sum(20,Xi,S):-S=sqrt(Xi).

goal

sum_sq_20(X).

Рисунок 4.8

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