Die Webseiten der Fachschaft Informatik am ERG Saalfeld


Mengenrabatt

Ein Händler hat eine größere Menge CD-Rohlinge auf Lager. Er verkauft die einzelnen Rohlinge für 25ct pro Stück. Um Platz für DVD-Rohlinge zu schaffen, möchte er möglichst schnell viele loswerden. Aber er möchte diese an möglichst wenige Kunden verkaufen, um den Arbeitsaufwand zu minimieren. Deshalb macht er folgendes Angebot: werden mehr als 200 CD-Rohlinge gekauft, dann kostet jede CD nur 15ct. Sonst kostet die CD wie bisher 25ct pro Stück.

Es soll ein Programm erstellt werden, welches zu einer Stückzahl den Preis (in € und ct) ausgibt.

 

Programm

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

my $normalpreis          = 25;  # Preis in ct
my $rabattpreis          = 15;
my $rabatt_mindest_menge = 200;

my $stueckzahl           = 225;
my ($preis, $euro, $cent);

# wenn die Stückzahl kleiner oder gleich der Mindestmenge für den Rabatt ist
if ($stueckzahl <= $rabatt_mindest_menge) {
  # dann ist Preis = Stückzahl * 25ct
  $preis = $stueckzahl * $normalpreis;
}
# sonst
else {
  # ist Preis = Stückzahl * 15ct
  $preis = $stueckzahl * $rabattpreis;
}

# noch den Preis in Euro und Cent angeben
$euro  =  int( $preis / 100);
$cent  =  $preis % 100;

print "Der Preis fuer $stueckzahl CDs betraegt $euro EUR und $cent ct. \n";

__END__

 

Der Aufruf sah bei mir so aus:

 

Wertbelegungstabelle

Es wird die Wertbelegungstabelle für den oben angegebenen Fall erstellt. (Dabei wird hier nur der Befehl der if-Anweisung angegeben, der auch ausgeführt wird)

    Aktion $normalpreis $rabattpreis $rabatt_mindest_menge $stueckzahl $preis $euro   $cent  
      Initialisieren 25 15 200 225 --- --- ---
      if ($stueckzahl < $rabatt_mindest_menge) 25 15 200 225 --- --- ---
      $preis = $stueckzahl * $rabattpreis; 25 15 200 225 3375 --- ---
      $euro = int( $preis / 100); 25 15 200 225 3375 33 ---
      $cent = $preis % 100; 25 15 200 225 3375 33 75

 

Aufgaben

  1. Bringen Sie das Programm zum Laufen.
  2. Zeichnen Sie zu diesem Programm ein Struktogramm.
  3. Erstellen Sie eine Wertbelegungstabelle für eine Stückzahl von 90 CDs.
  4. Testen Sie das Programm für verschiedene Stückzahlen.
  5. Ergänzen Sie das Programm so, dass die Stückzahl beim Aufruf als Parameter übergeben wird.

 

zurück


© ERG Saalfeld   -   Hans-Dietrich Kirmse   8.01.2015