Skip to content

bmstu-ics7/functional-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Функциональное программирование

Лабораторная работа 1
  1. Представить следующие списки в виде списочных ячеек:

    • '(open close halph)
    • '((TOOL) (call))
    • '((open1) (close2) (halph3))
    • '(((TOOL1) (call2)) ((sell)))
    • '((one) for all (and(me(for you))))
    • '((TOOL) (call)) ((sell)))
  2. Используя только функции CAR и CDR, написать выражения, возвращающие

    1. второй
    2. третий
    3. четвертый элементы заданного списка.
Лабораторная работа 2
  1. Что будет в результате вычисления выражений?

    • (CAADR ' ((blue cube) (red pyramid)))
    • (CDAR '((abc) (def) (ghi)))
    • (CADR ' ((abc) (def) (ghi)))
    • (CADDR ' ((abc) (def) (ghi)))
  2. Напишите результат вычисления выражений:

    • (list 'Fred 'and 'Wilma)
    • (list 'Fred ' (and Wilma))
    • (cons Nil Nil)
    • (cons T Nil)
    • (cons Nil T)
    • (list Nil)
    • (cons ' (T) Nil)
    • (list ' (one two) ' (free temp))
    • (cons 'Fred '(and Wilma))
    • (cons 'Fred '(Wilma))
    • (list Nil Nil)
    • (list T Nil)
    • (list Nil T)
    • (cons T (list Nil))
    • (list '(T) Nil)
    • (cons '(one two) '(free temp))
  3. Написать функции

    • (f arl ar2 ar3 ar4), возвращающую список: ((arl ar2) (ar3 ar4)).
    • (f arl ar2), возвращающую ((arl) (ar2)).
    • (f arl), возвращающую (((arl))).

    Представить результаты в виде списочных ячеек.

Лабораторная работа 3
  1. Составить диаграмму вычисления следующих выражений

    • (equal 3 (abs - 3))
    • (equal (+ 1 2) 3)
    • (equal (* 4 7) 21)
    • (equal (* 2 3) (+ 7 2))
    • (equal (- 7 3) (* 3 2))
    • (equal (abs (- 2 4)) 3))
  2. Написать функцию, вычисляющую гипотенузу прямоугольного треугольника по заданным катетам и составить диаграмму её вычисления.

  3. Написать функцию, вычисляющую объем параллелепипеда по 3-м его сторонам, и составить диаграмму ее вычисления.

  4. Каковы результаты вычисления следующих выражений?

    • (list 'a c)
    • (cons'a (b c))
    • (cons'a '(b c))
    • (caddy (1 2 3 4 5))
    • (cons'a'b'c)
    • (list 'a (b c))
    • (list a '(b c))
    • (list (+ 1 '(length '(1 2 3))))
  5. Написать функцию longer_then от двух списков-аргументов, которая возвращает Т, если первый аргумент имеет большую длину.

  6. Каковы результаты вычисления следующих выражений?

    • (cons 3 (list 5 6))
    • (list 3 'from 9 'lives (- 9 3))
    • (+ (length for 2 too)) (car '(21 22 23)))
    • (cdr ' (cons is short for ans))
    • (car (list one two))
    • (cons 3 '(list 5 6))
    • (car (list 'one 'two))
Лабораторная работа 4
  1. Дана функция (defun mystery (x) (list (second x) (first x))). Какие результаты вычисления следующих выражений?

    • (mystery (one two))
    • (mystery (last one two))
    • (mystery free)
    • (mystery one 'two))
  2. Написать функцию, которая переводит температуру в системе Фаренгейта температуру по Цельсию (defum f-to-c (temp)...).

Формулы: c = 5/9*(f-320); f= 9/5*c+32.0. Как бы назывался роман Р.Брэдбери "+451 по Фаренгейту" в системе по Цельсию?

  1. Что получится при вычисления каждого из выражений?

    • (list 'cons t NIL)
    • (eval (eval (list 'cons t NIL)))
    • (apply #cons '(t NIL))
    • (list 'eval NIL)
    • (eval (list 'cons t NIL))
    • (eval NIL)
    • (eval (list 'eval NIL))
  2. Написать функцию, вычисляющую катет по заданной гипотенузе и другому катету прямоугольного треугольника, и составить диаграмму ее вычисления.

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

About

🎓 BMSTU ICS7, sem 06

Resources

License

Stars

Watchers

Forks

Packages

No packages published