tut13_1.pdf

48
Informatik I - Tutorium – Wintersemester 2007/08 – Christian J¨ ulg http://infotut.blogspot.com 04. Februar 2008 Universität Karlsruhe (TH) Forschungsuniversität · gegründet 1825 Quellennachweis & Dank an: Max Kramer, Bernhard M¨ uller, Benjamin Niedermann

Transcript of tut13_1.pdf

Page 1: tut13_1.pdf

Informatik I - Tutorium– Wintersemester 2007/08 –

Christian Julg

http://infotut.blogspot.com

04. Februar 2008

Universität Karlsruhe (TH)Forschungsuniversität · gegründet 1825

Quellennachweis & Dank an:Max Kramer, Bernhard Muller, Benjamin Niedermann

Page 2: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Ubersicht

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wiederholung: Grammatiken und DEA

4 Rekursion

5 Sichtbarkeiten

6 Probeklausur MuLoFeedback

Informatik I - Tutorium Christian Julg

Page 3: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wiederholung: Grammatiken und DEA

4 Rekursion

5 Sichtbarkeiten

6 Probeklausur MuLoFeedback

Informatik I - Tutorium Christian Julg

Page 4: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Wenn doch noch Fragen auftauchen...

Kontakt

Kontakt: [email protected]

Homepage: http://infotut.blogspot.com

bitte beachten:

Im Betreff der Emails [08] einfugen!

Informatik I - Tutorium Christian Julg

Page 5: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Organisatorisches

Rechnerubung

Nachste normale RU mit Anmeldung wieder ab Do, 07.02. im RZ,Pool B. Anmeldung per Email oder direkt im Tut.

Informatik I - Tutorium Christian Julg

Page 6: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Organisatorisches

Punktzahlen

Ab 273 Theorie && 96 Praxispunkten habt ihr den Schein.

Eure Punktzahl findet ihr wie immer online.

Informatik I - Tutorium Christian Julg

Page 7: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Organisatorisches

Klausuranmeldung

Fur Infos und InWis erfolgt die Anmeldung zu Klausur undSchein elektronisch (Selbstverwaltung).

Alle anderen melden sich fur die Klausur wie ublich an, derSchein wird normal ausgestellt.

Die Details findet ihr im Info1-Portal.

Informatik I - Tutorium Christian Julg

Page 8: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wiederholung: Grammatiken und DEA

4 Rekursion

5 Sichtbarkeiten

6 Probeklausur MuLoFeedback

Informatik I - Tutorium Christian Julg

Page 9: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Kurzer Ruckblick...

Informatik I - Tutorium Christian Julg

Page 10: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Kurzer Ruckblick...

Fragen?

Informatik I - Tutorium Christian Julg

Page 11: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wiederholung: Grammatiken und DEA

4 Rekursion

5 Sichtbarkeiten

6 Probeklausur MuLoFeedback

Informatik I - Tutorium Christian Julg

Page 12: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe

Gebe zu jeder der 3 folgenden Grammatiken ihren maximalenChomsky-Typ an.Begrunde deine Antwort.

Informatik I - Tutorium Christian Julg

Page 13: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6a (I)

G1 = (Σ1, N1, P1, A)

Σ1 = {0, 1}N1 = {A, B}P1 = {A→ 0A|1B|0

B → 1B|0A|1}

CH-3, da alle Produktionen rechtslinear sind.

Informatik I - Tutorium Christian Julg

Page 14: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6a (I)

G1 = (Σ1, N1, P1, A)

Σ1 = {0, 1}N1 = {A, B}P1 = {A→ 0A|1B|0

B → 1B|0A|1}

CH-3, da alle Produktionen rechtslinear sind.

Informatik I - Tutorium Christian Julg

Page 15: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6a (II)

G2 = (Σ2, N2, P2, A)

Σ2 = {0, 1, 2}N2 = {A, B}P2 = {A→ B0|21|ε

B → 1|A|B1

2→ 0|A|21}

