Prüfungsklausur

Werbung
Fachbereich Informatik/Mathematik
LV Grundlagen der Informatik“
”
Prof. Dr.-Ing. habil. H. Fritzsche
Dresden, den 10.2.2003
Prüfungsklausur
Erreichbare Punkte: 60
Hilfsmittel: keine
_________________________________
Name, Vorname, Matr.-Nr.
1. Entwickeln Sie ein Maschinenprogramm für die in der Vorlesung angegebene hypothetische Maschine, das
y=
(
1 für (a 6= 0) ∧ (a Modulo 2 = 0)
0 sonst
berechnet. Die Anfangsadresse des Programmes sei 000. Der Wert von a soll unmittelbar im Anschluß an die Befehlsfolge bereitgestellt werden, und an der Stelle von
a soll nach Berechnung der Wert von y stehen. Weitere Speicherplätze können für
benötigte Hilfsgrößen und Konstanten benutzt werden.
Befehlscodes:
50 - STORE, 58 - LOAD, 5A - ADD, 5B - SUB, 5C - MULT,
5D - QUOT, 5E - MODULO, 47 - JUMP, 48 - JUMPZERO,
45 - STOP
8 Punkte
2. Gegeben seien die 8-Bit-Interndarstellungen für zwei ganze Zahlen x und y (negative
Zahlen im Zweierkomplement):
x:
00110101
y:
11100110
Geben Sie an
a) die Interndarstellung von x + y
b) die Interndarstellung von x - y
5 Punkte
3. Gegeben sei folgende Typ-Definition für Listen in Modula-2:
TYPE pt = POINTER TO elem;
elem = RECORD value:CARDINAL;
next:pt END;
Geben Sie eine Funktionsprozedur f in Modula-2 an, die ein Array a von CARDINALZahlen als call-by-reference“-Parameter und eine Funktionsprozedur p vom Typ
”
ctc = PROCEDURE(CARDINAL):CARDINAL als call-by-value“-Parameter übergeben
”
bekommt. f soll eine Liste mit HIGH(a)+1 Elementen vom Typ elem erzeugen und
den Zeiger auf diese Liste als Wert zurückgeben. Die Liste soll so aufgebaut sein,
dass für alle Elemente a[i] (1 ≤ i ≤ HIGH(a)+1) des Feldes a der Funktionswert
p(a[i]) im Record-Feld value des i-ten Listenelementes abgespeichert ist.
10 Punkte
b.w.
4. Beschreiben Sie eine Warteschlange als Klasse Queue in Form eines UML-KlassenDiagrammes. Geben Sie dabei alle Charakteristika an, die ein Anwender zur Benutzung der Klasse benötigt! Beschreiben Sie eine weitere Klasse SortedQueue und
geben Sie deren Beziehung zur Klasse Queue an. SortedQueue soll gegenüber Queue
in der Weise spezialisiert sein, daß die Elemente in der Schlange entsprechend ihrem
Wert geordnet sind (Existenz eines Ordungskriteriums vorausgesetzt). Ein einzukettendes Element wird nicht an das Ende der Schlange gestellt, sondern entsprechend
der Größe seines Wertes in der Schlange positioniert.
7 Punkte
5. Gegeben sei eine Grammatik G1 = (N1 , T1 , R1 , A) mit der Menge der Nichtterminalsymbole N1 = {A, B} , der Menge der Terminalsymbole T1 = { a, b, c}, der Menge
der Regeln


A → aBa
(1)










| bAb
(2)








|c
(3)
R1 =


B → Bc
(4)










| aA
(5)






|
(6)
und dem Startsymbol A.
a) beschreibt G1 eine reguläre Sprache? Begründen Sie Ihre Antwort!
b) zeigen Sie, ob baaaacccaab eine gültige Zeichenkette ist ! Geben Sie eine
Reihenfolge an, in der die Regeln bei einer Top-down-Analyse (beginnend beim
Startsysmbol) angewendet werden! Gibt es mehrere unterschiedliche Sequenzen?
8 Punkte
6. Gegeben sei folgende MODULA-2-Deklaration für binäre Bäume:
TYPE ptree=POINTER TO tree;
tree =RECORD key:CARDINAL;
lsucc,rsucc:ptree
END
Definieren Sie eine rekursive Funktionsprozedur anznull in MODULA-2, die die
Anzahl der Knoten ermittelt, für die key=0 gilt! Der Zeiger auf den Baum ist
anznull als Parameter zu übergeben!
10 Punkte
7. Werten Sie folgenden LISP-Ausdruck aus! Geben Sie auch die Ergebnisse der Auswertung aller Teilausdrücke an:
(cons ’x (reverse(cdr(car(append ’((a(b c) d)) ’(e))))))
6 Punkte
8. Versuchen Sie, die Allgemeingültigkeit folgender aussagenlogischer Formel mit Hilfe
des Resolutionsprinzips zu beweisen:
(B ∨ ¬D) ∧ (A ∨ ¬B ∨ ¬C) ∧ D → (A ∨ ¬C)
6 Punkte
Herunterladen