;---------------------------------- ; GdI 1 / ICS 1 - WS 06/07 ; Uebung / Exercise 01 ;---------------------------------- ; TU Darmstadt ;---------------------------------- ; Hausuebung ; Aufgabe / Task 8 ; ; Name: Philipp Koehler ;---------------------------------- ;;Vertrag discriminant: number number -> number; negative_squareroot ;;Beschr. Errechnet dir Wurzel der pq-Formel (- (sqr (/ p 2)) q)) ;;Beispiel (descriminant 4 2) (define (descriminant p q) (cond [(>= (desc_sq p q) 0) (sqrt (desc_sq p q))] [else 'negative_squareroot])) ;;Teil von descriminant. (define (desc_sq p q) (- (sqr (/ p 2)) q)) ;;Vertrag quad-equation: number number symbol -> number; 'no_real_solution ;;Beschr. Errechnet die pq-Formel. Man übergibt das Symbol 'x1/'x2 für das ;; erste oder zweite Ergebniss ;;Beispiel (define (quad-equation p q x) (cond [(symbol? (descriminant p q)) 'no_real_solution] [(symbol=? 'x1 x) (+ (/ p -2) (descriminant p q))] [(symbol=? 'x2 x) (- (/ p -2) (descriminant p q))] [else 'invalid_input])) ;;test (descriminant 4 2) ;;soll: 1.4142 (descriminant 2 4) ;;soll: 'negative_squareroot (quad-equation 4 3 'x1) ;;soll: -1 (quad-equation 4 3 'x2) ;;soll: -3 (quad-equation 3 4 'x1) ;;soll: 'no_real_solution (quad-equation 3 4 'x2) ;;soll: 'no_real_solution