Symbolické programovanie a LISP,
zima 2000/2001
(vychádza z prednášky
Funkcionálne programovanie, Ivan Kalaš)
Petrovič Pavol, Ústav Informatiky, č.d. 15
e-mail: ppetrovi@dent.ii.fmph.uniba.sk
www k prednáške: http://www.ii.fmph.uniba.sk/vyuka/lisp
1.cvičenie
- Zadefinujte konštantu pi.
(define pi ...
- Zadefinujte nulárnu funkciu pi2, ktorá
vráti hodnotu pi.
(define (pi2) ...
- Zadefinujte unárne funkcie add1, sub1,
1+, 1-, ktoré
pripočítavajú, resp. odpočítavajú 1.
(define (add1 n) ...
(define (sub1 n) ...
(define (1+ n) ...
(define (1- n) ...
- Zadefinujte unárnu funkciu fact, ktorá
vráti faktoriál čísla n.
(define (fact n) ...
- Zadefinujte unárnu funkciu fact2,
ktorá vráti faktoriál čísla n.
Implementujte iteratívnu verziu.
(define (fact2 n) ...
- Zadefinujte binárnu funkciu na, ktorá
vráti n-tú mocninu čísla a.
(define (na a n) ...
- Zadefinujte binárnu funkciu na2, ktorá
vráti n-tú mocninu čísla a.
Implementujte iteratívnu verziu.
(define (na2 a n) ...
- Zadefinujte binárnu funkciu na3, ktorá
vráti n-tú mocninu čísla a.
Implementujte rýchlu verziu (a^(2n) = (a^n)^2).
(define (na3 a n) ...
- Zadefinujte unárnu funkciu nuly, ktorá
vráti počet núl na konci čísla n!.
(define (nuly n) ...
Last Updated on 21-Sep-2000
By Petrovic Pavol
E-mail: ppetrovi@dent.ii.fmph.uniba.sk