cours  |  td  |  examens  |  doc  |  liens  |  horaires
 Scheme

Université de Caen - UFR de Sciences
Deug MIAS-MASS
Marc Chemillier

Scheme - TD n° 3
8 mars 2000

Représentation des listes, car, cdr




  • Exercices : (1h1/2)

    1. Combien y a-t-il d'éléments dans les listes suivantes? Représentez-les sous forme de doublets :
      
      (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)))
      
    2. 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
      
    3. 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)))))
      
    4. 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))))
      

  • Avec machines : (1h1/2) Équation du second degré


    cours  |  td  |  examens  |  doc  |  liens  |  horaires
     Scheme