;; Ces programmes sont sous licence CeCILL-B V1. ;; Exécution en ligne de commande avec Bigloo : ;; $ bigloo -i SecondDegre.scm (define (SecondDegre) (display "Entrez les coefficients a, b et c : ") (let* ((a (read)) (b (read)) (c (read)) (resultat (Calcul a b c))) (cond ((not resultat) (display "Pas de racine !") (newline)) ((number? resultat) (display "Une racine : ") (display resultat) (newline)) (else (display "Deux racines, ") (display (car resultat)) (display " et ") (display (cdr resultat)) (newline))))) (define (Calcul a b c) (let ((delta (- (* b b) (* 4 a c)))) (cond ((< delta 0) #f) ((zero? delta) (/ (- b) (* 2 a))) (else (cons (/ (- (sqrt delta) b) (* 2 a)) (/ (- (+ (sqrt delta) b)) (* 2 a))))))) (SecondDegre)