Prüfungsteilnehner Prüfungstermin Einzelprüfungsnutuner Kennzahl: Herbst 46111 Kennwort: L997 -Nr. : Arbeitsplatz Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen Prüfungsaufgaben Fach: Infornatik Einzelprüfung: Programmentw . / Systempr. /Datenbanksys gestellten Anzahl der Anzahl der Druckseit,en (nicht vertieft Themen (Aufgaben) : dieser Vorlage: Bitte wenden ! j. 3 studiert) . HerbsE, L997 Ernzel-prtrfungsnr. sämtliche Teilaufgaben : 45'11L Seite: sind zu bearbeitent 1. Programmentwicklung (1t) Mit folgenderDatenstruktur könneuin C binäre Bäumedargestellt werden: stnrct }[ode t struct llode *left, *right; stmct l{ode *parent; inf o. data; l; /* linker und rechter /* Elternlnoten */ */ /* Ihoteninhalt Kindknoten */ oder in Pescer,: TYPE nodepointer = -nod,e; node = REC0RD1eft, right: parent : data: BTD; nodepointer; D,odepointer; info (Der Datentyp info sei geeiguet definiert.) Schreiben Sie in der programmiersprache Ihrer Wahl eine rekursive Prozedur, die als Parameter den Zeiger auf die Wurzel des Baumes erhält und die Elemente in In-Order-Reihenfoige ausgibtl Zur Vereinfachung nehmen Sie an. daß es eine Druckprozed,ur print grbt, die Daten vom Typ info ausdruckt! (1b) Nehmen Sie nunmehr an, daß in der Datenstruktur nur die Komponentenleft , right und inf o besetztsind! SchreibenSie eine rekursive Prozedur, die zu jedem Knoten die parent-Komponente bestimmtl (1c) Lösen Sie jetzt noch einmai die Teilaufgabe(a), jedoch mit einer iterariven prozedur. ersetzenSie also die Rekursion durch eine-schleifel 2. Programmentwicklung (2a) Im Zusammenhangmit der axiomatischenSpezifikationvon Datenmoduln spielen die von Parnas stammendenBegriffe V-Funktion und O-Funktion eine Rolle. Was versteht man darunter. und wie kann man diese Funktionen einsetzen,um eine spezifikation als hinreichend vollständig zu erkennen? (2b) Seien die Datentypen Bool (mit der üblichen Semantik) und info als bekannr vorausgesetzt.Auf dem Datentyp stack seiendie folgendenOperationendefiniert: EnptyStack, IsEnpty, GetTop, push, pop. Welche dieser Funktionen sind V- und welcheO-Funktionen? Geben Sie eine hinreichendvollständige Spezifikationfür den Datentyp stack in aciomatischerForm an, wobei die formale Semantik der Operationen der durch die Operationsbezeichnungen gegebeneninformellen entsprichtl Fortsetzung nächste Seite ! 2 Herbst 1997 EinzelprüfungSrlr. : 46tt:'. Seite: 3 3. Systemprogrammierung (3a) Wir betrachten einen Mehrprogrammbetrieb.Welche drei Zustände kann ein aus der Sicht des Benutzers aktiver Prozeßaus der Sicht des Betriebssystemsannehmen. und welche ÜbergängezwischendiesenZuständen gibt es? (3b) Was versteht man in diesemZusammenhangunter verdrängungsfreienProzessorvergabestrategien? (3.) Wie arbeitet die Vergabestrategie,,Round Robin", und in rvelcher Betriebsart spielt sie eine wichtige Rolle? (3d) BeschreibenSie die Multilevel-Feedback-strategielWelche Vorteile hat dieseStrategie? 4. Datenbanksysteme In den letzten Jahren ist die objektorientierte Systementwicklungauch auf dem Gebiet der Datenbanken sehr aktuell geworden. ( a) Bei der objektorientierten Systementwicklungorientiert sich die Moduiarisierung an Objekten. Was versteht man in diesemZusammenhangunter Attributen. Methoden, Kapselung, Klassen,ver.ibung und polymorphismus? (4b) Als Motivation für die Einführung der objektorientierten Systementrvicklungwerden Schlagwörter rvie Errveiterbarkeit, \\'iederverrvendbarkeit und Wartbarkeit genannt. Was versteht man unter diesen Begriffen, wie unterscheidensie sich, und rvelcheder unter (a) genanntenKonzepte tragen in welcher Weise zu diesen Argumenten bei? (4c) Im relationalenDatenbankmodellkönnenObjekte nur durch Schlüsselidentifi ziert werden, also durch eines ihrer Attribute. Im objektorientierten Datenbankmodell läßt sich die Objektidentität eher konventionelldurch Zeiger bzw. Namen. aber auch durch Surrogate (identifizierendeAttribute) oder abstrakte Objekte erfassen. Erläutern Sie die Unterschiededieser Techniken am Beispiel einer SchemaDefinition für Bücher, wie man sie in einer Bibliotheksdatenbank benötigtl (4dl Neben der bereits in (a) angesprochenen Beziehungzwischen Klasse und Unterklassen ist auch die Beziehung zrvischenKlasse und Komponentenklassenvon Bedeutung. Erläutern Sie Begriffe wie gemeinsamesbzw. privates Komponentenobjekt, abhängigesbzw. unabhängigesKomponentenobjekt am Beispiei einer Bibliotheksdatenbankl(Hinrveis:NaheliegendeKlassensind z.B. Bücher. Studierende, Verlage,Ausleihungen)