Die Webseiten der Fachschaft Informatik am ERG Saalfeld
Lösung einer quadratischen Gleichung
Es soll ein Programm erstellt werden, das die Lösung(en) einer quadratischen Gleichung der Form
0 = x^2 + p*x + q
ermittelt.
Programm
#!/usr/bin/perl
use strict;
use warnings;
my $p = 4;
my $q = 3;
# es geht um die Gleichung 0 = x^2 + p*x + q
my $D = $p * $p / 4 - $q;
my $x;
if ( $D < 0 ) {
print "keine Loesung\n";
}
elsif ( $D == 0 ) {
$x = - $p / 2;
print $x;
}
else {
my $x1 = - $p / 2 + sqrt( $D );
my $x2 = - $p / 2 - sqrt( $D );
print $x1, "\n";
print $x2, "\n";
}
__END__
Aufgaben
- Bringen Sie das Programm zum Laufen.
- Zeichnen Sie zu diesem Programm ein Struktogramm.
- Ergänzen Sie dieses kleine Programm so, dass eine Überschrift ausgegeben wird.
- Diese Überschrift soll unterstrichen werden, dann eine Leerzeile erfolgen.
- Dann soll die Gleichung ausgegeben werden, wobei $p und $q ausgelesen werden.
- Kommentieren Sie dieses Programm: über jeden Block eine Zeile als Kommentar,
Anweisungen, die nachgeschaut werden müssten, als nachgestellten Kommentar.
- Die Lösung soll kenntlich gemacht werden, z.B. x = ... bzw. x1 = ...
- Erweitern Sie dieses Programm auf Gleichungen der Form 0 = ax^2 + bx + c
Der Aufruf sah bei mir nach Erledigung der vorletzten Aufgabe so aus:
Wertbelegungstabelle
Es wird die Wertbelegungstabelle für den oben angegebenen Fall p=4 und q=3 erstellt.
Aktion |
$p |
$q |
$D |
$x |
$x1 |
$x2 |
Initialisieren |
4 |
3 |
--- |
--- |
--- |
--- |
$D = $p * $p / 4 - $q; |
4 |
3 |
1 |
--- |
--- |
--- |
$x1 = - $p / 2 + sqrt( $D ); |
4 |
3 |
1 |
--- |
-1 |
--- |
$x2 = - $p / 2 - sqrt( $D ); |
4 |
3 |
1 |
--- |
-1 |
-3 |
weitere Aufgabe
- Erstellen Sie eine Wertbelegungstabelle für p=4 und q=4.
zurück
© ERG Saalfeld - Hans-Dietrich Kirmse 8.01.2015
|