Doponitev prvit + 2. zapiski (draft)

main
Jurij Podgoršek 2024-04-30 19:20:40 +02:00
parent 44d861d14d
commit 540814f17e
2 changed files with 66 additions and 1 deletions

View File

@ -38,6 +38,20 @@ Preko očeta v sorodu s fizikom Hermanom Kahnom, ki je napisal knjigo o tem kako
Stoy 1977
* Vaje
** 1.1 Kaj vrnejo izrazi?
- 10
- 12
- 8
- 3
- 6
- /
- /
- 19
- #f
- 4
- 16
- 6
- 16
** 1.2 Pretvori izraz v prefix obliko
#+begin_src scheme :exports both
(/ (+ 5 4
@ -92,4 +106,34 @@ Stoy 1977
| Funkcija1 | 85 | 41 | 164 | 73 |
| Funkcija2 | 85 | 41 | 164 | 89 |
** 1.4
** 1.4 Opis procedure
#+begin_src scheme
(define (a-plus-abs-b a b)
((if (> b 0) + -) a b))
#+end_src
Izraz ~if~ vrne funkcijo ~+~ ali ~-~ , glede na to, ali je argument ~b~ večji ali manjši od 0.
Če je ~b~ manjši od 0, ga odšteje od ~a~, sicer pa ga prišeje. Zato je rezultat funkcije ekvivalenten vsoti ~a~ in absolutni vrednosti ~b~.
** 1.5 Aplikativni red in normalni red evalvacije
#+begin_src scheme
(define (p) (p))
(define (test x y)
(if (= x 0)
0
y))
;; Evalvira:
(test 0 (p))
#+end_src
TODO!
** 1.6 TODO
** 1.7 TODO
** 1.8 TODO

View File

@ -0,0 +1,21 @@
#+TITLE: Zapiski #2 srečanja programerskega bralnega krožka SICP
#+AUTHOR: Jurij
#+OPTIONS: toc:nil num:nil author
* Teme
** Rekurzivni procesi in rekurzivne procedure (postopki?)
Rekurzivne procedure lahko opišejo iterativne procese.
Pri iterativnih procesih je stanje popolnoma ujeto s tremi spremenljivkami stanja (v danem primeru knjige). Pri rekurzivnih procesih mora interpreter imeti sklad klicev, zato z vsakim klicom raste poraba spomina. Repno-rekurzivne implementacije omogočajo definiranje iterativnih procesov z rekurzivnimi procedurami.
** Drevesne rekurzije
** (velikostni) redi rasti
* Vaje
** 1.9 TODO
Procesa sta rekurzivna?
** 1.10 TODO
** 1.11 TODO
** 1.12 TODO
** 1.13 TODO
** 1.14 TODO
** 1.15 TODO
** 1.16 TODO
** 1.17 TODO