Die beste Übung ist, dass Sie die Aufgabe 12 ganz alleine programmieren können, da wird alles angesprochen, was wir gelernt haben
Klausur Test Aufgaben
Die folgenden Aufgaben sind Übungsaufgaben für die Klausur.
Ich schlage Ihnen vor: Programmieren
Sie die Aufgaben alleine! Besprechen Sie die Lösung in der Gruppe.
In der Klausur werden
a) Grundsätzliche Fragen gestellt und
b) Aufgaben gestellt, deren Lösung als Fragment auf dem Abgabeblatt angegeben
ist.
Sie werden aufgefordert, die fehlenden Zeilen zu ergänzen, bzw. Syntaxfehler
zu finden.
Sie müssen also nicht gesamte Programme ohne Rechner schreiben.
- Schreiben Sie ein C++ Programm, das einen String einliest und testet,
ob der erste und der letzte Buchstabe eines Strings identisch ist.(siehe Blatt 2)
- Schreiben Sie ein Programm
read.cxx
und lesen Sie folgendes
ein: (siehe Blatt 2)
- Eingabe einer Zahl
- Eingabe von mehreren Zahlen
- Eingabe eines Wortes (ohne Umlaut)
- Eingabe von zwei Worten (ohne Umlaut)
- Eingabe von Umlauten
- Eingabe einer ganzen Zeile (mit Umlauten)
- Schreiben Sie ein C++ Programm: pword_while.cxx (siehe Blatt 3)
Das Programm soll den Benutzer höchstens 5 Mal nach einem Passwort fragen.
Die interne Abfrageschleife soll als while Schleife implementiert werden.
ACHTUNG: Das interne Passwort soll aus der Datei mypasswd.txt gelesen werden, die im Format ISO-Latin die Daten speichert.
- Schreiben sie ein C++ Programm, das eine utf-8 Datei liest und die
einzelnen Wörter
einer Zeile zeilenweise ausgibt. Die ausgegebenen Wörter
müssen alle in kleingeschriebene Wörter
konvertiert werden.(siehe Blatt 4, Blatt 5)
- STL-Einsatz .... Aufgabe 10: Schreiben Sie ein C++ Programm, das die eigene
Klasse
lexikon
definiert.
Die Idee ist, dass diese Klasse in einem wstring
Vector (nutzen Sie die
Routinen des Containers <vector>
) alle Wörter
eines Textes speichert. In ihrem private
Bereich soll ein Vektor definiert
werden, der beliebige wstrings
speichern kann. Verwenden Sie nur bei Schleifen nur Iteratoren.
private:
vector <wstring> memory;
int number_of_elements_in_memory;
void rm_punct(wstring&);
Die Klasse lexikon
definiert
eine private
Methode void rm_punct(wstring &word)
die alle Punktuationszeichen am Anfang und Ende des eingegebenen Strings word
entfernt. Verwenden Sie hier möglichst Routinen der STL.
(siehe Blatt 10 )
- Lesen Sie 10 Wörter vom Terminal ein und speichern Sie sie in einer
list<wstring>
.
Geben Sie die Elemente in der Reihenfolge des abspeicherns und in umgekehrter
Reihenfolge mit Hilfe von Iteratoren aus.(siehe Blatt 11)
- Lesen Sie 10 Wörter vom Terminal ein und erzeugen Sie eine Frequenzliste
mit Hilfe des STL Containers
unordered map
und map
.(siehe Blatt 11 und Blatt 12
)
- Nennen Sie 5 verschiedene STL Container und nennen sie die Unterschiede.(siehe
Skript)
- Geben Sie mit Hilfe eines regulären Ausdrucks alle Wörter in
der Datei aus, die am Anfang einen Großbuchstaben haben und maximal
5 Buchstaben lang sind. Lesen Sie dazu eine Datei zeilenweise ein, zerlegen
Sie die Zeile mit Hilfe der split-Methode von Boost in einer Schleife.(siehe
Blatt 12)
Da Ober- und Unterklassen in keiner Übung dran waren, werden sie in der Klausur auch nicht drankommen.