;; Ces programmes sont sous licence CeCILL-B V1. ;; Exécution en ligne de commande avec Bigloo : ;; $ bigloo -i SecondDegreTest.scm (define (SecondDegreTest) (let* ((a (read)) (b (read)) (c (read)) (delta (- (* b b) (* 4 a c)))) (if (zero? a) (display "Pas une équation du second degré") (let ((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))))))) (SecondDegreTest)