Die Webseiten der Fachschaft Informatik am ERG Saalfeld
Zahlenraten
Vom Computer wird eine Zahl im Bereich von 1 bis 1000 gewürfelt. Diese Zahl soll
vom Nutzer erraten werden. Der Computer gibt jedes Mal an, ob die eingegebene Zahl zu klein oder zu groß
war. Wenn die Zahl richtig war (erraten wurde), dann gibt er das an und beendet das Programm.
Programm
#!/usr/bin/perl
use strict;
use warnings;
print "\n";
print "Zahlen raten \n";
print "============ \n";
print "\n";
my $eingabe;
my $gewuerfelte_zahl = int(rand(800)) + 100;
print "Computer: ich habe eine ganze Zahl zwischen 1 und 1000 gewuerfelt. \n";
print "Sie sollen diese Zahl jetzt erraten. Ich sage Ihnen jedesmal, \n";
print "ob Sie zu tief oder zu hoch liegen. \n\n";
do {
print 'Geben Sie eine Zahl ein: ';
$eingabe = <STDIN>; # wir lesen ein
chomp($eingabe); # den Zeilenumbruch entfernen
if ($eingabe < $gewuerfelte_zahl) {
print " Die eingegebene Zahl ist zu klein! \n\n";
}
elsif ($eingabe > $gewuerfelte_zahl){
print " Die eingegebene Zahl ist zu gross! \n\n";
}
} while ($eingabe != $gewuerfelte_zahl);
print "\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \n";
print "Glueckwunsch: Sie haben die gewuerfelte Zahl $gewuerfelte_zahl erraten \n";
print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \n";
__END__
Der Aufruf sah bei mir so aus:
Aufgaben
- Bringen Sie das Programm zum Laufen und testen Sie es.
- Kommentieren Sie das Programm (jede Zeile)!
- Zeichnen Sie zu diesem Programm ein Struktogramm.
- In welchem Bereich werden Zahlen wirklich gewürfelt?
- Wie müßte die Zeile mit my $gewuerfelte_zahl = int(rand ... aussehen, damit die Zahlen wirklich zwischen 1 und 1000 liegen?
- Ergänzen Sie das Programm so, dass auch die Anzahl der Versuche gezählt und ausgegeben werden.
- Die gewürfelte Zahl läßt sich immer mit maximal 10 Versuchen erraten. Wie geht das? Ergänzen Sie das Programm um eine Bewertung der Anzahl der Versuche.
zurück
© ERG Saalfeld - Hans-Dietrich Kirmse 11.01.2015
|