Musterlösung zu "Quadratische Lösungsformel"

MODULE loesung;

IMPORT Display, Float;

PROCEDURE ProgMain*;
VAR
      a, b, c, x1, x2: REAL;
      ch: CHAR;

BEGIN
      Display. WriteStr ("Programm zur Bestimmung der Lösung der quadratischen Gleichung ax²+bx+c=0");
      Display. WriteLn;
      Display. WriteLn;

      Display. WriteStr ("Bitte a eingeben: ");
      Display. ReadReal (a, 10, ch);
      Display. WriteLn;

      Display. WriteStr ("Bitte b eingeben: ");
      Display. ReadReal (b, 10, ch);
      Display. WriteLn;

      Display. WriteStr ("Bitte c eingeben: ");
      Display. ReadReal (c, 10, ch);
      Display. WriteLn;

      IF b*b-4*a*c<0
            THEN 
                        Display. WriteStr ("Diese Gleichung hat keine Lösung!");
            ELSE 
                        x1 := ((-b+(Float.Sqrt(b*b-4*a*c)))/(2*a));
                        x2 := ((-b-(Float.Sqrt(b*b-4*a*c)))/(2*a));

                        Display. WriteStr ("Erste Lösung: ");
                        Display. WriteReal (x1, 10);
                        Display. WriteLn;

                        Display. WriteStr ("Zweite Lösung: ");
                        Display. WriteReal (x2, 10);
                        Display. WriteLn;
      END; 

      Display. ReadChar (ch);

END ProgMain;

END loesung.


Zurück zum Thema Bedingte Anweisung