Vordiplomprüfung
Konzepte Imperativer Programmierung

Prüfer:Prof. Helbig
Termin:17.05.1999
Dauer:30 min
Note:1,7

Das waren die wichtigsten Fragen, an die ich mich noch erinnern kann:

F: Was für Programmiersprachen kennen Sie? Beispiele?
A: imperativ, objektorientiert usw. siehe Kursunterlagen (Hier habe ich gedacht, er meint niedere/höhere PS, aber er wollte die Programmierparadigmen hören = steigender Streßpegel)

F: Wo tritt bei PASCAL das funktionale Konzept auf?
A: bei den Funktionen (richtig geraten...)

F: Unterschied Funktionen und Prozeduren?
A: Parameterübergabe etc. siehe Kursunterlagen

F: Unterschied Wertparameter, Referenzparameter?
A: kurze Erklärung

F: Wie werden Referenzparameter kenntlich gemacht?
A: Schlüsselwort var in der Liste der formalen Parameter

F: Logik: was sind die algebraischen Eigenschaften der Operatoren?
A: bei and und or Kommutativität, Assoziativität, Distributivität, neutrale Elemente, bei not doppelte Verneinung (Was meint der jetzt schon wieder?! Bis bei mir der Groschen gefallen war, hatte ich schon wieder etliche Gramm Adrenalin im Blut...)

F: Wie kann man 'für alle x gilt P(x)' durch 'es gibt' ausdrücken?
A: not(not(es gibt ein x mit not P(x))) (einfache Übung zur Beruhigung)

F: Welche Iterationsverfahren gibt es? Zeichnen Sie Syntaxdiagramm.
A: for, while, repeat

F: Sind while und repeat unabhängig?
A: while und repeat können einander ersetzen (vorführen)

F: Wie sieht eine Typdefinition für array und für record aus?
A: Beispielcode angeben

F: Was ist ein binärer Baum?
A: Knoten, Kanten, Wurzel, Blätter erklären

F: Wie kann man einen binären Baum als Array darstellen?
A: Knoten durchnumerieren, der linke Nachfolger von Node[i] ist Node[2i], der rechte ist Node[2i+1] (Das kam unerwartet. Nach einigen Winks mit dem Zaunpfahl bin ich dann drauf gekommen, aber doch eher durch Raten.)

F: Wie als record?
A: Typdefinition wie im Kurstext (Hier war ich von eben noch etwas konfus, und machte für den linken und rechten Teilbaum Verweise auf Knoten, es müssen aber Verweise auf Bäume sein.)

F: Wie wird die Syntax einer Programmiersprache definiert?
A: Syntaxdiagramm oder kontextfreie Grammatik

F: Wie kann man die Semantik definieren?
A: Hoare-Regeln

F: Erklären Sie, was eine Programmformel ist.
A: Vorbedingung, Anweisung, Nachbedingung erklären

F: Leiten Sie die Hoare-Regeln für if-then-else und für while her.
A: darstellen, wie es im Kurstext erläutert ist

Fazit:
Ich hatte fast immer Probleme herauszufinden, was Prof.Helbig eigentlich von mir wollte, und ich mußte zum Teil nachfragen. Was ich ihm hoch anrechne, ist die Tatsache, daß er bei kleinen Unsicherheiten nicht weiter in den Wunden bohrte, sondern korrigierte und zur nächsten Frage überging. Dadurch hielt sich der Prüfungsstreß in Grenzen. Weil ich in einigen Punkten Unsicherheiten zeigte und er mir auf die Sprünge helfen mußte, gab es 'nur' eine 1,7. Vom Gefühl her hatte ich mich schlechter eingeschätzt, kann also nicht meckern. Wer in der Theorie recht fit ist, hat mit Prof.Helbig einen angenehmen Prüfer, der es kurz und schmerzlos erledigt, Programmierfreaks dagegen kommen nicht so auf ihre Kosten.

Sonja Hilbert