tut13_2.pdf

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

Transcript of tut13_2.pdf

Informatik I - Tutorium– Wintersemester 2007/08 –

Christian Julg

http://infotut.blogspot.com

08. Februar 2008

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

Quellennachweis & Dank an:Max Kramer, Bernhard Muller

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Ubersicht

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Wenn doch noch Fragen auftauchen...

Kontakt

Kontakt: [email protected]

Homepage: http://infotut.blogspot.com

bitte beachten:

Im Betreff der Emails [34] einfugen!

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Organisatorisches

Rechnerubung

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

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Organisatorisches

Punktzahlen

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

Eure Punktzahl findet ihr wie immer online.

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

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

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Kurzer Ruckblick...

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Kurzer Ruckblick...

Fragen?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Was sind Grammatiken?

Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.

Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.

Die Regeln heißen Produktionen und stecken in der Menge P.

Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).

Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.

Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Was sind Grammatiken?

Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.

Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.

Die Regeln heißen Produktionen und stecken in der Menge P.

Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).

Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.

Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Was sind Grammatiken?

Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.

Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.

Die Regeln heißen Produktionen und stecken in der Menge P.

Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).

Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.

Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Was sind Grammatiken?

Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.

Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.

Die Regeln heißen Produktionen und stecken in der Menge P.

Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).

Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.

Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Was sind Grammatiken?

Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.

Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.

Die Regeln heißen Produktionen und stecken in der Menge P.

Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).

Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.

Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Chomsky-Hierarchie

Wir konnen die Grammatiken in vier Klassen einteilen, Chomsky-0bis Chomsky-3. Dabei gilt:

Chomsky-n ) Chomsky-(n + 1)

Je kleiner die Nummer, desto machtiger kann die Grammatiksein

Chomsky-0 ist so machtig wie Semi-Thue und Markov

Chomsky-2-Grammatiken sind aquivalent zur(Erweiterten-)Backus-Naur-Form

Auch die Sprachen werden in diese Klassen gepackt: JedeSprache hat die Chomsky-Klasse der einfachsten Grammatik,die sie erzeugt. (Einfach = große Chomsky-Nummer)

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Chomsky-Hierarchie: Definition

Chomsky-0–Grammatik (CH-0):

allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)

Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)

Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗

Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Chomsky-Hierarchie: Definition

Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)

Chomsky-1–Grammatik (CH-1):

alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)

Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗

Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Chomsky-Hierarchie: Definition

Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)

Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)

Chomsky-2–Grammatik (CH-2):

kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗

Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Chomsky-Hierarchie: Definition

Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)

Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)

Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗

Chomsky-3–Grammatik (CH-3):

entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Chomsky-Hierarchie: Definition

Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)

Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)

Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗

Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Erinnerung

Kommentare

ein Kommentar, der ein einfaches Statement in naturlicherSprache beschreibt, ist sinnlos

der Ablauf des Programms kann nachvollzogen werden, eureAbsicht nicht! daher:

”tell me why“-Kommentare

sobald Programme etwas großer werden, sind Kommentareunersetzlich

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Erinnerung

Kommentare

ein Kommentar, der ein einfaches Statement in naturlicherSprache beschreibt, ist sinnlos

der Ablauf des Programms kann nachvollzogen werden, eureAbsicht nicht! daher:

”tell me why“-Kommentare

sobald Programme etwas großer werden, sind Kommentareunersetzlich

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Erinnerung

Kommentare

ein Kommentar, der ein einfaches Statement in naturlicherSprache beschreibt, ist sinnlos

der Ablauf des Programms kann nachvollzogen werden, eureAbsicht nicht! daher:

”tell me why“-Kommentare

sobald Programme etwas großer werden, sind Kommentareunersetzlich

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Erinnerung

Kommentare

ein Kommentar, der ein einfaches Statement in naturlicherSprache beschreibt, ist sinnlos

der Ablauf des Programms kann nachvollzogen werden, eureAbsicht nicht! daher:

”tell me why“-Kommentare

sobald Programme etwas großer werden, sind Kommentareunersetzlich

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Eine Ausname wird durch das Schlusselwort throw erzeugt.

Normalerweise werden sie”lokal“ durch einen try-catch-Block

behandelt

mittels finally werden Aufraumarbeiten garantiert ausgefuhrt

eine Methode, die eine explizit angegebene Exception nichtabfangt, muss dies in der Signatur durch throws. . . angeben

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Eine Ausname wird durch das Schlusselwort throw erzeugt.

Normalerweise werden sie”lokal“ durch einen try-catch-Block

behandelt

mittels finally werden Aufraumarbeiten garantiert ausgefuhrt

eine Methode, die eine explizit angegebene Exception nichtabfangt, muss dies in der Signatur durch throws. . . angeben

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Eine Ausname wird durch das Schlusselwort throw erzeugt.

Normalerweise werden sie”lokal“ durch einen try-catch-Block

behandelt

mittels finally werden Aufraumarbeiten garantiert ausgefuhrt

eine Methode, die eine explizit angegebene Exception nichtabfangt, muss dies in der Signatur durch throws. . . angeben

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Eine Ausname wird durch das Schlusselwort throw erzeugt.

