Сформувати декларативне мислення в галузі програмування завдяки
використанню чистих функцій, рекурсій замість циклів, запобіганню даних,
що змінюються.
Опанувати застосування рекурсивних функцій для обчислювальних процесів.
";4.1
(display "Enter X: ")
(define x (read))
(display "Enter n: ")
(define n (read))
(define (pow x n)
(define (recpow x1 n)
(if (= n 1)
x1
(recpow (* x x1) (- n 1))))
(if(< n 0)
(display "Не вірний параметр")
(recpow x n))
)
(if (= n 1)
(display x)
(if (= (remainder n 2) 0)
(display (pow x (* 2 (/ n 2))))
(display (pow x (* 2 (/ (- n 1) 2))))
)
)"
";4.2
(display "\nEnter n: ")
(define n (read))
(define (sumDigit n)
(if (= n 0)
0
(+ (remainder n 10) (sumDigit (quotient n 10))))
)
(display (sumDigit n))"
У даній лабораторній роботі ми зосередили увагу на формуванні декларативного мислення в програмуванні, де акцент зроблений на тому, що слід використовувати чисті функції. Ці функції не мають побічних ефектів та повертають значення, що залежить лише від їх вхідних параметрів.
Також, ми дослідили рекурсію як заміну циклів, що дозволяє розв'язувати складні задачі шляхом визначення функцій, які викликають себе. Це допомагає уникнути складності циклів та зробити код більш зрозумілим та підтримуваним.
Ще однією важливою концепцією, яку ми опрацювали, було запобігання даним, що змінюються, що означає уникання змінних та зміни стану в процесі виконання програми. Це дозволяє покращити читабельність та передбачуваність програм, роблячи їх більш надійними та легше супроводжуваними.