Dr. Andreas Borchert Sektion Angewandte
Informationsverarbeitung
Ingo Melzer Blatt 2
[c]
Implementierung kleiner Datenbanken unter UNIX II (WS 1999/2000)
Abgabetermin 11. November 1999
Sie wurden von einem Bekannten gebeten, sich ein paar häufige Namen für
ein Neugeborenes einfallen zu lassen. Um sich die Aufgabe zu erleichtern,
schreiben Sie ein kleines Perl-Skript, das die zehn häufigsten Vornamen
(auch zweite, dritte, ...) unserer Benutzer bestimmt und diese sortiert
zusammen mit der Anzahl ausgibt.
Bei Hangman handelt sich um ein nettes Spiel, bei dem Wörter erraten
werden sollen. Dabei werden immer einzelne Buchstaben eingegeben, die,
falls im gesuchten Wort enthalten, dann in die Lösung eingefügt werden.
Hier ein kleines Beispiel:
... tries 0, guessed:
Please enter a letter: b
... tries 1, guessed: b
Please enter a letter: u
u.. tries 2, guessed: bu
Please enter a letter: b
u.. tries 3, guessed: bu
Please enter a letter: m
u.m tries 4, guessed: bmu
Please enter a letter: l
ulm tries 5, guessed: blmu
You got it!
Bitte schreiben sie dieses Spiel. Es sollte möglich sein, einen
Dateinamen als Parameter anzugeben. Ihr Programm sollte dann ein Wort aus
dieser Liste zufällig auswählen, wobei jedes Wort mit der gleichen
Wahrscheinlichkeit gewählt werden sollte. Verwenden Sie
/usr/dict/words
, falls kein Parameter angeben wird. Bitte geben Sie nach
jedem Rateversuch den aktuellen Stand (inklusive der geratenen
Buchstaben) aus.
Noch ein paar Tips:
- Das fünfte Feld der passwd enthält den Namen des Benutzers.
- Mit ypcat kann man u.a. die passwd ausgeben.
- Mit split
kann man gut lange Zeilen
aufteilen. Ein leerer Ausdruck trifft nach jedem Zeichen zu.
- Mit
SPMamp
open(FH, cmd |")& kann man direkt die Ausgabe von
cmd lesen.
- Zufallszahlen kann man mit rand
erzeugen.
/usr/dict/words
enthält ein Wort pro Zeile. Dies kann auch
von alternativen Eingabedateien erwartet werden.
Ingo Melzer
1999-11-10