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

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

Scheme - TD n° 7
19 avril 2001

Récursions sur les listes
Affichage d'un dessin




  • Exercices : (1h1/2)

    1. Faire (iota-carre n) calculant la liste des carrés (n2 ... 16 9 4 1)
      (define (iota-carre n)
       (cond ((= n 0) ())
             (else (cons (* n n) (iota-carre (- n 1))))))
      
    2. Faire (iota-leibniz n) calculant la liste :

      (  (-1)n   ...  1   -1   1 )
        2n+1     5   3    

      (define (iota-leibniz n)
       (cond ((= n 0) ())
             (else (cons (/ (if (even? n) 1 -1) (+ (* 2 n) 1)) (iota-leibniz (- n 1))))))
      
    3. Faire (iota-suite u0 n) calculant la liste (u0 u1 u2... un), où un est défini par un = racine carrée(un-1+1).
      (define (iota-suite u0 n)
       (cond ((= n 0) (list u0))
             (else (cons u0 (iota-suite (sqrt (+ u0 1)) (- n 1))))))
      
    4. Faire (our-reverse l).
      (define (our-reverse l)
       (cond ((null? l) ())
             (else (append (our-reverse (cdr l)) (list (car l))))))
      
    5. Faire (extrait-impair l) : (extrait-impair '(3 2 4 6 1 9)) --> (3 1 9)
      (define (extrait-impair l)
       (cond ((null? l) ())
             ((even? n) (extrait-impair (cdr l)))
             (else (cons (car l) (extrait-impair (cdr l))))))
      
    6. Faire (our-member x l)
      (define (our-member x l)
       (cond ((null? l) #f)
             ((equal? x (car l)) #t)
             (else (our-member x (cdr l)))))
      
    7. Faire (nieme l n)
      (define (nieme l n)
       (cond ((null? l) ())
             ((= n 1) (car l))
             (else (nieme (cdr l) (- n 1)))))
      
    8. Faire (enleve x l)
      (define (enleve x l)
       (cond ((null? l) ())
             ((equal? x (car l)) (enleve x (cdr l)))
             (else (cons (car l) (enleve x (cdr l))))))
      

  • Avec machines : (1h1/2) Affichage d'un dessin


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