Sysprak-Prüfung: Gedächtnisprotokoll
Aufgabe 1
Gegeben ist eine Datei ./fileIO.conf mit Inhalt der Form:
<key> = <value>
sowie beliebig vielen Leerzeichen, leeren Zeilen, Zeilen mit Leerzeichen.
<key> kann den Wert a oder b haben, <value> ist immer ein int-Wert.
Aufgabe:
Schreiben Sie eine Methode, die die Datei ausliest und die int-Werte in die Pointer int *a und int *b (als Parameter übergeben) schreibt.
Punkte:
- 2 Punkte (einen für
arichtig, einen fürbrichtig)
Aufgabe 2
Gegeben ist ein Array int* zahlen mit anz Zahlen drin.
Aufgabe: Schreiben Sie eine Methode, die mit diesen Parametern das Minimum der Zahlen im Array errechnet und zurückgibt.
Punkte:
- 1 Punkt
Aufgabe 3
Gegeben sind ein Filedescriptor fd* und ein (\0-terminierter) String char* buffer.
Aufgabe:
Schreiben Sie eine Methode, die eine Pipe anlegt und buffer in die Pipe schreibt und die Anzahl der gesendeten Zeichen zurückgibt.
Punkte:
- 1 Punkt (überprüft u.a., ob die richtige Anzahl Zeichen über die Pipe gesendet wurde)
Aufgabe 4
Gegeben sind eine IP-Adresse "12……" sowie ein Parameter int port für einen TCP-Port des Servers
(bzw. hostname "12…. . :<port>"?).
Aufgabe (Teil 1):
Schreiben Sie eine Methode, die Verbindung zu dem Server aufbaut und einen Socket (int) zurückgibt bei Erfolg, sonst -1.
Aufgabe (Teil 2):
Schreiben Sie eine zweite Methode (mit Parameter int sock), die einen (\0-terminierten?) String der Länge BUF = 256 vom Server empfängt, diesen sofort wieder zurückschickt und die Verbindung schließt.
Punkte:
- 2 Punkte (einen für den Verbindungsaufbau (erste Methode) und einen für den String richtig hin und her gesendet (zweite Methode))
Umgebung
- Vorgegeben sind generell: ein Headerfile mit Aufgabenstellung und Methoden-Signatur, ein C-File zum Reinschreiben (nur da rein), eine
main.csowie einmakefile(und ggf..conf-File) zum Testen. - Editoren & Entwicklungsumgebungen (z.B. Colorblocks?), Terminal, (Filemanager, dessen Ordnernamen man einfach kopieren kann), ein Web-Browser, in dem man nur eine Seite sehen kann:
- Hier kann man jeweils mit einem Mausklick bei einer Aufgabe prüfen, wie viele Punkte man bekommt – mit jeweils einer Zeile Feedback dazu, warum man sie bekommt bzw. warum (noch) nicht.
- Man kann so oft prüfen, wie man will (hier wird auch mit anderen Beispielzahlen als in den
mains getestet). - Punkte gibt es nur, wenn das “Programm” (Aufgabe) läuft.
- (- Kein C99 → keine for-Schleifen möglich?)
- Eine Umgebung mit 2 (einfacheren) Übungsaufgaben (allerdings ohne Web-Browser) kann man schon ein paar Tage vorher an bestimmten PCs im CIP-Pool ausprobieren.
- 2,5 Stunden Zeit, dann gehen die PCs aus (mit Ankündigung “noch 1 min”). Es zählt, was als letztes gespeichert wurde.