Die Webseiten der Fachschaft Informatik am ERG Saalfeld


Ordnen

Es soll ein Programm erstellt werden, das folgende Aufgabe löst:

  • Die Inhalte der Variablen x und y sind als Parameter zu übergeben.
  • Die Variablen sind auszugeben.
  • Dann sollen die Zahlen geordnet werden, wobei die größte Zahl zuerst kommt.
  • Die geordneten Werte sind auszugeben.

 

Programm

#!/usr/bin/perl
use strict;
use warnings;

# Ueberschrift
print "\n";
print " Zahlen ordnen \n";
print " ============= \n";
print "\n";

# das Einlesen der Parameter
my $x = $ARGV[0];        # damit steht der erste Parameter in $x
my $y = $ARGV[1];        # damit steht der zweite Parameter in $y

my $help;                # Variable wird angelegt

# die 1. Ausgabe
print '$x = ', $x, "\n";
print '$y = ', $y, "\n";

print "\n";              # eine Leerzeile

# wenn in der falschen Reihenfolge
if ($x < $y) {
  # dann tauschen
  $help = $x;
  $x    = $y;
  $y    = $help;
}

# die 2. Ausgabe
print "geordnet \n";
print "\n";

print '$x = ', $x, "\n";
print '$y = ', $y, "\n";

__END__

 

Der Aufruf sah bei mir so aus:

 

Aufgaben

  1. Bringen Sie das Programm zum Laufen.
  2. Rufen Sie das Programm mit anderen Parametern auf.
  3. Rufen Sie das Programm ohne Parameter bzw. mit einem Parameter auf.
  4. Zeichnen Sie zu diesem Programm ein Struktogramm.

 

Wertbelegungstabelle

Es soll jetzt eine Wertbelegungstabelle für den Aufruf des Programms mit   perl ordnen.pl 120 200   erstellt werden. Es werden dabei nur die Zeilen / Aktionen betrachtet, wo sich Variableninhalte ändern. Das bedeutet, dass Ausgabeaktionen hier nicht beachtet werden.

    Aktion $x         $y         $help        
      Aufruf von "perl ordnen.pl 120 200" 120 200 ---
      if ($x < $y) 120 200 ---
      $help = $x; 120 200 120
      $x = $y; 200 200 120
      $y = $help; 200 120 120

 

zurück


© ERG Saalfeld   -   Hans-Dietrich Kirmse   8.01.2015