Prof. Dr. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 3. Mai 2002
Ingo MelzerBlatt 3


Uni Logo



Software Engineering Praxis (SS 2002)


Abgabetermin 10. Mai 2002 vor den Übungen

Zählen (5 Punkte)

Schreiben Sie ein kleines Perl-Skript, das die Häufigkeit von alphanumerischen Zeichen bestimmt und sortiert ausgibt. Alle Parameter sind als Dateinamen zu interpretieren. Sollte keiner angegeben sein, so lesen Sie bitte von STDIN. Beispiel:

thales$ ./count.pl /usr/dict/words | tail -2
y: 3596
z: 410

Zeit (5 Punkte)

Es ist bei Programmen oft sinnvoll zu testen, ob der Benutzer auch eine gültige Eingabe gemacht hat. Schreiben Sie daher ein Perl-Skript, das Zeilen überprüft, ob sie nur aus einer gültigen Uhrzeit bestehen. Die Stunden (0 bis 23, einstellig mit optional führender Null) und Minuten sind durch einen Doppelpunkt getrennt:

thales$ ./time.pl
21:11
Valid time
04:59
Valid time
3:00
Valid time
3:60
25:00

Aushang (10 Punkte)

Nach einer Klausur haben wir eine Datei erzeugt, die alle Teilnehmer enthält. Jede Zeile enthält durch Doppelpunkte getrennt Informationen. Das vorletzte Feld enthält die Note, das letzte die aus mindestens sechs Ziffern bestehende Matrikelnummer. Schreiben Sie ein Perl-Skript, das einen Aushang der Form Letzte 4 Ziffern der Matrikelnummer:Note erzeugt. Die Datei kann auch Kommentare und Fehler enthalten. Daher sollten nur Zeilen beachtet werden, die mindestens 3 Felder haben (Caveat: die Anzahl der Felder in jeder Zeile ist nicht konstant), die Note bei uns gültig ist (1.0, 1.3, ..., 4.0, 5.0) und die Matrikelnummer auch mindestens 6 Zeichen lang ist. Beispiel:

thales$ cat grade
Peter Lustlos:Medizin:5.0:123456
Paul Magnet:Mathe:4711:1.3:987654321
Peter, Paul, Mary:Info:1.5:123456
Ungueltig:WiWi:2.7:1234
Superman:Mathe:WiMa:Info:1.0:08154711
thales$ ./grade.pl grade
3456:5.0
4321:1.3
4711:1.0


Noch ein paar Tipps:



Ingo Melzer 2002-05-03