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))))
> (sqrt -4) 0+2iFaire une fonction (ecrire-equation a b c) qui écrit l'équation sous la forme de polynôme, puis (affiche-solutions a b c) qui affiche l'équation et les solutions :
> (affiche-solutions 1 -2 1) RESOLUTION DE L'EQUATION: X2 - 2X + 1 = 0 La solution est: 1 fin