Übung 11Perl

SeitenanfangSeitenendeThemen: Klausurvorbereitung, Wiederholung

Ich habe hier eine Sammlung von Aufgaben aus den vorangegangenen Übungen erstellt. Diese Aufgaben sind als Vorbereitung für die Klausur gut geeignet. Jeder kann selbst entscheiden, welche Aufgaben er machen will - es können auch andere aus den Übungen vorher sein. (Es gibt keine Punkte!) Jeder weiß selbst am besten, wo er noch Schwierigkeiten hat ... also nicht die Aufgaben machen, die man sowieso beherrscht, sondern die, bei denen man unsicher ist.

Die Themen, die ich für wichtig halte und auch in der Klausur geprüft werden, sind: Arrays, Hashes, reguläre Ausdrücke.

1. (String) Schreiben Sie ein Programm concStr10.pl, das zwei Strings einliest und diese zu einem String verknüft, letzteren verzehnfacht und dann ausgibt.

2. (Schleife) Schreiben Sie ein Programm sqrSum.pl, das zu einer anzugebenden Zahl n alle Quadratzahlen von 1 bis n berechnet, diese aufsummiert und ausgibt in der Form 1 + 4 + 9 = 14. (Hilfe)

3. (Array) Schreiben Sie ein Programm scalarProd.pl, das zwei Vektoren in jeweils ein Array einliest und deren Skalarprodukt berechnet.

4. (Array, Schleife) Schreiben Sie ein Programm divideNumbers.pl, das beliebig viele Zahlen in ein Array einliest (while-Schleife, Abbruch mit q). Verteilen Sie die Zahlen auf vier Arrays nach folgenden Kriterien:

  1. negative Zahlen inkl. 0
  2. positive Zahl kleiner gleich 100
  3. Zahl zwischen 100 und 1000 (inkl. 1000)
  4. sehr große positve Zahlen (größer als 1000)

Anschließend sollen die Arrays ausgegeben werden.

5. (Hash) Schreiben Sie ein Programm countWords.pl, das Wörter von der Tastatur einliest und diese zählt. Geben Sie die Wörter alphabetisch sortiert (Hilfe) und deren Anzahl (Hilfe) aus. Der Einlesevorgang soll mit einer leeren Eingabe (Hilfe) abgebrochen werden.

6. (Hash) Schreiben Sie ein Programm hexColor.pl, das den Hexadezimal-Code einer RGB-Farbe ausgibt. Eingabe soll eine Farbe sein - z. B.: red - und deren Ausgabe ein Hexadezimal-Code - im Beispiel: #FF0000 - sein. Es soll solange nach einer Farbe gefragt werden, bis ein 'q' eingegeben wird (Hilfe). Falls eine Falscheingabe gemacht wurde, dann soll das Programm das erkennen und sagen, dass diese Farbe nicht existiert. Zusätzlich zur Fehlermeldung soll es alle möglichen Farbnamen, die das Programm kennt, alphabetisch sortiert anzeigen. Die Farben sollen im Programm in einem Hash gespeichert werden (Hilfe).

Farbe Hex-Code  
black #000000  
red #FF0000  
yellow #FFFF00  
blue #0000FF  
white #FFFFFF  
brown #A52A2A  
orange #FFA500  
green #008000  

7. (Filehandle, @ARGV) Schreiben Sie ein Programm kopie.pl, das eine Datei kopiert. Als Parameter sollen die beiden Dateinamen angegeben werden. Wird zusätzlich eine Option -a übergeben, soll angehängt statt kopiert werden. Der Aufruf am Betriebssystem heißt:

perl kopie.pl Datei1 Datei2

bzw.

perl kopie.pl -a Datei1 Datei2

Macht man folgenden Aufruf:

perl kopie.pl -h

soll eine kleine Hilfe zum Programm kopie.pl angezeigt werden.

Die Parameter, die auf der Betriebssystemebene übergeben werden (das sind die beiden Dateinamen Datei1 und Datei2), sind im Perlprogramm über das Perlspezialarray @ARGV verfügbar (Hilfe).

8. (reguläre Ausdrücke) Schreiben Sie ein Program testRegExpr.pl, das von der Standardeingabe einen String einliest und diesen auf folgende Inhalte testet:

Für jeden der obigen Tests soll eine Meldung ausgegeben werden, falls der Test erfolgreich war.

9. (reguläre Ausdrücke) Schreiben Sie ein Programm chtable.pl, das alle HTML-Tags der Art <table umwandelt in <TABLE. Das Programm soll folgendes enthalten:

10. (reguläre Ausdrücke) Schreiben Sie ein Programm getWords.pl, das alle Wörter (bestehend aus Buchstaben, Zahlen und _ ausgibt) in einer Datei ausgibt.
Die aktuelle Seite (Ue11.htm) bitte speichern auf der Festplatte und daran austesten.

11. (reguläre Ausdrücke) Erstelle ein Programm getPoints.pl, das aus dem File points.txt die wichtigen Informationen ausliest. Das sind Emailadresse, Name und Matrikelnummer, die einzelnen Summen. Dies Informationen sollen auf den Standardbildschirm gegeben werden. Ferner soll die Gesamtpunktzahl angegeben werden. Der Programmaufruf soll lauten:

perl getPoints.pl DATEI

12. (reguläre Ausdrücke) Erstellen sie reguläre Ausdrücke zu folgenden Suchproblemen:

Um zu testen, ob die regulären Ausdrücke funktionieren, schreiben sie ein Programm testRegExp2.pl: Lesen Sie damit von der Standardeingabe ein und testen Sie die Ausdrücke am Eingabestring.

13. (reguläre Ausdrücke, Hash) Erstellen Sie ein Programm counter.pl, das Zugriffe für eine bestimmte Seite zählt und speichert. Gespeichert wird im File access.nmb. Der Aufbau dieser Datei soll folgendermaßen aussehen:

# perl/start.htm : 123
# perl/GK/arrays.htm : 10
...

Das heißt das Format einer Zeile ist:

# SEITE : ANZAHL

Wenn das Programm aufgerufen wird, soll es im Einzelnen folgendes machen:

Die Ergebnisse schicken Sie bitte an Email an den AutorPerl, Lehrstuhl Mathe II, Uni Bayreuth.


Seitenanfang FehlermeldungHilfe zur Fehlermeldung © 2001-2003 Email an den AutorPerl, Lehrstuhl Mathe II, Uni Bayreuth