Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Используя рекурсивные вызовы пользовательских функций.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)

____________________________________________

 

Факультет №3:

"Системы управления, информатика и электроэнергетика"

Кафедра 304: "Вычислительные машины, системы и сети"

 

Пояснительная записка

к курсовой работе

по дисциплине: "Функциональное и логическое программирование".

Вариант № 23

 

 

Доцент каф.304, к.т.н. Новиков П.В.

____________

 

Студент: Филимошин С.В.

группа: 03-219

____________

 

Москва, 2012

 

Тема №1: "Знакомство с префиксной нотацией и примитивами ЛИСПа"

1) Представить в старой и новой префиксной нотации заданное алгебраическое выражение:

 

Старая префиксная нотация:

(plus

( quotier

(times a b c)

(quotier m n k) )

( quotier

(plus exp (expt a b) (expt c d))

(sqrt (diff (sin x) (cos y) (ln z))) )

)

Новая префиксная нотация:

(+

( /

(* a b c)

(/ m n k) )

( /

(+ (exp x) (expt a b) (expt c d))

(sqrt (- (sin x) (cos y) (ln z))) )

)

2) Представить выражение на ЛИСПе в новой нотации и математической форме. Задав значения переменных, вычислить выражение:

(difference (quotient (sqrt (plus (sin x) (cos x))) (sub1 y)) (times (add1 x) (log z))).

Новая нотация:

(- (/ (sqrt (+ (sin x) (cos x))) (1- y)) (* (1+ x) (log z)))

Математическая форма:

Вычисление выражения:

>(- (/ (sqrt (+ (sin 1) (cos 1))) (1- 2)) (* (1+ 1) (log 100)))

Значения переменных:

x=1,y=2,z=100

Результат:

-8.034852

3) Задан список N: (setq N ‘((gk ij kl) (ab cd ef))).

а) Сформировать с помощью комбинаций встроенных функций CAR и CDR языка ЛИСП запрос к списку N, возвращающий элемент ij.

> (cadar N)

IJ

б) Определить значения следующих S-выражений:

> (last N)

((AB CD EF))

>(delete ‘kl N)

((GK IJ KL) (AB CD EF))

>(reverse N)

((AB CD EF) (GK IJ KL))

>(cons ‘a N)

(A (GK IJ KL) (AB CD EF))

>(append N N)

((GK IJ KL) (AB CD EF) (GK IJ KL) (AB CD EF))

4) Определить значение следующего S-выражения:

>(and (number 3) (greaterp 4 2 1) (equal (setq x 1) 1)).

T

 

Тема №2: "Разработка и применение пользовательских функций"

Разработать пользовательские функции, используя функцию DEFUN. Продемонстрировать применение разработанных функций. Каждый пункт индивидуального задания выполнять в соответствии со специальными требованиями.

Используя только встроенные алгебраические и логические функции.

Функция, вычисляющая площадь параллелограмма по длине диагонали и углу между диагоналями.

>(defun area (a b c)

(setq L (* (/ 1 2) a b (sin c)))

)

>(area 1 2 3)

0.14112

Использовать функционалы APPLY и MAPCAR.

 

Функция, вычисляющая среднее арифметическое значение числового списка.

>(defun arifm (x)

(/ (apply '+ x) (length x))

)

>(arifm '(9 4 8))

 

Используя условную функцию COND.

Функция, программирующая нелинейную зависимость

“петля гистерезиса“.

 

>(defun hister (x a b)

(cond ((or (>= x a)) (setq y b))

((or (<= x (* a -1))) (setq y (* b -1)))

((or (< (abs x) a)))

(T (setq y y))

))

(hister 5 3 6)

(hister 6 4 8)

(hister -5 3 9)

-9

Используя рекурсивные вызовы пользовательских функций.

Рекурсивная функция, вычисляющая число Ʈ (“золотое сечение“) с помощью бесконечной цепной дроби.

>(defun tet (n)

(if (= n 0) 0

(/ 1.0 (+ 1 (tet(1- n)))))

)

>(tet 15)
0.618034

5)Используя λ-функции разработать функцию, вычисляющую сумму элементов числового списка, возведённых в степень с показателем 3/2.

>(defun summa (x)

(apply '+ (mapcar (lambda (z) (expt z 1.5)) x))

)

>(summa '(5 4 7 1 3))

43.896752

 

 

Итоговое задание:



<== предыдущая лекция | следующая лекция ==>
Воспитательная система органов, исполняющих наказания. | Философские проблемы социально-гуманитарных наук. Вопросы, выносимые на экзамен кандидатского минимума по предмету
Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 286 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если президенты не могут делать этого со своими женами, они делают это со своими странами © Иосиф Бродский
==> читать все изречения...

2462 - | 2329 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.