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

  1. Bringen Sie das Programm zum Laufen.
  2. Zeichnen Sie zu diesem Programm ein Struktogramm.
  3. Ergänzen Sie dieses kleine Programm so, dass eine Überschrift ausgegeben wird.
  4. Diese Überschrift soll unterstrichen werden, dann eine Leerzeile erfolgen.
  5. Dann soll die Gleichung ausgegeben werden, wobei $p und $q ausgelesen werden.
  6. Kommentieren Sie dieses Programm: über jeden Block eine Zeile als Kommentar,
    Anweisungen, die nachgeschaut werden müssten, als nachgestellten Kommentar.
  7. Die Lösung soll kenntlich gemacht werden, z.B. x = ... bzw. x1 = ...
  8. 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

  1. Erstellen Sie eine Wertbelegungstabelle für p=4 und q=4.

 

zurück


© ERG Saalfeld   -   Hans-Dietrich Kirmse   8.01.2015