Teil X. Programmverifikation. Spezifikation eines Algorithmus einer Funktion einer Prozedur. Vorbedingungen Parameter Wertebereiche

Größe: px
Ab Seite anzeigen:

Download "Teil X. Programmverifikation. Spezifikation eines Algorithmus einer Funktion einer Prozedur. Vorbedingungen Parameter Wertebereiche"

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. 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

Mehr

Logische Folgerung. Definition 2.11

Logische 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

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. 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

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale 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

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. 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

Mehr

Java-Programmierung mit NetBeans

Java-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

Mehr

Grundlagen der Programmierung (Vorlesung 14)

Grundlagen 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

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel 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

Mehr

Zusammenfassung. 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. 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

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen 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

Mehr

Programmierkurs Java

Programmierkurs 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

Mehr

Whitebox-Tests: Allgemeines

Whitebox-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

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. 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

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen 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

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen 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

Mehr

Einführung in die Programmierung

Einfü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

Mehr

2. Vorlesung. Slide 40

2. 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

Mehr

Einführung in die Algebra

Einfü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

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer 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

Mehr

7 Rechnen mit Polynomen

7 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

Mehr

Erwin Grüner 09.02.2006

Erwin 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

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt 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

Mehr

Grundlagen 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 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

Mehr

Einführung in die Programmierung

Einfü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

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einfü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

Mehr

Semantik von Formeln und Sequenzen

Semantik 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

Mehr

Die 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.

Die 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,

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache 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"

Mehr

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at

Einfache 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 Ü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

Mehr

Frohe Weihnachten und ein gutes neues Jahr!

Frohe 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]

Mehr

Logik. A.3 Logik und Mengenlehre A.32 A.32. Logik und Mengenlehre. Logik. 2001 Prof. Dr. Rainer Manthey Informatik I 21

Logik. 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

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic 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

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der 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.

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen 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

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen 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)

Mehr

Korrelation (II) Korrelation und Kausalität

Korrelation (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

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. 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

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme 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

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Lineare Gleichungssysteme

Lineare 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

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen 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.

Mehr

Absolute Stetigkeit von Maßen

Absolute 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 Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

Mehr

Softwarelösungen: Versuch 4

Softwarelö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]

Mehr

Wü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!.

Wü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

Mehr

SEP 114. Design by Contract

SEP 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

Mehr

Grammatiken. Einführung

Grammatiken. 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

Mehr

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. 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

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. 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

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Basis 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. 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

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfü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 = ϕ

Mehr

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Abiturprü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)

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen 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

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische 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

Mehr

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Verkehrsteilnehmer. 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

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.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

Mehr

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30

Formale 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

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten 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

Mehr

Die reellen Lösungen der kubischen Gleichung

Die 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...........................................

Mehr

Automatisches Parallelisieren

Automatisches Parallelisieren Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 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

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana 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.

Mehr

Fachschaft 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 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

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 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

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen 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

Mehr

Mathematische Maschinen

Mathematische Maschinen Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische

Mehr

1 topologisches Sortieren

1 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

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben 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 Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der 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

Mehr

Lineare Gleichungssysteme

Lineare 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

Mehr

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Lineare 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Aufgabenset 1 (abzugeben 16.03.2012 an LK@wacc.de)

Aufgabenset 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

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung 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

Mehr

Matrizennorm. 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. 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

Mehr

25 kann ohne Rest durch 5 geteilt werden! ist wahr

25 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

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 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

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. 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

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einfü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

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Im 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

Mehr

Scala kann auch faul sein

Scala 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?

Mehr

3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik

3.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

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 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 Ü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:

Mehr

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung

Funktionale 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

Mehr

1 Mathematische Grundlagen

1 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.

Mehr

Mediator 9 - Lernprogramm

Mediator 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

Mehr

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren 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

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also 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

Mehr

Einführung in die Fuzzy Logic

Einfü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,]

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: 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

Mehr

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Behö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.

Mehr

Lösungen zu Kapitel 7

Lö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

Mehr

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik 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.

!(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 (")

Mehr

Objektorientierte Programmierung

Objektorientierte 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