Лабораторная №4 Вариант №21
.doc
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ
Лабораторная работа №4
по дисциплине
«Рекурсивно-логическое программирование»
на тему:
«Создание рекурсивных правил. Числовые последовательности»
|
Студент |
|
|
|
|
|
||||||||
|
|
|
подпись, дата |
|
фамилия, инициалы |
|
||||||||
|
Группа |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
||||||||
|
Принял |
|
|
|
|
|
||||||||
|
|
|
|
|
Гаев Л.В. |
|
||||||||
|
ученая степень, звание |
|
подпись, дата |
|
фамилия, инициалы |
|
Липецк 2010
-
Задание
21) В ряду чисел, для элементов с порядковыми номерами с n по m включительно, найти f(n,m) - среднее арифметическое
2.0, -1.4, 2.8, -2.2, 3.6, -3.0, 4.4, -3.8, 5.2, ...
-
Листинг программы
chet(1,1).
chet(2,2).
chet(C,X):-C>2,C1 is C-2,chet(C1,X).
chet(C,X):-C<1,C1 is C+2,chet(C1,X).
posled(1,2.0).
posled(2,-1.4).
posled(3,2.8).
posled(N,X):-
N>3,N1 is N-2,chet(N,Z),
posled(N1,X1),
((Z=1,X is X1+0.8);(Z=2,X is X1-0.8)).
genlist(N,N,[R]):-posled(N,R).
genlist(N,M,[H|T]):-
N=\=M,
posled(M,H),
M1 is M-1,
genlist(N,M1,T).
sm([],0).
sm([H|T],F):-sm(T,F1),F is F1+H.
summ(N,M,R):-genlist(N,M,List),sm(List,R).
-
Контрольный пример
-
Выводы о проделанной работе
При выполнении данной лабораторной работы я получил навыки программирования в Prolog-системе Arity-Prolog. Научился создавать предикаты и использовать рекурсивные правила, а также производить операции с числовыми последовательностями и вычисление средних значений последовательности.
-
Список использованной литературы