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

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

Scheme - TD n° 5
22 mars 2000

Récursions numériques




  • Exercices : (1h1/2)

    1. Fonction d'Ackermann:
      (define (A x y)
        (cond ((= y 0) 0)
              ((= x 0) (* 2 y))
              ((= y 1) 2)
              (else (A (- x 1) (A x (- y 1)))))) 
      (define (f n) (A 0 n)) 
      (define (g n) (A 1 n)) 
      (define (h n) (A 2 n))
      Donner l'expression mathématique de f, g et h.
      
      
      f(n) = 2n
      g(n) = A(0,A(1,n-1)) = f(g(n-1)) = 2g(n-1) = 2n

      h(n) = A(1,A(2,n-1)) = g(h(n-1)) = 2h(n-1) = 2..2 (n fois)

      
      
    2. On considère la fonction suivante:
      (define (coco n)
        (cond ((<= n 0) 0)
              (else (+ (* 10 (coco (quotient n 10)))
                       (remainder n 10)))))
      Evaluer:
      > (coco 113) 
      113 
      
      > (coco -113) 
      0
      
      > (coco 18746378450) 
      18746378450
      
    3. Faire une fonction (somme-carre n) qui calcule la somme des n premiers carrés: 1 + 4 + 9 + 16 ... + n2
      (define (somme-carre n)
        (cond ((= n 0) 0)
              (else (+ (* n n) (somme-carre (- n 1))))))
      
    4. Faire une fonction (carre-somme n) qui calcule le carré de la somme des n premiers entiers: (1 + 2 + 3 ... + n)2
      (define (carre-somme n)
        (cond ((= n 0) 0)
             	(else (let ((s (carre-somme (- n 1))))
                      (+ (* n n) (* 2 n (sqrt s)) s)))))
      

  • Avec machines : (1h1/2) Jeu du piquet


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