Normalerweise werden sie”lokal“ durch einen try-catch-Block

behandelt

mittels finally werden Aufraumarbeiten garantiert ausgefuhrt

eine Methode, die eine explizit angegebene Exception nichtabfangt, muss dies in der Signatur durch throws. . . angeben

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Beispiel

1 import java.io.*;

2

3 public class ReadFile{

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

5 try {

6 RandomAccessFile f;

7 f = new RandomAccessFile( "ReadFile.java",

"r" );

8 for ( String line; (line=f.readLine ()) !=

null; )

9 System.out.println( line );

10 } catch ( FileNotFoundException e ) {

11 System.err.println( "Datei gibt’s nicht!" );

12 } catch ( IOException e ) {

13 System.err.println(

"Schreib -/ Leseprobleme!" );

14 }

15 }

16 }

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Sobald mit Threads gearbeitet wird, ist idR fur mancheProgrammteile

”gegenseitiger Ausschluss“/

”mutex“

wunschenswert

einfache Losung: schutzen einer Methode durch synchronized

in der Signatur

entspricht einem synchronized-Block in der Methode, der aufthis bzw. das jeweilige .class wirkt

das Konzept hinter synchronized wird als”Monitor“ bezeichnet

mehr Synchronisierungsmoglichkeiten findet ihr injava.util.concurrent

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Sobald mit Threads gearbeitet wird, ist idR fur mancheProgrammteile

”gegenseitiger Ausschluss“/

”mutex“

wunschenswert

einfache Losung: schutzen einer Methode durch synchronized

in der Signatur

entspricht einem synchronized-Block in der Methode, der aufthis bzw. das jeweilige .class wirkt

das Konzept hinter synchronized wird als”Monitor“ bezeichnet

mehr Synchronisierungsmoglichkeiten findet ihr injava.util.concurrent

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Sobald mit Threads gearbeitet wird, ist idR fur mancheProgrammteile

”gegenseitiger Ausschluss“/

”mutex“

wunschenswert

einfache Losung: schutzen einer Methode durch synchronized

in der Signatur

entspricht einem synchronized-Block in der Methode, der aufthis bzw. das jeweilige .class wirkt

das Konzept hinter synchronized wird als”Monitor“ bezeichnet

mehr Synchronisierungsmoglichkeiten findet ihr injava.util.concurrent

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Sobald mit Threads gearbeitet wird, ist idR fur mancheProgrammteile

”gegenseitiger Ausschluss“/

”mutex“

wunschenswert

einfache Losung: schutzen einer Methode durch synchronized

in der Signatur

entspricht einem synchronized-Block in der Methode, der aufthis bzw. das jeweilige .class wirkt

das Konzept hinter synchronized wird als”Monitor“ bezeichnet

mehr Synchronisierungsmoglichkeiten findet ihr injava.util.concurrent

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Deklaration

Sobald mit Threads gearbeitet wird, ist idR fur mancheProgrammteile

”gegenseitiger Ausschluss“/

”mutex“

wunschenswert

einfache Losung: schutzen einer Methode durch synchronized

in der Signatur

entspricht einem synchronized-Block in der Methode, der aufthis bzw. das jeweilige .class wirkt

das Konzept hinter synchronized wird als”Monitor“ bezeichnet

mehr Synchronisierungsmoglichkeiten findet ihr injava.util.concurrent

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Rest der Musterlosung

Aufgaben und Musterlosung findet ihr auf der Anmeldeseite.

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Schon wieder Mathe...

Schleifenin...was???

Schleifeninvarianten. . .

sind Aussagen, die am Anfang und am Ende einesSchleifendurchlaufs gelten.

helfen, die Korrektheit eines Programmes zu beweisen.

beweist man meist durch vollstandige Induktion.(Wiederholung notig?)

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Aufgabe

int a = In.readInt();

int b = In.readInt();

if (a > b) {

int h = a;

a = b;

b = h;

}

int z = b;

int i = 1;

while ((z % a) != 0){ /*1*/

z += b; /*2*/

i++; /*3*/

}

Beweist oder widerlegt diefolgendenen Aussagen:

1 z = b · i ist eineSchleifeninvariante fur diewhile-Schleife

2 LCM(a, b) = LCM(a, z) isteine Schleifeninvariante furdie while-Schleife

3 Die while-Schleifeterminiert

Hinweise: Verwende geeigneteZusicherungen an den Positionen1,2 und 3.

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Losung Aufgabe 1

int a = In.readInt();

int b = In.readInt();

if (a > b) {

int h = a;

a = b;

b = h;

}

int z = b;

int i = 1;

while ((z % a) != 0){ /*1*/

z += b; /*2*/

i++; /*3*/

}

Induktionsanfang: n = 1Zu Beginn des 1. Schleifendurchlaufs:z1 = b = b · 1 = b · i1

Induktionsannahme:Beim n-ten Durchlauf gelte beiSchleifenbeginn (/*1*/): zn = b · inInduktionsschluss: (n→ n + 1)Es gelten folgende Zusicherungen:

