• Keine Ergebnisse gefunden

TB5-CPB, SS11 Seite 1 Nachklausur, geschrieben am Fr 23.09.2011

N/A
N/A
Protected

Academic year: 2021

Aktie "TB5-CPB, SS11 Seite 1 Nachklausur, geschrieben am Fr 23.09.2011"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorname Nachname Matrikel-Nr.

Diese Klausur besteht aus 4 Aufgaben. Schreiben Sie jede Lösung auf die Vorderseite eines neuen Blattes (und lassen Sie die Rückseiten Ihrer Lösungsblätter leer).

Notation für Grammatiken: Fassen Sie Endsymbole in doppelte Anführungszeichen ein, um sie von den Zwischensymbolen zu unterscheiden. Benutzen Sie einen Doppelpunkt : als Trennsymbol (zwi- schen der linken und rechten Seite einer Regel, wie in Gentle).

Aufgabe 1 (20 Punkte): Geben Sie eine (kontextfreie, Typ-2-) Grammatik an für die Menge aller Zah- len im 3-er-System, die (ohne Rest) durch 5 teilbar sind. StartsymbolRK0 (wie "Restklasse 0").

Aufgabe 2 (30 Punkte): Betrachten Sie die folgende Grammatik für Ausdrücke (Endsymbole sind in doppelte Anführungszeichen eingefaßt, z.B."#1" oder"c".AUS1 ist das Startsymbol):

AUS1 : AUS1 "#1" AUS2 AUS1 : AUS2

AUS2 : AUS3 "#2" AUS2 AUS2 : AUS3

AUS3 : "#3" AUS4 AUS3 : AUS4 AUS4 : "#4" AUS4 AUS4 : LIT

AUS4 : "(" AUS1 ")"

LIT : "a"

LIT : "b"

LIT : "c"

In dieser Grammatik kommen die Operatoren#1,#2,#3,#4 vor. Geben Sie als Antworten auf die folgenden Fragen die zutreffenden Operatoren an:

2.01. Alle zweistelligen Operatoren?

2.02. Alle einstelligen Operatoren?

2.03. Alle linksassoziativen Operatoren?

2.04. Alle rechtsassoziativen Operatoren?

2.05. Welcher zweistellige Operator bindet am stärksten?

2.06. Welcher einstellige Operator bindet am schwächsten?

Welche der folgenden Worte kan man aus obiger Grammatik ableiten (JA) und welche nicht (NEIN)?

2.07. #3 #3 a 2.08. #4 #4 b 2.09. a #2 b #1 c 2.10. c #1 c #2 a

(2)

Aufgabe 3 (30 Punkte): Betrachten Sie folgende Vereinbarung eines (Gentle-) Typs:

'type' LISTE leer

list(Elem: INT, Rest: LISTE)

3.1. Schreiben Sie ein Prädikat entsprechend der folgenden Spezifikation:

'condition' keineZwillinge(L: LISTE)

-- Gelingt, wenn L keinen Zwilling (2 gleiche, benachbarte Elemente) enthält.

-- Beispiele:

-- Die Liste list(5, list(6, list(6, list(3, leer)))) enthält einen Zwilling -- Die Liste list(6, list(5, list(6, list(3, leer)))) enthält keinen Zwilling

3.2. Schreiben Sie ein Prädikat entsprechend der folgenden Spezifikation:

'action' mod(Dend: INT, Dor: INT -> Rest: INT)

-- Berechnet den Rest, der sich nach der Ganzzahldivision von -- Dend durch Dor ergibt. Beispiel: Nach dem Aufruf

-- mod(13, 5 -> R) hat R den Wert 3 (13/5 ist gleich 2 Rest 3)

3.3. Schreiben Sie ein Prädikat entsprechend der folgenden Spezifikation:

'action' dieUngeraden(Rein: LISTE -> Raus: LISTE)

-- Raus enthaelt alle ungeraden Zahlen aus Rein. Beispiel:

-- Nach dem Aufruf dieUngeraden(list(5, list(2, list(7, leer)))-> L) -- hat L den Wert list(7, list(5, leer)).

(3)

Aufgabe 4 (20 Punkte): Beantworten Sie die folgenden Fragen möglichst kurz, aber präzise und ver- wenden Sie dabei möglichst die in der Lehrveranstaltung eingeführten Fachbegriffe.

4.1. Was ist eine Satzform (im Zusammenhang mit einer Grammatik)?

4.2. Welche Bedingungen (oder Einschränkungen) muss eine Chomsky-RegelLS -> RS erfüllen, damit sie rechtslinear ist?

4.3. Die kontextfreie Grammatik der Programmiersprache Java beschreibt eine bestimmte formale Sprache S. Was hat diese Sprache S mit der Sprache Java zu tun? Ist S gleich Java? Oder ist S eine Teilmenge von Java? Oder ist Java eine Teilmenge von S? Oder ist keine dieser beiden Sprachen eine Teilmenge der anderen?

4.4. Welchen Wert hat der Ausdruck 2 ** 2 ** 3 wenn der Potenzierungs-Operator**