CH-0. Durch die Kettenproduktionen B → A, 2→ A und dieProduktion A→ ε ist die Grammatik nicht mehr langenbeschrankt.

Informatik I - Tutorium Christian Julg

Page 16: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6a (II)

G2 = (Σ2, N2, P2, A)

Σ2 = {0, 1, 2}N2 = {A, B}P2 = {A→ B0|21|ε

B → 1|A|B1

2→ 0|A|21}

CH-0. Durch die Kettenproduktionen B → A, 2→ A und dieProduktion A→ ε ist die Grammatik nicht mehr langenbeschrankt.

Informatik I - Tutorium Christian Julg

Page 17: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6a (III)

G3 = (Σ3, N3, P3, A)

Σ3 = {0, 1}N3 = {A, B}P3 = {A→ 0A|1B

B → A0|1B}

CH-2. Die Produktionen entsprechen einzeln zwar den Forderungenan CH-3, da jedoch sowohl rechtslineare als auch linkslineareProduktionen vorkommen erfullt G3 nicht mehr die Kriterien furCH-3.

Informatik I - Tutorium Christian Julg

Page 18: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6a (III)

G3 = (Σ3, N3, P3, A)

Σ3 = {0, 1}N3 = {A, B}P3 = {A→ 0A|1B

B → A0|1B}

CH-2. Die Produktionen entsprechen einzeln zwar den Forderungenan CH-3, da jedoch sowohl rechtslineare als auch linkslineareProduktionen vorkommen erfullt G3 nicht mehr die Kriterien furCH-3.

Informatik I - Tutorium Christian Julg

Page 19: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6b

Geben Sie zu folgender Sprachen den einschrankendstenChomsky-Typ und eine Grammatik vom gleichen Typ an, die dieseSprache erzeugt.(2 Punkte)L(G4) = {an

i |n ∈ N, ai ∈ {01, 10}, i = 1, ..., n}

CH-3.

G4 = (Σ4, N4, P4, A)

Σ4 = {0, 1}N4 = {A, B, C}P4 = {A→ 1B|0C

B → 0A|0C → 1A|1}

Informatik I - Tutorium Christian Julg

Page 20: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6b

Geben Sie zu folgender Sprachen den einschrankendstenChomsky-Typ und eine Grammatik vom gleichen Typ an, die dieseSprache erzeugt.(2 Punkte)L(G4) = {an

i |n ∈ N, ai ∈ {01, 10}, i = 1, ..., n}

CH-3.

G4 = (Σ4, N4, P4, A)

Σ4 = {0, 1}N4 = {A, B, C}P4 = {A→ 1B|0C

B → 0A|0C → 1A|1}

Informatik I - Tutorium Christian Julg

Page 21: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Aufgabe 6c

Geben Sie fur L = {(ab)n|n ∈ N, n ≥ 1} einen deterministischen,vollstandigen Akzeptor an. (2 Punkte)

Informatik I - Tutorium Christian Julg

Page 22: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wiederholung: Grammatiken und DEA

4 Rekursion

5 Sichtbarkeiten

6 Probeklausur MuLoFeedback

Informatik I - Tutorium Christian Julg

Page 23: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Ein Rekursionsintermezzo

Was ist Rekursion?

Rekursion: die, siehe Rekursion

Informatik I - Tutorium Christian Julg

Page 24: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Ein Rekursionsintermezzo

Was ist Rekursion?

Rekursionen sind Funktionen, die ein Ergebnis berechnen, indemsie auf ein Ergebnis zuruckgreifen, dass sie schon einmal berechnethaben.

Solche Funktionen bestehen aus 2 Teilen:

Im ersten Teil wird uberpruft, ob ein elementarer Fall vorliegtund direkt ein Ergebnis zuruck geliefert werden kann.

Sollte das nicht zutreffen, ruft sich die Funktion mitveranderten Werten selbst wieder auf.

Informatik I - Tutorium Christian Julg

Page 25: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Ein Rekursionsintermezzo

Was ist Rekursion?

