Федюк_Фес-32_Лаб12_СПП

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Міністерство освіти і науки України Львівський

національний університет імені Івана Франка


Факультет електроніки та комп’ютерних технологій

Звіт

про виконання лабораторної роботи


№12:
Використання параметрів нагромадження в функціональному
програмуванні

Виконав:
Студент групи ФеС32
Федюк Ростислав
Перевірив:
Доц. Франів В. А.

Львів-2024

Завдання:
Використати параметри нагромадження в
функціональному програмуванні (мова Lisp)

Код програми:

Висновок: На даній лабораторній роботі я


досліджував використання параметрів
нагромадження в
функціональному програмуванні на мові Lisp.
Використання цих параметрів дозволило мені
створити функції, які здатні приймати будь-яку
кількість
аргументів.

Код програми
(defun calculate (operation &rest numbers)

"Функція calculate приймає операцію (sum, product, difference) та


список чисел,

і обчислює результат операції для цих чисел."

(case operation

((sum) (apply #'+ numbers)) ; Обчислення суми чисел

((product) (apply #'* numbers)) ; Обчислення добутку чисел

((difference) (apply #'- numbers)) ; Обчислення різниці чисел

(t "Невідома операція"))) ; Повернення повідомлення про


невідому операцію

;; Приклад використання

(format t "Сума чисел 1, 2, 3: ~a~%" (apply #'calculate 'sum '(1 2 3)))

(format t "Добуток чисел 2, 3, 4: ~a~%" (apply #'calculate 'product '(2 3


4)))

(format t "Різниця чисел 10, 5, 3: ~a~%" (apply #'calculate 'difference


'(10 5 3)))

(format t "Невідома операція: ~a~%" (apply #'calculate 'average '(1 2


3)))

You might also like