Мои дипломная, курсовые и контрольные работы можно скачать со страницы "Учёба"
Контрольная разбита на страницы →
→ Пролог: вычисление факториала, члена ряда, скорости схождения
→ Пролог: вычисление степени, члена ряда, скорости схождения
→ Пролог: удаление чётных чисел и замена строчных букв
→ Лисп: вычисление факториала, члена ряда, скорости схождения
→ Лисп: вычисление степени, члена ряда, скорости схождения
Эта контрольная запомнилась больше всего, как самая загадочная. Главная загадочность в ней язык программирования Пролог. В своё время этот язык задумывался для сближения машинного языка с человеческой логикой.
Но то, что получилось в результате, оказалось довольно сложным для понимания именно людьми. В листинге программ на прологе нет привычной последовательности операций или циклов, в программах только условия... → Далее → Пролог: вычисление степени, члена ряда, скорости схождения
Задание. Написать предикаты на языке Пролог.
а) вычисление факториала.
fact(3,X)
Х=6
Программа вычисления простого факториала по восходящей стратегии рекурсии:
predicates fact(integer,integer) f(integer,integer,integer,integer) clauses fact(N,F):-f(N,F,1,1). f(N,F,N,F):-!. f(N,F,N1,F1):-N11=N1+1, F11=F1*N11, f(N,F,N11,F11). Dialog Goal: fact(3,X) X=6
Программа вычисления факториала из формулы: (2k-1)!
predicates f(integer,real,integer,real) fact(integer,real) clauses fact(N,F):-f(N,F,1,1). f(N,F,Z,F):-Z=2*N-1,!. f(N,F,N1,F1):-N11=N1+1, F11=F1*N11, f(N,F,N11,F11). Dialog Goal: fact(3,X) X=120
б) вычисление n-ого члена ряда
ряд (2, Х)
predicates f(integer,real,integer,real) fun(integer,real) clauses fun(N,X):-f(N,F,1,1), X=1/F. f(N,F,Z,F):-Z=2*N-1,!. f(N,F,N1,F1):-N11=N1+1, F11=F1*N11, f(N,F,N11,F11). Dialog Goal: fun(2,X) X=0,16666666667
в) вычисление скорости схождения ряда
точность
Количество шагов, за которые достигается точность
Скорость (0.01, N)
predicates f(integer,real,integer,real,real) skor(real,integer) clauses skor(T,N):-f(N,_,1,1,T). f(N,F,X,F,T):-N=(X+1)/2, T>1/F,!. f(N,F,N1,F1,T):-N11=N1+1, F11=F1*N11, f(N,F,N11,F11,T). Dialog Goal: Skor(0.00001,H) H=5 1 Solution Goal: Skor(0.01,H) H=3 1 Solution
Далее → Пролог: вычисление степени, члена ряда, скорости схождения