Мои дипломная, курсовые и контрольные работы можно скачать со страницы "Учёба"

Контрольная работа по предмету Функциональное и логическое программирование

Контрольная разбита на страницы →
Пролог: вычисление факториала, члена ряда, скорости схождения
Пролог: вычисление степени, члена ряда, скорости схождения
Пролог: удаление чётных чисел и замена строчных букв
Лисп: вычисление факториала, члена ряда, скорости схождения
Лисп: вычисление степени, члена ряда, скорости схождения

Вообще от предмета сложилось впечатление, что вставлен он в программу обучения для того, чтобы будущие выпускники не изобретали велосипед и не пытались разрабатывать что-либо подобное.

В начало контрольной → Пролог: вычисление факториала, члена ряда, скорости схождения

Лисп: вычисление степени, члена ряда, скорости схождения

Написать функции на языке Лисп.
а) вычисление факториала
>>(FACT 4)
24

Вычисление факториала:

> (defun fact (n) 
              (if (= n 0) 1
              (* n (fact (- n 1)))))
FACT
> (fact 4)
24
> (fact 6)
720
> (fact 8)
40320

б) вычисление n - го члена ряда Формула со степенью для программы на лисп
>>(ROW 2, X)

(defun row (n)
           (/ 1 (expt n 2)))

> (row 4)
1/16

Если обязателен результат в виде десятичной дроби, то:

>(defun row (n) 
        (coerce(/ 1 (! (sk n)))`float ))
ROW
> (row 4)
0.0625
> (row 6)
0.027777778
> (row 8)
0.015625
>

(в) вычисление скорости схождения ряда Формула со степенью для программы на лисп
Точность Точность для программы на лисп
Количество шагов, за которые достигается точность
SPEED (0.01, N)

(defun speed (x)
      (do ((n 1) (zn 1))
      ((> x zn) n)
      (setq n (+ n 1))
      (setq zn (/ 1 (expt n 2)))))

SPEED
> (speed 0.01)
11
> (speed 0.028)
6
> (speed 0.026)
7
>

В начало контрольной → Пролог: вычисление факториала, члена ряда, скорости схождения