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
a
richtig, einen fürb
richtig)
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.c
sowie 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
main
s 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.