Teil X. Programmverifikation. Spezifikation eines Algorithmus einer Funktion einer Prozedur. Vorbedingungen Parameter Wertebereiche
|
|
- Dirk Ritter
- vor 8 Jahren
- Abrufe
Transkript
1 Teil X Programmverifikation STRUKTURIERTES PROGRAMMIEREN Vorlesung im Wintersemester 2015 Prof. E.G. Schukat-Talamazzini Stand: 24. Juli 2015 Robert W Floyd Sir Charles Antony Richard Hoare *1934 Spezifikation eines Algorithmus einer Funktion einer Prozedur Vorbedingungen Parameter Wertebereiche START Bindungen Verletzung? garbage in garbage out Ausnahme/Abbruch Nachbedingungen Resultate (Neben-) ZIEL wirkungen Terminierung? Ziel wird unbedingt erreicht Ziel wird ggf. erfüllt reellwertige Quadratwurzel ganzzahlige Quadratwurzel Vorbedingung x IR, x 0 x Z, x 0 Nachbedingung r 2 = x, r 0 r 2 x < (r + 1) 2 Diese VB/NB sind effektiv überprüfbar!
2 Zusicherungen und ihre Gültigkeit Logische wenn/dann-beschreibung für Zustandsübergänge Definition Ist S eine Anweisung und sind B und C boolesche Ausdrücke, so heißt B S C eine Zusicherung für S mit der Vorbedingung B und der Nachbedingung C. Die Zusicherung heißt gültig, wenn für alle Belegungen β mit definiertem Nachfolgezustand β = I [S] (β) gilt: { Bedingung B gilt vor S I β [B] = L I β [C] = L { Bedingung C gilt nach S "vorher" Vor/Nachbedingungen und Zustandsmengen Logische Äquivalenz: B {β I β [B] = L 2 4 β 5 Z β Zusicherung als Zustandsraumbeschreibung Die Nachbedingung C ist im Bild als Menge von Zuständen dargestellt. Für C sind die folgenden Mengen (Prädikate) gültige Vorbedingungen: {β 2, β 3, β 4, {β 1, β 2, β 3, β 4, {β 1, β 5, { ungültige Vorbedingungen: {β 1, β 2, β 3, β 4, β 5, β 6 gültige und terminierende Vorbedingungen: {β 2, β 3, β 5, {β 2 C Z "nachher" Partielle und totale Korrektheit Eigenschaft einer Anweisung relativ zur Spezifikation Definition Es seien S eine Programmanweisung und B V, B N die Vor- bzw. Nachbedingungen der Spezifikation. Dann heißt S partiell korrekt für die Spezifikation, wenn die Zusicherung B V S B N gültig ist. S heißt total korrekt, wenn zusätzlich gilt: I β [B V ] = L I [S] (β) Partiell K. Ergebnis NB richtig Total K. VB richtig Ergebnis Geschäftsmodell: Verkaufe nichtterminierende Programme!
3 Klassischer Korrektheitstest Aufgabenstellung y = f (x 1,..., x n ) mit Programmcode S und Spezifikation B V S B N Algorithmus 1 ARGUMENTKONFIGURATION Erzeuge nächste Argumentliste (ξ 1,..., ξ n ) 2 VORBEDINGUNGSTEST Wenn B V false, so 1 3 BERECHNUNG Berechne y = f (ξ 1,..., ξ n ) durch S-Ausführung 4 TERMINIERUNGSTEST Wenn y, so 1 5 NACHBEDINGUNGSTEST Wenn B N true, so 1 6 TESTENDE Melde Programm S ist nicht partiell korrekt Algorithmus Terminierung Mit Garantie nur bei endlichem Aufgabenbereich Falsifizierer Andernfalls Beendigung nur mit negativem Bescheid Totaler Test In Schritt 4 nach Schritt 6 statt 1 gehen Vom Test zur Verifikation Fakt Ist der Argumentebereich unendlich oder astronomisch groß, so muss die Korrektheit bewiesen statt getestet werden. Floydsche Methode Verifikation einfacher Laufschleifen Nachweis lediglich der partiellen Korrektheit Erweiterung auf einfache Flussdiagramme Definition (Schleifeninvariante) Ein Prädikat J heißt Schleifeninvariante der Wiederholungsanweisung while (B) S, wenn die Zusicherung J B S J gültig ist. Folgerung (Schleifenzusicherung) Es gilt dann auch die Zusicherung J while(b) S J B. Ganzzahlige Quadratwurzelberechnung Vorbedingung x 0 Nachbedingung r 2 x < (r + 1) 2 code int wurzel (int x) { int r = 0; int y = 1; int z = 1; while (y <= x) { r += 1; z += 2; y += z; return r; Schleifenverifikation Vor der Schleife J(x, 0, 1, 1) gilt, da 0 2 x aus B V folgt. Während der Schleife J B S J Aus J(x, r, y, z) und y x folgt J(x, r, y, z ) Nach der Schleife J B r 2 x < y = (r + 1) {{ z = 2r + 1 B Schleifeninvariante J(x, r, y, z) (r 2 x) (y = (r + 1) 2 ) (z = 2r + 1) J Beweis der Schleifeninvariante Iterationsidee Erzeuge Tupel (r, y) mit y = (r + 1) 2 für alle r IN bis irgendwann einmal y > x gilt. Für den Nachfolger y von y gilt y = (r + 1) 2 = ((r + 1) + 1) 2 = y + 2 (r + 1) + 1, {{ z denn mit der Bezeichnung z = 2r + 1 gilt z = 2r + 1 = 2 (r + 1) + 1 = z + 2 Beweis. Zu zeigen: J(x, r, y, z ) (r 2 x ) {{ J 1 (y = (r + 1) 2 ) {{ J 2 J 1: Wegen (r + 1) 2 = y x (nach J 2 und B) gilt r 2 x. (z = 2r + 1) {{ J 3 J 2: y = y + z = y + z + 2 = (r + 1) 2 + (2r + 1) + 2 = (r + 2) 2 = (r + 1) 2 J 3: z = z + 2 = (2r + 1) + 2 = 2(r + 1) + 1 = 2r + 1
4 Zusicherungskalkül Von der kreativen Kopfarbeit zum automatischen Beweis Floyd-Beweis Verifikation beruht auf dem Erlassen von Zusicherungen und dem Beweis ihrer Gültigkeit diese ist jedoch durch eine Allaussage über Programmzustände definiert! Hoare-Kalkül Statt komplizierter semantischer Gültigkeitsbeweise werden syntaktische Regeln gecheckt diese Arbeit kann uns auch eine Maschine abnehmen. Hoares Methode Automatischer Gültigkeitsbeweis für eingestreute Zusicherungen Zusicherungsaxiome für elementare Anweisungen Ableitungsregeln für komplexe Anweisungen Abschwächungsregeln für Sequenzmontage Kalkül hilft nicht beim Auffinden geeigneter Zusicherungen! Zusicherungsaxiome Leere Anweisung nichtterminierende Anweisung Zuweisung Rechenregeln für Zusicherungen I Fallhöhenanpassung bei der Montage sukzessiver Zusicherungen LEERAKTION B { B ABBRUCH B throw err; false ZUWEISUNG B[E/x] x = E; B Zustandserhaltung Es ist β = I [S] (β) = β und damit gilt I β [B] = I β [B]. Terminiert niemals Es ist stets β = und die Implikation ist wegen falscher Prämisse immer trivialerweise erfüllt. Gültig, weil... aus β = β[e/x] auch I β [B[E/x]] = I β [B] folgt. 1: x-a=b y=a; x-y=b 2: x+1=a x=x+1; x=a ABSCHWÄCHUNGSREGEL Die B B, B S C, C C { Vorbedingung darf durch Nachbedingung Auf Grund der Voraussetzungen B S C { stärkere Prämisse schwächere Konsequenz ersetzt werden. Zuweisungsaxiom x 2 = a 2 x = x*x; x = a 2 Implikation I x = a x 2 = a 2 Implikation II x = a 2 x 0 gilt die doppelt abgeschwächte Zusicherungsaussage x = a x = x*x; x 0
5 Hintereinanderausführung zweier Anweisungen Nach der Anweisung ist vor der Anweisung KOMPOSITIONSREGEL B 1 S 1 C und C S 2 B 2 B 1 S 1 S 2 B 2 Anweisung I x + 1 = a x = x+1; x = a Anweisung II 2x = 2a x = 2*x; x = 2a Abschwächung (x = a) (2x = 2a) Anweisungsblöcke erhalten die Zusicherung ihres Innenlebens, falls keine Namenskonflikte auftreten BLOCKBILDUNGSREGEL Falls x nicht in B 1 vorkommt: Positivbeispiel B 1 S B 2 B 1 { type x=e; S B 2 a 0 x = a; y = 2*x; y 0 a 0 { double x; x = a; y = 2*x; y 0 Negativbeispiel Resultat x + 1 = a x = x+1; x = 2*x; x = 2a x 0 y = 2*x; y 0 x 0 { double x=6-9; y = 2*x; y 0 Kontrollverzweigung erhält gemeinsame VB/NB ihrer Anweisungszweige und sogar mehr als das! BEDINGTE ANWEISUNG Falls boolescher Ausdruck C effektiv auswertbar (I β [C] ): C B 1 S 1 B 2 und C B 1 S 2 B 2 B 1 if (C) S 1 else S 2 B 2 Zweig I x > 0 x = a y = +x; x = a y = a Zweig II x 0 x = a y = -x; x = a y = a Satz (Verträglichkeit) Rechenregeln für Zusicherungen II Für jede Anweisung S und alle booleschen Ausdrücke B i, C i gelten die beiden Axiome B 1 S true und false S B 2 sowie die Verträglichkeitsregeln B 1 S C 1 und B 2 S C 2 B 1 B 2 S C 1 C 2 für die logische Konjunktion und Resultat x = a if (x>0) y = +x; else y = -x; x = a y = a für die logische Disjunktion. B 1 S C 1 und B 2 S C 2 B 1 B 2 S C 1 C 2
6 Beweis. Zum Beweis der Konjunktionsformel gehen wir von Zuständen β und β = I [S] (β) aus und setzen die Vorbedingung als wahr voraus: I β [B 1 B 2 ] = L Nach Definition der Interpretationsfunktion folgt daraus Rechenregeln für Zusicherungen III Folgerung (Verstärkungsregeln) Für die Konjunktion gilt B S C 1 und B S C 2 B S C 1 C 2 I β [B 1 ] = I β [B 2 ] = L und auf Grundlage der gegebenen Zusicherungen des Zählers gilt I β [C 1 ] = I β [C 2 ] = L. Erneute Verwendung des Aufbaus der Interpretation liefert schließlich I β [C 1 C 2 ] = L. und für die Disjunktion gilt Bemerkung Vergleichbare Regeln wie B 1 S C und B 2 S C B 1 B 2 S C. (Die Disjunktionsformel wird entsprechend bewiesen.) B S C B S C oder B S C C S B für die Negation sind jedoch keineswegs herleitbar! Zusicherung für die Wiederholungsanweisung Wie bei Floyd nur für die partielle Korrektheit SCHLEIFENREGEL while (x > 0) { x = x-1; y = y+1; J B S J J while (B) S J B (Schleife mit eingestreuten Zusicherungen) // «x+y = a» J // «x+y = a & x > 0» J & B // «x+y = a» Abschwächung // «x+y = a-1» Zuweisungsregel // «x+y = a» Zuweisungsregel // «x+y = a & x <= 0» J & -B (Methode zur ganzzahligen Division) int divide (int x, int y) { // «true» (Vb) // «x/y = x/y + 0» int r = x; // «x/y = r/y + 0» int q = 0; // «x/y = r/y + q» (J) while (r >= y) { // «r >= y & x/y = r/y + q» (B&J) // «r-y >= 0 & x/y = (r-y)/y q» r = r-y; // «r >= 0 & x/y = r/y q» // «r >= 0 & x/y = r/y + q+1» q = q+1; // «r >= 0 & x/y = r/y + q» // «x/y = r/y + q» (J) // «r < y & x/y = r/y + q» (-B&J) // «x/y = 0 + q» // «x/y = q» (Nb) return q;
7 Totale Korrektheit von Wiederholungsanweisungen Terminierungsfragen treten nur in Schleifen & Rekursionen auf Satz (Terminierungsregel) Zur abweisenden Schleife while(b) S existiere eine Schleifeninvariante J, ein ganzzahliger Terminierungsausdruck E sowie ein frischer Bezeichner int i mit: 1. C J 2. E 0 J B 3. E = i + 1 B J S E i J Dann terminiert die Schleifenausführung unter der Vorbedingung C, sofern wenigstens alle S-Anweisungen ebenfalls terminieren. Bemerkung automatisierbares Beweisverfahren für die Terminierungseigenschaft geeignete Invariante geeigneter Terminierungsausdruck Fixpunkttechniken maschinelles Beweisen Eine Frage der richtigen Strategie Die schwächste Vorbedingung viele Vorwärtsanalyse viele Logik und Mengenlehre Definiere die Zustandsmengen def = {β I β [B] = L. Dann gilt: Z B Homomorphien Z true = Z Z false = Z B = Z \ Z B eine Vorbedingung Vorbedingungen Nachbedingungen Rückwärtsanalyse eine Nachbedingung B C Z B Z C Z B C Z B C = Z B Z C = Z B Z C Mengen & Formeln bilden boolesche Algebra & Halbordnung { { größer schwächer Je die Menge Z kleiner B, desto die Aussage B. stärker Nicht jede Aussagenmenge besitzt ein schwächstes Element. Verifikationsziel Q: Programm S, VB & NB A: Gültigkeit von B V S B N A: (u.u.: Terminierung) Problematik Zusicherungskalkül arbeitet bottom-up (innen außen) Definition Der boolesche Ausdruck B aus B S C heißt schwächste Vorbedingung von C für S (kürzer: B = wk (C S)), wenn B S C B B für alle B.
8 : schwächste VB mit/ohne Terminierung Rechenregeln des WP-Kalküls "vorher" C "nachher" Satz Die Abbildung wk ( ) ist monoton bezüglich : C 1 C 2 wk (C 1 S) wk (C 2 S) Die Abbildung wk ( ) ist verträglich mit der Konjunktion : Mit Terminierungsgarantie (I [S]) 1 (C) = {β 2, β 3, β 4, β 5 Ohne Terminierungsgarantie (I [S]) 1 (C { ) = {β 2, β 3, β 4, β 5 {β 1 β 5 Z β Z Existiert wk (S C)? (I [S]) 1 (C) versus {B B S C versus {B B S C wk (C 1 C 2 S) wk (C 1 S) wk (C 2 S) Die Abbildung wk ( ) ist verträglich mit der Disjunktion : wk (C 1 C 2 S) wk (C 1 S) wk (C 2 S) Wunder sind ausgeschlossen jedenfalls sofern S terminiert: wk (false S) false Beweis. Wunder Jede andere VB als B=false besitzt irgendein β mit I β [B] = L, und dessen S-Nachfolgezustand β wird ja kaum der NB C=false genügen. Wenn S unter Umständen nicht terminiert, ist diese Argumentation gegenstandslos. Monotonie Es ist ja wk (C i S) = (I [S]) 1 (C i ). Die größere Menge C 2 wird aber mindestens so viele Urbilder (also Zustände β mit I [S] (β) C 2 ) besitzen wie die kleinere C 1. Konjunktion Die Äquivalenz beider Seiten ergibt sich aus der Hinrichtung plus der Rückrichtung, die ganz einfach aus der Monotonie folgt. Disjunktion (wie Konjunktion, aber nur für deterministische Maschinenmodelle) S = Münze werfen C 1 = Zahl erscheint gilt einerseits C 2 = Kopf erscheint Gegenbeispiel Mit wk (C 1 S) wk (C 2 S) false doch andererseits wk (C 1 C 2 S) wk (true S) true Berechnungsformeln des WP-Kalküls Vollautomatisches Herunterrasseln bei gegebener Nachbedingung LEERAKTION wk (C {) = C ZUWEISUNG wk (C x=e;) = C[E/x] ABBRUCH wk (false throw err) = true KOMPOSITION wk (C S 1 S 2 ) = wk ( wk (C S 1 ) S 2 ) VERZWEIGUNG wk (C if (E) S 1 else S 2 ) = (E wk (C S 1 )) ( E wk (C S 2 )) WIEDERHOLUNG V 0 (C) = C B V k+1 (C) = wk (V k (C) S) (C B) wk (C while (B) S) = k 0 : V k (C)
9 (10) 1. Eine Zusicherung dient der Spezifikation der Funktionsweise einer Anweisung mittels Vor- und Nachbedingungen. 2. Die partielle bzw. totale Korrektheit garantiert die Richtigkeit (und ggf. die Existenz) eines Resultats. 3. Ein Programmtest ersetzt die -verifikation nur bei endlicher Aufgabenstellung oder im Falle eines Misserfolgs. 4. Die Floyd-Invariante dient dem Nachweis partieller Korrektheit von Schleifenkonstrukten. 5. Der Hoare-Kalkül verfügt über Axiome und Regeln für die Zusicherungsprüfung elementarer bzw. komplexer Anweisungen. 6. Grundsätzlich erlaubt Hoare die Verifikation beliebiger imperativer Programme und besitzt eingeschränkte Mechanismen (Halteproblem!) zum Nachweis totaler Korrektheit. 7. Dijkstras Weakest-Precondition-Kalkül berechnet optimale Vorbedingungen zu einer Zielkonfiguration aus Anweisung und Resultatvorgabe. 8. Durch sukzessive Rückwärtsanalyse, beginnend bei der Spezifikations-NB, kann so der Verifikationsprozess automatisiert werden. 9. WP beruht auf der Annahme deterministischer Berechnungsschritte.
Teil X. Programmverifikation. Spezifikation eines Algorithmus einer Funktion einer Prozedur. Vorbedingungen Parameter Wertebereiche
Teil X Programmverifikation STRUKTURIERTES PROGRAMMIEREN Vorlesung im Wintersemester 2018 Prof. E.G. Schukat-Talamazzini Stand: 1. August 2018 Robert W Floyd 1936 2001 Sir Charles Antony Richard Hoare
MehrLogische Folgerung. Definition 2.11
Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrFormale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrJava-Programmierung mit NetBeans
Java-Programmierung mit NetBeans Steuerstrukturen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Steuerstrukturen Steuerstrukturen Verzweigungen Alternativen abweisende nichtabweisende
MehrGrundlagen der Programmierung (Vorlesung 14)
Grundlagen der Programmierung (Vorlesung 14) Ralf Möller, FH-Wedel Vorige Vorlesung Verifikation von Anweisungen und Anweisungsfolgen Schleifen Inhalt dieser Vorlesung Funktionen und Prozeduren Lernziele
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrZusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrWhitebox-Tests: Allgemeines
-Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv
Mehr8. Quadratische Reste. Reziprozitätsgesetz
O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Mehr2. Vorlesung. Slide 40
2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b
MehrEinführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
MehrMathematischer Vorbereitungskurs für Ökonomen
Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrGrundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrÜbung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrFrohe Weihnachten und ein gutes neues Jahr!
Frohe Weihnachten und ein gutes neues Jahr! Die mit dem Stern * gekennzeichneten Übungen sind nicht verpflichtend, aber sie liefern zusätzliche Punkte. Unten wird immer mit I das reelle Intervall [0, 1]
MehrLogik. A.3 Logik und Mengenlehre A.32 A.32. Logik und Mengenlehre. Logik. 2001 Prof. Dr. Rainer Manthey Informatik I 21
Logik und Mengenlehre.3 Logik und Mengenlehre 2001 Prof. Dr. Rainer Manthey Informatik I 21 Logik Logik 2001 Prof. Dr. Rainer Manthey Informatik I 22 Logik: egriff, edeutung und Entwicklung Logik ist die
MehrGraphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen
Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrKorrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
MehrSatz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich
Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes
MehrTerme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)
Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrAbsolute Stetigkeit von Maßen
Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches
MehrÜbungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder
Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte
MehrSoftwarelösungen: Versuch 4
Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrBasis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrAbiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1
Abiturprüfung Mathematik (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe Für jedes t f t () + t R ist die Funktion f t gegeben durch = mit R. Das Schaubild von f t heißt K t.. (6 Punkte)
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10
MehrVerkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.
7.6 Bedingte Rechte Manchmal sind Rechte nur unter bestimmten Voraussetzungen gültig. Diese Situation beschreiben wir -wie sonst auch üblich- mit bedingten Rechten. Beispiel: Wir betrachten die Modellierung
Mehr5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56
5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten
MehrFormale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30
Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion
MehrPlotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
MehrDie reellen Lösungen der kubischen Gleichung
Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................
MehrAutomatisches Parallelisieren
Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrFachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum
Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrMathematische Maschinen
Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrRepetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrDer Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
MehrLineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
MehrLineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme
Übung Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme Diese Übung beschäftigt sich mit Grundbegriffen der linearen Algebra. Im Speziellen werden lineare Abbildungen, sowie
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrAufgabenset 1 (abzugeben 16.03.2012 an LK@wacc.de)
Aufgabenset 1 (abzugeben 16.03.2012 an LK@wacc.de) Aufgabe 1 Betrachten Sie die Cashflows der Abbildung 1 (Auf- und Abwärtsbewegungen finden mit gleicher Wahrscheinlichkeit statt). 1 Nehmen Sie an, dass
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrMatrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.
Matrizennorm Es seien r,s N Mit M r,s (R bezeichnen wir die Menge der reellen r s- Matrizen (also der linearen Abbildungen R s R r, und setze M s (R := M s,s (R (also die Menge der linearen Abbildungen
Mehr25 kann ohne Rest durch 5 geteilt werden! ist wahr
Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 15. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrStackelberg Scheduling Strategien
Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:
MehrIm Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b
Aufgabe 1: Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. (a) Nehmen Sie lineares Wachstum gemäß z(t) = at + b an, wobei z die Einwohnerzahl ist und
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
Mehr3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik
Darstellung, Verarbeitung und Erwerb von Wissen 3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik DVEW WS 2004/05 c Gabriele Kern-Isberner 1 Stratifizierte Programme (Whlg.) Sei P ein
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrÜbungen für Woche 10
Übungen für Woche 10 Martin Rubey 12. Januar 2011 Die folgenden Übungen sollen den Umgang mit Backtracking und kombinatorischen Spezies näherbringen. Genaue Hinweise gibt es erst auf Seite 5. Zur Erinnerung:
MehrFunktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung
Funktionale Programmierung 1 Funktionale Programmierung: Vorlesungsüberblick 1. Funktionale Programmierung Prinzipien funktionaler Programmierung Funktionale Programmierung in prozeduralen Sprachen Rekursive
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrProgrammieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu
MehrAlso kann nur A ist roter Südler und B ist grüner Nordler gelten.
Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf
MehrEinführung in die Fuzzy Logic
Einführung in die Fuzzy Logic Entwickelt von L. Zadeh in den 60er Jahren Benutzt unscharfe (fuzzy) Begriffe und linguistische Variablen Im Gegensatz zur Booleschen Logik {0,} wird das ganze Intervall [0,]
MehrFallunterscheidung: if-statement
Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0
MehrBehörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik
Abitur 8 II. Insektenpopulation LA/AG In den Tropen legen die Weibchen einer in Deutschland unbekannten Insektenpopulation jedes Jahr kurz vor Beginn der Regenzeit jeweils 9 Eier und sterben bald darauf.
MehrLösungen zu Kapitel 7
Lösungen zu Kapitel 7 Lösung zu Aufgabe 1: Nach Definition 7.1 ist eine Verknüpfung auf der Menge H durch eine Abbildung : H H H definiert. Gilt H = {a 1,..., a m }, so wird eine Verknüpfung auch vollständig
MehrMathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse
UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse
Mehr!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.
Bifurkationen an geschlossenen Orbits 5.4 167 der Schnittabbldung konstruiert. Die Periode T (") der zugehörigen periodischen Lösungen ergibt sich aus =! + o 1 (") beziehungsweise Es ist also t 0 = T (")
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Mehr