Rekursionen sind Funktionen, die ein Ergebnis berechnen, indemsie auf ein Ergebnis zuruckgreifen, dass sie schon einmal berechnethaben.

Solche Funktionen bestehen aus 2 Teilen:

Im ersten Teil wird uberpruft, ob ein elementarer Fall vorliegtund direkt ein Ergebnis zuruck geliefert werden kann.

Sollte das nicht zutreffen, ruft sich die Funktion mitveranderten Werten selbst wieder auf.

Informatik I - Tutorium Christian Julg

Page 26: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Ein Rekursionsintermezzo

Was ist Rekursion?

Rekursionen sind Funktionen, die ein Ergebnis berechnen, indemsie auf ein Ergebnis zuruckgreifen, dass sie schon einmal berechnethaben.

Solche Funktionen bestehen aus 2 Teilen:

Im ersten Teil wird uberpruft, ob ein elementarer Fall vorliegtund direkt ein Ergebnis zuruck geliefert werden kann.

Sollte das nicht zutreffen, ruft sich die Funktion mitveranderten Werten selbst wieder auf.

Informatik I - Tutorium Christian Julg

Page 27: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Ein Rekursionsintermezzo

Was ist Rekursion?

Rekursionen sind Funktionen, die ein Ergebnis berechnen, indemsie auf ein Ergebnis zuruckgreifen, dass sie schon einmal berechnethaben.

Solche Funktionen bestehen aus 2 Teilen:

Im ersten Teil wird uberpruft, ob ein elementarer Fall vorliegtund direkt ein Ergebnis zuruck geliefert werden kann.

Sollte das nicht zutreffen, ruft sich die Funktion mitveranderten Werten selbst wieder auf.

Informatik I - Tutorium Christian Julg

Page 28: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Beschrankungen

Endlos?

Java belegt fur jeden Methodenaufruf Speicher auf dem Stack

Dieser hat eine feste Große und beschrankt damit dieRekurionstiefe

Informatik I - Tutorium Christian Julg

Page 29: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Beschrankungen

Endlos?

Java belegt fur jeden Methodenaufruf Speicher auf dem Stack

Dieser hat eine feste Große und beschrankt damit dieRekurionstiefe

Informatik I - Tutorium Christian Julg

Page 30: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

rekursiv vs. iterativ

Aufgabe

Gruppen bilden

uberlegt euch einen rekursiven bzw. iterativen Algorithmus um

. . . die Fakultat der Zahl n zu berechnen.

. . . die Position einer Zahl in einem Array durch binare Suche

Informatik I - Tutorium Christian Julg

Page 31: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

rekursiv vs. iterativ

Aufgabe

Gruppen bilden

uberlegt euch einen rekursiven bzw. iterativen Algorithmus um

. . . die Fakultat der Zahl n zu berechnen.

. . . die Position einer Zahl in einem Array durch binare Suche

Informatik I - Tutorium Christian Julg

Page 32: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

rekursiv vs. iterativ

Aufgabe

Gruppen bilden

uberlegt euch einen rekursiven bzw. iterativen Algorithmus um

. . . die Fakultat der Zahl n zu berechnen.

. . . die Position einer Zahl in einem Array durch binare Suche

Informatik I - Tutorium Christian Julg

Page 33: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

rekursiv vs. iterativ

Aufgabe

Gruppen bilden

uberlegt euch einen rekursiven bzw. iterativen Algorithmus um

. . . die Fakultat der Zahl n zu berechnen.

. . . die Position einer Zahl in einem Array durch binare Suche

Informatik I - Tutorium Christian Julg

Page 34: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wiederholung: Grammatiken und DEA

4 Rekursion

5 Sichtbarkeiten

6 Probeklausur MuLoFeedback

Informatik I - Tutorium Christian Julg

Page 35: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Sichtbarkeiten in Java

Unterschiede?

Java kennt folgende 4 Sichtbarkeits-Modifikatoren:

public fur jeden sicht- und damit nutzbar

protected fur jede Unterklasse und Paketnachbarn sicht- undnutzbar

