Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Functional Programming
diff options
context:
space:
mode:
Commit9143bd2239cb82124f4c4080070fc45b54df388d (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-10-16 11:41:39 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-10-16 11:41:39 +0300
Files03ff575600ff22d2aec14eb6d6c7a34293bc56c4 /Year 2/Functional Programming
uni-projects-9143bd2239cb82124f4c4080070fc45b54df388d.tar
uni-projects-9143bd2239cb82124f4c4080070fc45b54df388d.tar.gz
uni-projects-9143bd2239cb82124f4c4080070fc45b54df388d.zip
Parent21f765bd6740dc3a50fad8fa512696bcb64b3944 (diff)
[FP/P01] Added work from first practicum
1 files changed, 23 insertions, 0 deletions
-rw-r--r--Year 2/Functional Programming/01-Practice-03.11.2022.rkt23
diff --git a/Year 2/Functional Programming/01-Practice-03.11.2022.rkt b/Year 2/Functional Programming/01-Practice-03.11.2022.rkt
new file mode 100644
index 0000000..463bfde
--- /dev/null
+++ b/Year 2/Functional Programming/01-Practice-03.11.2022.rkt
@@ -0,0 +1,23 @@
+(define (avgsqr a b)
+ (define (sqr x)
+ (* x x))
+ (/ (+ (sqr a) (sqr b)) 2))
+
+(define (fac x)
+ (if (<= x 1)
+ 1
+ (* x (fac (- x 1)))))
+
+(define (minfib maxval)
+ (define (minfib maxval [a 1] [b 1])
+ (if (> b maxval)
+ a
+ (minfib maxval b (+ a b))))
+ (minfib maxval))
+
+(define (fib x)
+ (if (<= x 1)
+ 1
+ (+ (fib (- x 2)) (fib (- x 1)))))
+
+