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
- Bringen Sie das Programm zum Laufen.
- Zeichnen Sie zu diesem Programm ein Struktogramm.
- Erstellen Sie eine Wertbelegungstabelle für eine Stückzahl von 90 CDs.
- Testen Sie das Programm für verschiedene Stückzahlen.
- 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
|