  | Scheme - TP no 1 |
Scheme - TP no 1: 4. Éléments de corrigé
;; partie 2.3
(define (compose f g)
(lambda (x) (f (g x))))
(define (ajoute_fonctions f g)
(lambda (x) (+ (f x) (g x))))
(define (curryfie f)
(lambda (x)
(lambda (y) (f x y))))
(define (decurryfie f)
(lambda (x y)
((f x) y)))
;; partie 2.5
(define (fact n)
(if (<= n 1) 1 (* n (fact (- n 1)))))
(define (fibo n)
(if (<= n 1) 1 (+ (fibo (- n 1)) (fibo (- n 2)))))
(define (id x)
x)
(define (iter f n)
(cond ((= n 0) id) ((= n 1) f) (#t (compose f (iter f (- n 1))))))
(define (pair n)
(if (= n 0) #t (impair (- n 1))))
(define (impair n)
(cond ((= n 0) #f) ((= n 1) #t) (#t (pair (- n 1)))))
;; partie 3
(define (der l)
(let ((cdrl (cdr l)))
(if (null? cdrl) (car l) (der cdrl))))
(define (nieme l n)
(if (= n 1) (car l) (nieme (cdr l) (- n 1))))
(define (elem l e)
(cond
((null? l) #f)
((= (car l) e) #t)
(#t (elem (cdr l) e))))
(define (concat x y)
(if (null? x) y (cons (car x) (concat (cdr x) y))))
(define (longueur l)
(if (null? l) 0 (+ 1 (longueur (cdr l)))))
  | Scheme - TP no 1 |