tut13_2.pdf
-
Upload
asegovia7246 -
Category
Documents
-
view
1 -
download
0
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