Differences
This shows you the differences between two versions of the page.
jui:cviko2 [2011/08/16 22:33] |
jui:cviko2 [2011/08/16 22:33] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== JUI - 2. cviceni ====== | ||
+ | list neni case sensitive | ||
+ | logicke hodnoty | ||
+ | * pro false je NIL | ||
+ | * pro true je T | ||
+ | |||
+ | pro zruseni vyhodnoceni vyrazu se pred to dava apostrof | ||
+ | <code lisp> | ||
+ | '(+ 1 2) => (+ 1 2) | ||
+ | (+ 1 2) => 3 | ||
+ | |||
+ | |||
+ | (if (test) | ||
+ | (then_kod) | ||
+ | (else_kod) | ||
+ | |||
+ | (defun vetsi (a b) | ||
+ | (if (> a b) a b) | ||
+ | ) | ||
+ | |||
+ | (defun fact (a) | ||
+ | (if (zerop a) | ||
+ | 1 | ||
+ | (* a (fact (1- a) ) ) | ||
+ | ) | ||
+ | ) | ||
+ | </code> | ||
+ | |||
+ | ===== funkce pro seznamy ===== | ||
+ | |||
+ | <code lisp> | ||
+ | (list 'a 4) - vytvari seznam | ||
+ | |||
+ | car - vraci prvni prvek | ||
+ | (car (list 1 2 3)) | ||
+ | (car '(list 1 2 3)) | ||
+ | | ||
+ | cdr - vraci seznam bez prvniho prvku | ||
+ | | ||
+ | last - posledni prvek | ||
+ | append - spoji dva seznamy do jednoho | ||
+ | |||
+ | (defun nodeat (s i) //vraci i-ty prvek seznamu s | ||
+ | (if (= i 1) | ||
+ | (car s) | ||
+ | (nodeat (cdr s) (1- i)) | ||
+ | ) | ||
+ | ) | ||
+ | |||
+ | (defun ctvrty (l) | ||
+ | (nodeat l 4) | ||
+ | ) | ||
+ | </code> | ||