als rechtsassoziativer Operator bzw.

als linksassoziativer Operator

definiert wurde. Geben Sie als Antwort zwei konkrete Zahlen (keine "Rechenaufgaben") an.

Der Gentle-TypBAUM sei wie folgt definiert:

'type' BAUM leer

b(INT, BAUM, BAUM)

4.5. Geben Sie drei Grundterme des TypsBAUM an. Diese Grundterme sollen Bäume repräsentieren, die sich durch ihre Struktur unterscheiden (nicht nur durch die darin enthaltenenINT-Werte).

4.6. Geben Sie einen Term des TypsBAUM an, der als Muster auf alle nicht-leeren Bäume passt.

4.7. Geben Sie einen Term des TypsBAUM an, der als Muster auf alle Bäume passt.

4.8. Wie heißt der Jasmin-Befehl (Java-Assembler-Befehl), mit dem man eine 8-Bit-Ganzzahl auf den Stapel laden kann? Ebenso für 16-Bit-Ganzzahlen.

(4)

Beurteilung der Klausur: Korrigierte Beurteilung der Klausur:

Punkte↓ Punkte↓

Aufgabe 1: Note: Aufgabe 1: Note:

Aufgabe 2: Datum: Aufgabe 2: Datum:

Aufgabe 3: Aufgabe 3:

Aufgabe 4: Aufgabe 4:

Summe: Summe:

(5)

Lösung 1 (20 Punkte): Geben Sie eine (kontextfreie, Typ-2-) Grammatik an für die Menge aller Zah- len im 3-er-System, die (ohne Rest) durch 5 teilbar sind. StartsymbolRK0 (wie "Restklasse 0").

R01: RK0 : "0" R07: RK3 : RK1 "0" R13: RK4 : RK3 "0"

R02: RK1 : "1" R08: RK4 : RK1 "1" R14: RK0 : RK3 "1"

R03: RK2 : "2" R09: RK0 : RK1 "2" R15: RK1 : RK3 "2"

R04: RK0 : RK0 "0" R10: RK1 : RK2 "0" R16: RK2 : RK4 "0"

R05: RK1 : RK0 "1" R11: RK2 : RK2 "1" R17: RK3 : RK4 "1"

R06: RK2 : RK0 "2" R12: RK3 : RK2 "2" R18: RK4 : RK4 "2"

Lösung 2 (30 Punkte): Betrachten Sie die folgende Grammatik für Ausdrücke (Endsymbole sind in doppelte Anführungszeichen eingefaßt, z.B."#1" oder"c".AUS1 ist das Startsymbol):

AUS1 : AUS1 "#1" AUS2 AUS1 : AUS2

AUS2 : AUS3 "#2" AUS2 AUS2 : AUS3

AUS3 : "#3" AUS4 AUS3 : AUS4 AUS4 : "#4" AUS4 AUS4 : LIT

AUS4 : "(" AUS1 ")"

LIT : "a"

LIT : "b"

LIT : "c"

In dieser Grammatik kommen die Operatoren#1,#2,#3,#4 vor. Geben Sie als Antworten auf die folgenden Fragen die zutreffenden Operatoren an:

2.01. Alle zweistelligen Operatoren? #1, #2

2.02. Alle einstelligen Operatoren? #3, #4

2.03. Alle linksassoziativen Operatoren? #1 2.04. Alle rechtsassoziativen Operatoren? #2 2.05. Welcher zweistellige Operator bindet am stärksten? #2 2.06. Welcher einstellige Operator bindet am schwächsten? #3

Welche der folgenden Worte kan man aus obiger Grammatik ableiten (JA) und welche nicht (NEIN)?

2.07. #3 #3 a NEIN

2.08. #4 #4 b JA

2.09. a #2 b #1 c JA

2.10. c #1 c #2 a JA

(6)

Lösung 3 (30 Punkte): Betrachten Sie folgende Vereinbarung eines (Gentle-) Typs:

'type' LISTE leer

list(Elem: INT, Rest: LISTE)

3.1. Schreiben Sie ein Prädikat entsprechend der folgenden Spezifikation:

'condition' keineZwillinge(L: LISTE)

-- Gelingt, wenn L keinen Zwilling (2 gleiche, benachbarte Elemente) enthält.

-- Beispiele:

-- Die Liste list(5, list(6, list(6, list(3, leer)))) enthält einen Zwilling -- Die Liste list(6, list(5, list(6, list(3, leer)))) enthält keinen Zwilling 'rule' keineZwillinge(leer): .

'rule' keineZwillinge(list(N, leer)): .

'rule' keineZwillinge(list(N1, list(N2, L2))):

ne(N1, N2)

keineZwillinge(list(N2, L2))

3.2. Schreiben Sie ein Prädikat entsprechend der folgenden Spezifikation:

'action' mod(Dend: INT, Dor: INT -> Rest: INT)

-- Berechnet den Rest, der sich nach der Ganzzahldivision von -- Dend durch Dor ergibt. Beispiel: Nach dem Aufruf

