Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная №4 Вариант №21

.doc
Скачиваний:
7
Добавлен:
20.06.2014
Размер:
101.89 Кб
Скачать

2

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ

Лабораторная работа №4

по дисциплине

«Рекурсивно-логическое программирование»

на тему:

«Создание рекурсивных правил. Числовые последовательности»

Студент

подпись, дата

фамилия, инициалы

Группа

Принял

Гаев Л.В.

ученая степень, звание

подпись, дата

фамилия, инициалы

Липецк 2010

  1. Задание

21) В ряду чисел, для элементов с порядковыми номерами с n по m включительно, найти f(n,m) - среднее арифметическое

2.0, -1.4, 2.8, -2.2, 3.6, -3.0, 4.4, -3.8, 5.2, ...

  1. Листинг программы

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).

  1. Контрольный пример

  1. Выводы о проделанной работе

При выполнении данной лабораторной работы я получил навыки программирования в Prolog-системе Arity-Prolog. Научился создавать предикаты и использовать рекурсивные правила, а также производить операции с числовыми последовательностями и вычисление средних значений последовательности.

  1. Список использованной литературы

1. Иван Братко. Алгоритмы искусственного интеллекта на языке PROLOG = Prolog Programming For Artificial Intelligence. — М.: «Вильямс», 2004. — 640 с.