”default“ fur jeden im gleichen Paket sicht- und nutzbar

private nur fur Objekte der eigenen Klasse sicht- und nutzbar

Ganze Klassen konnen lediglich public oder default sein.

Informatik I - Tutorium Christian Julg

Page 36: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Sichtbarkeiten in Java

Unterschiede?

Java kennt folgende 4 Sichtbarkeits-Modifikatoren:

public fur jeden sicht- und damit nutzbar

protected fur jede Unterklasse und Paketnachbarn sicht- undnutzbar

”default“ fur jeden im gleichen Paket sicht- und nutzbar

private nur fur Objekte der eigenen Klasse sicht- und nutzbar

Ganze Klassen konnen lediglich public oder default sein.

Informatik I - Tutorium Christian Julg

Page 37: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Sichtbarkeiten in Java

Unterschiede?

Java kennt folgende 4 Sichtbarkeits-Modifikatoren:

public fur jeden sicht- und damit nutzbar

protected fur jede Unterklasse und Paketnachbarn sicht- undnutzbar

”default“ fur jeden im gleichen Paket sicht- und nutzbar

private nur fur Objekte der eigenen Klasse sicht- und nutzbar

Ganze Klassen konnen lediglich public oder default sein.

Informatik I - Tutorium Christian Julg

Page 38: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Sichtbarkeiten in Java

Unterschiede?

Java kennt folgende 4 Sichtbarkeits-Modifikatoren:

public fur jeden sicht- und damit nutzbar

protected fur jede Unterklasse und Paketnachbarn sicht- undnutzbar

”default“ fur jeden im gleichen Paket sicht- und nutzbar

private nur fur Objekte der eigenen Klasse sicht- und nutzbar

Ganze Klassen konnen lediglich public oder default sein.

Informatik I - Tutorium Christian Julg

Page 39: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Sichtbarkeiten in Java

Unterschiede?

Java kennt folgende 4 Sichtbarkeits-Modifikatoren:

public fur jeden sicht- und damit nutzbar

protected fur jede Unterklasse und Paketnachbarn sicht- undnutzbar

”default“ fur jeden im gleichen Paket sicht- und nutzbar

private nur fur Objekte der eigenen Klasse sicht- und nutzbar

Ganze Klassen konnen lediglich public oder default sein.

Informatik I - Tutorium Christian Julg

Page 40: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

”default“

1 package src;

2

3 class BookPackage {

4 String title;

5

6 BookPackage () {

7 System.out.println("Book: default");

8 }

9

10 public String getTitle (){

11 return title;

12 }

13 }

Informatik I - Tutorium Christian Julg

Page 41: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Pakethierarchie

1 package src.sub;

2

3 class BoringBook extends src.BookPackage {

4 public static void main(String [] a){

5 new BoringBook ();

6

7 System.out.println("Oberklasse.title: " +

title);

8 }

9 }

Informatik I - Tutorium Christian Julg

Page 42: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wiederholung: Grammatiken und DEA

4 Rekursion

5 Sichtbarkeiten

6 Probeklausur MuLoFeedback

Informatik I - Tutorium Christian Julg

Page 43: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Rest der Musterlosung

Aufgaben und Musterlosung findet ihr auf der Anmeldeseite.

Informatik I - Tutorium Christian Julg

Page 44: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

Informatik I - Tutorium Christian Julg

Page 45: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

War ich zu schnell? Zu langsam?

Informatik I - Tutorium Christian Julg

Page 46: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

War ich zu schnell? Zu langsam?

Habe ich bestimmte Sachen zu kurz behandelt?

Informatik I - Tutorium Christian Julg

Page 47: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

War ich zu schnell? Zu langsam?

Habe ich bestimmte Sachen zu kurz behandelt?

Was kann ich verbessern?

Informatik I - Tutorium Christian Julg

Page 48: tut13_1.pdf

Orga Blatt 11 & 12 Wdh: G + DEA Rekursion Sichtbarkeiten IPK

Informatik I - Tutorium Christian Julg