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ür b 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 ein makefile (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.
×

MyUniNotes is a free, non-profit project to make education accessible for everyone. If it has helped you, consider giving back! Even a small donation makes a difference.

These are my personal notes. While I strive for accuracy, I’m still a student myself. Thanks for being part of this journey!