Riešenie niektorých zozbieraných úloh
Created: 2009-12-15 - 20:34
1. Vyjadrite pomocou car/cdr postupne a, b, c, d z vyrazu:
( 1 ( ( 1 a ) b ) c 1 ( d ) )
a) car cdaadr
b) car cdadr
c) caddr
d) caar cddddr
2. Napiste proceduru, ktora zo vstupneho pola cisel a1, ..., an vypocita: (a1*n + ... + an*n) / n
(define (procedurka x)
(define (p x n v)
(if (null? x)
(/ v n)
(p (cdr x) n (+ v (* (car x)n))))
)
(define (length x)
(define (l x i)
(if (null? x)
i
(l (cdr x) (add1 i))))
(l x 0))
(p x (length x) 0))