-- mod(13, 5 -> R) hat R den Wert 3 (13/5 ist gleich 2 Rest 3) 'rule' mod(DEND, DOR -> DEND - (DOR * DEND / DOR)): .

3.3. Schreiben Sie ein Prädikat entsprechend der folgenden Spezifikation:

'action' dieUngeraden(Rein: LISTE -> Raus: LISTE)

-- Raus enthaelt alle ungeraden Zahlen aus Rein. Beispiel:

-- Nach dem Aufruf dieUngeraden(list(5, list(2, list(7, leer)))-> L) -- hat L den Wert list(7, list(5, leer)).

'rule' dieUngeraden(leer -> leer): .

'rule' dieUngeraden(list(N, L) -> list(N, DUL)):

mod(N, 2 -> REST) ne(REST, 0)

dieUngeraden(L -> DUL)

'rule' dieUngeraden(list(N, L) -> DUL):

dieUngeraden(L -> DUL)

(7)

Lösung 4 (20 Punkte): Beantworten Sie die folgenden Fragen möglichst kurz, aber präzise und ver- wenden Sie dabei möglichst die in der Lehrveranstaltung eingeführten Fachbegriffe.

4.1. Was ist eine Satzform (im Zusammenhang mit einer Grammatik)?

Eine (endliche, leere oder nicht-leere) Folge von Zwischensymbolen und/oder Endsymbolen.

4.2. Welche Bedingungen (oder Einschränkungen) muss eine Chomsky-RegelLS -> RS erfüllen, damit sie rechtslinear ist?

LS muss aus genau einem Zwischensymbol bestehen.

RS muss mit einem Zwischensymbol enden und darf ansonsten nur Endsymbole enthalten.

4.3. Die kontextfreie Grammatik der Programmiersprache Java beschreibt eine bestimmte formale Sprache S. Was hat diese Sprache S mit der Sprache Java zu tun? Ist S gleich Java? Oder ist S eine Teilmenge von Java? Oder ist Java eine Teilmenge von S? Oder ist keine dieser beiden Sprachen eine Teilmenge der anderen?

Java ist eine Teilmenge von S.

4.4. Welchen Wert hat der Ausdruck 2 ** 2 ** 3 wenn der Potenzierungs-Operator**

als rechtsassoziativer Operator bzw.

als linksassoziativer Operator

definiert wurde. Geben Sie als Antwort zwei konkrete Zahlen (keine "Rechenaufgaben") an.

Rechtsassoziativ: (2 ** 8 gleich) 256 Linksassoziativ: (4 ** 3 gleich) 64 Der Gentle-TypBAUM sei wie folgt definiert:

'type' BAUM leer

b(INT, BAUM, BAUM)

4.5. Geben Sie drei Grundterme des TypsBAUM an. Diese Grundterme sollen Bäume repräsentieren, die sich durch ihre Struktur unterscheiden (nicht nur durch die darin enthaltenenINT-Werte).

z.B. leer, b(17, leer, leer), b(22, b(17, leer, leer), leer)

4.6. Geben Sie einen Term des TypsBAUM an, der als Muster auf alle nicht-leeren Bäume passt.

b(N, B1, B2)

4.7. Geben Sie einen Term des TypsBAUM an, der als Muster auf alle Bäume passt.

B

4.8. Wie heißt der Jasmin-Befehl (Java-Assembler-Befehl), mit dem man eine 8-Bit-Ganzzahl auf den Stapel laden kann? Ebenso für 16-Bit-Ganzzahlen.

bipush, sipush

Referenzen

ÄHNLICHE DOKUMENTE

1) Einfügen in Rot-Schwarz Baum (zeichnen) Geben Sie Rot-Schwarz-Bäume an (mit allen. Zwischenschritten), die beim Einfügen der Buchstaben

Welche Bedingung (oder Einschränkung) muss eine Chomsky-Regel LS : RS erfüllen, damit sie in einer Typ-1-Grammatik erlaubt

Es wird daher empfohlen, die Bearbeitungsreihenfolge der Aufgaben selbst durch Absch¨atzung des Aufwands f¨ur die einzelnen Aufgaben festzulegen, und dabei zu beachten dass

Design a graphical user interface for such a notepad application that incorporates the considera- tions discussed above.. Use paper and a pencil to arrange the layout of your

Create another entry for the period starting at the 1st of August and ending at the 10th of September 2010.. Modify the entry of the 1st of July 2010, e.g., another time or

Als der Zeitgeist noch sozi- alistisch war und niemand die spätere liberale Renaissance für denkbar hielt, ermahnte Friedrich August von Hayek sein bürgerliches Publikum, sich

Die Nachklausur Analysis 1 f¨ ur Mathematiker, Wirtschaftsmathematiker und Lehr¨ amtler findet als 90-min¨ utige Klausur statt. F¨ ur Mathematiker und Wirtschaftsmathematiker ist

Für alle Eisenbahnstrecken und Bahnhöfe sollen Alarm- und Einsatzpläne durch die Feuerwehren erstellt werden.. Die Alarm- und Einsatzplanung ist nach landesrechtlichen Regelungen