- •3 Лабораторная работа №2 (программирование разветвлённых алгоритмов) 12
- •4 Лабораторная работа №3 (программирование простых циклических алгоритмов) 16
- •7 Решение индивидуального задания 28
- •Постановка задачи
- •Лабораторная работа №1 (программирование линейных алгоритмов)
- •Реализация на языке lisp
- •Реализация на языке Prolog
- •Лабораторная работа №2 (программирование разветвлённых алгоритмов)
- •Реализация на языке lisp
- •Реализация на языке Prolog
- •Лабораторная работа №3 (программирование простых циклических алгоритмов)
- •Реализация на языке lisp
- •Реализация на языке Prolog
- •Лабораторная работа №4 (программирование с использованием одномерных массивов)
- •Реализация на языке lisp
- •Реализация на языке Prolog
- •Лабораторная работа №5 (программирование с использованием многомерных массивов)
- •Реализация на языке lisp
- •Реализация на языке Prolog
- •Решение индивидуального задания
- •Реализация на языке lisp
- •Функция podspvsp
- •Функция evropa
- •Функция opa
- •7.1.5 Функция v1spisok
- •7.1.6 Функция get1
- •7.1.7 Функция get22
- •7.1.8 Функция getpolug
- •7.1.9 Функция 1polniz
- •7.1.10 Функция 2polniz
- •7.1.11 Функция 2polverh
- •7.1.12 Функция 1polverh
- •7.1.13 Функция getdiag
- •7.1.14 Функция getdown
- •7.1.15 Функция getup
- •Функция 1hlpod
- •Функция 2hlpod
- •7.1.18 Функция revpod
- •7.1.19 Функция deletefirst
- •7.1.20 Функция get1half
- •7.1.21 Функция get2half
- •7.1.22 Функция neto
- •7.1.23 Функция dl
- •7.1.24 Функция revers
- •7.1.25 Функция gl
- •7.1.26 Полный текст программы
- •Реализация на языке Prolog
- •Функция ygolki
- •Функция app
- •Функция main
- •7.2.4 Функция opp
- •7.2.5 Функция verhyg
- •7.2.6 Функция nizyg
- •7.2.7 Функция diag
- •Функция fpolpodsp
- •Функция npolpodsp
- •7.2.10 Функция reveverspodsp
- •7.2.11 Функция delall
- •7.2.12 Функция fpol
- •7.2.13 Функция npoll
- •7.2.14 Функция npol
- •7.2.15 Функция dl
- •7.2.16 Функция revers
- •7.2.17 Функция getlalst
- •7.2.18 Полный текст программы
-
Лабораторная работа №1 (программирование линейных алгоритмов)
-
Реализация на языке lisp
-
Спецификация
-
-
Функция должна получать на вход три действительных числа и считать a, b.
-
Структура входных данных
Структурой входных данных в данной функции является три действительных числа x, y, z. Примеры записи на языке LISP приведены на рисунке 2.1.
1,1,1 2,4,6 0.2,4.1,1.1 |
Рисунок 2.1
-
Структура выходных данных
Структурой выходных данных в данной функции является два действительных числа a, b. Примеры записи на языке LISP приведены на 2.2.
1.44444444, 2.423235823 4.114285714, 1.517306799 4.111855536, 3.2286242 |
Рисунок 2.2
-
Функциональные тесты
Функциональные тесты для функции 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 |
-
Графическое решение
Графическое решение представлено на рисунке 2.3.
Рисунок 2.3
-
Словесное описание результата применения функции
Действительные числа.
-
Текст программы
Текст программы представлен на рисунке 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
-
Реализация на языке Prolog
-
Спецификация
-
Функция должна получать на вход три действительных числа и считать a, b.
-
Структура входных данных
Структурой входных данных в данной функции является три действительных числа x, y, z. Примеры записи на языке Prolog приведены на рисунке 2.5.
1,1,1 2,4,6 0.2,4.1,1.1 |
Рисунок 2.5
-
Структура выходных данных
Структурой выходных данных в данной функции является два действительных числа a, b. Примеры записи на языке Prolog приведены на рисунке 2.6.
1.44444444, 2.423235823 4.114285714, 1.517306799 4.111855536, 3.2286242 |
Рисунок 2.6
-
Функциональные тесты
Функциональные тесты для функции 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 |
-
Графическое решение
Графическое решение представлено на рисунке 2.7.
Рисунок 2.7
-
Словесное описание результата применения функции
Действительные числа.
-
Текст программы
Текст программы представлен на рисунке 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