Scheme - TD n° 3
8 mars 2000
Représentation des listes, car, cdr
(ein (schönes) buch) (((((1) 2) 3) 4) 5) (((((arrrgh))))) (unix (is a) trademark (of) bell labs) ((a b) (c d) (e f)) (((a) (b) (c)) g (((((d e)) f) h))) (((ré mi) do) (fa la)))Donner les réponses de Scheme :
> (car (a b c))
reference to undefined identifier: a
> (car '((+ 1 2) 3 4 5))
(+ 1 2)
> (car (car '((+ 1 2) 3 4 5)))
+
> (car ''(1 2))
quote
> (car (car '('(+ 1 2) 3 4 5)))
quote
Faire une fonction (distance A B) calculant la distance euclidienne des deux points A et B représentés par des couples de coordonnées.
(define (distance A B)
(sqrt (+ (expt (- (car A) (car B)) 2)
(expt (- (cadr A) (cadr B)) 2)))))
Faire une fonction (scalaire u v) calculant le produit scalaire des deux vecteurs u et v représentés par des couples de coordonnées.
(define (scalaire u v) (+ (* (car u) (car v)) (* (cadr u) (cadr v))))
> (affiche-solutions 1 -2 1) RESOLUTION DE L'EQUATION: X2 - 2X + 1 = 0 La solution est: 1 fin