/*1*/ zn = b · in./*2*/ zn+1 = zn + b.

/*3*/ in+1 = in + 1.

Also gilt:

zn+1 = zn + b = b · in + b

= b · (in + 1) = b · in+1

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Losung Aufgabe 1 (Fortsetzung)

int a = In.readInt();

int b = In.readInt();

if (a > b) {

int h = a;

a = b;

b = h;

}

int z = b;

int i = 1;

while ((z % a) != 0){ /*1*/

z += b; /*2*/

i++; /*3*/

}

Die Schleifeninvariante gilt alsoam Ende des n-ten Durchlaufund damit auch am Anfang desn + 1-ten Durchlauf.Duch die Induktion ist nungezeigt, dass z = b · i am Anfangund am Ende jedesSchleifendurchlaufes gilt. Damitist bewiesen, dass es eineSchleifeninvariante ist.

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Losung Aufgabe 2

int a = In.readInt();

int b = In.readInt();

if (a > b) {

int h = a;

a = b;

b = h;

}

int z = b;

int i = 1;

while ((z % a) != 0){ /*1*/

z += b; /*2*/

i++; /*3*/

}

Wir widerlegen durchGegenbeispiel:Seien a = 3 und b = 5.

/*1*/ z1 = b = 5

⇒ LCM(a, b) = LCM(a, z1)

/*3*/ z2 = b · i2 = 5 · 2 = 10

LCM(a, b) = 15LCM(a, z2) = 30

⇒ keine Schleifeninvariante

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Losung Aufgabe 3

int a = In.readInt();

int b = In.readInt();

if (a > b) {

int h = a;

a = b;

b = h;

}

int z = b;

int i = 1;

while ((z % a) != 0){ /*1*/

z += b; /*2*/

i++; /*3*/

}

1 Zu Beginn gilt z = b

2 z wachst mit jedemDurchlauf monoton um b

3 z mod a = 0 genau dann,wenn z Vielfaches von a ist

4 Nach a Schritten istz = b · a Vielfaches von a

5 Die Schleife terminiert nach(spatestens) a Schritten

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Neue Aufgabe

int a = In.readInt();

if (a < 0) {

a = - a;

}

int result = 1;

int i = 0;

int dual = 1;

while (i < a){ /*1*/

dual += dual; /*2*/

result += dual; /*3*/

i++; /*4*/

}

Beweist oder widerlegt diefolgendenen Aussagen:

1 result =∑|i |

k=0 2k ist eineSchleifeninvariante fur diewhile-Schleife.

2 result = 2|i | − 1 ist eineSchleifeninvariante fur diewhile-Schleife.

3 Die while-Schleifeterminiert.

Hinweise: Verwende geeigneteZusicherungen an den Positionen1,2 und 3.

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

1 Organisatorisches

2 Ubungsblatt 11 & 12

3 Wdh.

4 Exceptions

5 Synchronisation

6 Probeklausur MuLo

7 Wiederholung Schleifeninvariante

8 EndeFeedback

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Einige

Themen des Semesters.

Information und Code

UML

O-Notation

EBNF

Syntaxdiagramm

Von-Neumann

JVM

Typkompatibilitat

JavaSchleifenParamterubergabeSichtbarkeitswitch

Schleifeninvariante

Halbgruppe und Monoid

GraphenWarshall

Boolsche AlgebraNormalformenKantorowitsch-BaumPra-Inf-Postfix

Semi-Thue

Markov

GrammatikenChomsky-Hierarchie

endl. AutomatenMealey-Moore-Vollst.Akzeptor

RegEx

Objektorientierung

Dynamische Datenstrukturen

Prozessverwaltung

Speicherverwaltung

Threads und Exceptions

Rekursion

Zusammengetragen von Max Kramer.

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Einige

auf jeden Fall klausurrelevante Themen des Semesters.

Information und Code

UML

O-Notation

EBNF

Syntaxdiagramm

Von-Neumann

JVM

Typkompatibilitat

JavaSchleifenParamterubergabeSichtbarkeitswitch

Schleifeninvariante

Halbgruppe und Monoid

GraphenWarshall

Boolsche AlgebraNormalformenKantorowitsch-BaumPra-Inf-Postfix

Semi-Thue

Markov

GrammatikenChomsky-Hierarchie

endl. AutomatenMealey-Moore-Vollst.Akzeptor

RegEx

Objektorientierung

Dynamische Datenstrukturen

Prozessverwaltung

Speicherverwaltung

Threads und Exceptions

Rekursion

Zusammengetragen von Max Kramer.

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wann ist Anmeldeschluss fur die Klausur?

Wie melde ich mich an?

Was sind Exception?

Was sind Threads?

Wie gehe ich mit Grammatiken um?

Wie beweise ich eine Schleifeninvariante?

Ihr wisst was nicht?

Stellt jetzt Fragen!

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

War ich zu schnell? Zu langsam?

Informatik I - Tutorium Christian Julg

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

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

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

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

Orga Blatt 11 & 12 Wdh. Exceptions Synchronisation IPK Schleifeninvariante Ende

Informatik I - Tutorium Christian Julg