DVG Ablaufsteuerung

Slides:



Advertisements
Ähnliche Präsentationen
Hochschule Fulda – FB ET Sommersemester 2010
Advertisements

Zusammenfassung der Vorwoche
der Universität Oldenburg
Verteilte Software - Java - Prozedurale Programmierung 1
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
SWITCH - Anweisung.
SWITCH - Anweisung.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
DO...WHILE Anweisung.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0);
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
Einführung in die Programmierung Anweisungen und Datentypen
Verzweigung.
Grundkonzepte Java - Klassendefinition
Informatik 1 Übung 2.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmierung
FORTRAN 77.
Wiederholte Programmausführung
Informatik 1 Letzte Übung.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
2.4 Rekursion Klassifikation und Beispiele
Grundkonzepte des Programmierens (mit ActionScript)
Arduino Kurs Abend 2.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
EPROG Tutorium #3 Philipp Effenberger
Einführung in PHP.
Einführung in PHP 5.
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
PHP: Operatoren und Kontrollstrukturen
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Hochschule Fulda – FB ET Sommersemester 2014
Programmiervorkurs WS 2014/15 Schleifen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Schleifen
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
MATLAB Control Statements.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1.
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Unterschiedliche Kontrollstrukturen
Unterschiedliche Arten von Kontrollstrukturen
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung if ... else ... if ( boolausdr ) { ... // if-Block } else ... // else-Block boolausdr wird ausgewertet boolausdr == true, dann abarbeiten des if-Blocks boolausdr == false, dann abarbeiten des else-Blocks weiterarbeiten nach dem else-Block DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung die else-Anweisung kann entfallen die else-Anweisung gehört immer zu der innersten if-Anweisung, die noch keine else-Anweisung besitzt: if (b1) if (b2) {if2-Block} else {else1-Block} korrekt sind folgende Varianten: if (b1) if (b2) {if2-Block} else; else {else1-Block} if (b1) { if (b2) {if2-Block} } else {else1-Block} DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung boolausdr else-Block false if-Block true DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung // Berechnung des Maximums max von x und y if ( x>y ) { max=x; } else max=y; DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung // Berechnung des Maximums max von x und y if ( x>y ) max=x; else max=y; // Berechnung des Maximums max von x und y if (x>(max=y)) max=x; // Berechnung des Maximums max von x und y max=(x>y)?x:y; DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung switch...case... label: switch (int-ausdr) { case c1 : ... // block1 case c2 : ... // block2 ... case cN : ... // blockN default : ... // default-block } int-ausdr berechnen wenn int-ausdr==c1 block1 wenn int-ausdr==c2 block2 wenn int-ausdr==cN blockN sonst default-block DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung default-Klausel kann fehlen, kann auch zwischen case-Klauseln stehen, darf höchstens einmal auftreten jeder Wert in einer case-Klausel darf nur einmal auftreten break-Anweisung beendet den ausgeführten Block und springt an die Anweisung nach dem switch-Block break label-Anweisung beendet den ausgeführten Block und springt an die Anweisung nach dem switch-Block der mit label: markiert ist Reihenfolge der case-Klauseln und der default-Klausel ist wesentlich für die Funktion DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung ausdruck block1 break c1 default- block sonst block2 break c2 blockN break cN DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung //Berechnung der Tage eines Monats unter //Beruecksichtigung der Schaltjahresregeln int monat, jahr, tage; switch (monat) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: tage=31; break; case 4: case 6: case 9: case 11: tage=30; break; case 2: tage=28; if ( ( jahr%4 == 0) && ( jahr%100 != 0 | jahr%400 == 0) ) tage++; break; default : System.out.println("Falsche Monatsangabe"); } DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung label1: switch (a1) { case c11: .... ... case c1N: label2: switch (a2) case c21: ... ; break; case c2M: ... ; break label1; } DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung while label: while (boolausdr) { ... break label; continue label; ... // while-block } DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung Der boolausdruck wird vor Ausführung des while-Blockes berechnet. Ist boolausdr==true, wird der while-Block ausgeführt und anschließend mit der Berechnung von boolausdr fortgesetzt. Der while-Zyklus kann durch eine break-Anweisung verlassen werden. Die continue-Anweisung springt zum Ende des while-Blockes. Bei geschachtelten Zyklen wird mit der Anweisung break label; der mit label markierte Zyklus verlassen. continue label springt zum Ende des mit label markierten Blockes. DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung boolausdr false true while-Block continue break DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung // Berechnung der groessten Zahl n fuer die // n! < eine vorgegebene Zahl n0 ist. int n0 = 1000000; int n = 1 , nf = 1; while (nf*(n+1) < n0) { nf *= ++n; // n=n+1; nf=n*nf; } DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung do ... while label: do { ... break label; continue label; ... // while-block } while (boolausdr) DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung Zuerst wird der while-Block ausgeführt. Anschließend wird boolausdr berechnet. Ist boolausdr==true, wird der while-Block ausgeführt und anschließend mit der Berechnung von boolausdr fortgesetzt. Der while-Zyklus kann durch eine break-Anweisung verlassen werden. Die continue-Anweisung springt zum Ende des while-Blockes, d.h. es wird mit der Berechnung von boolausdruck fortgesetzt. Bei geschachtelten Zyklen wird mit der Anweisung break label; der mit label markierte Zyklus verlassen. continue label springt zum Ende des mit label markierten Blockes. DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung while-Block continue break true boolausdr false DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung // Einlesen einer Zahl do { read (Zahl); } while (Eingabe ungueltig); DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung for label: for (ausdr1 ; boolausdr2 ; ausdr3 ) { ... //for-Block } ist äquivalent zu: ausdr1; while (boolausdr2) ausdr3; DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung ausdr1 kann Variablen-Deklarationen enthalten. Diese gelten im ganzen for-Block und sind außerhalb wieder unbekannt. Die for-Schleife wird solange durchlaufen, wie boolausdr2==true gilt. Mit der continue-Anweisung wird an das Ende des for-Blockes gesprungen und mit der Berechnung von ausdr3 fortgesetzt. Die break-Anweisung verzweigt zur ersten Anweisung nach der for-Schleife. Die break label; bzw. continue label; Anweisungen verzweigen zu den entsprechenden Stellen in der mit label markierten for-Schleife. DVG1 - 06 - Ablaufsteuerung

DVG1 - 06 - Ablaufsteuerung ausdr1 boolausdr2 false for-Block continue break true DVG1 - 06 - Ablaufsteuerung ausdr3

DVG1 - 06 - Ablaufsteuerung // Berechnung von Zufallszahlen 1, 2, ... 6 // Bestimmung der Anzahlen int ran; int i1=0, i2=0, i3=0, i4=0, i5=0, i6=0; int imax=10000; for (int i=1; i<=imax; i++) { ran=(int)(Math.random()*6.0+1.0); switch (ran) case 1: i1++; break; case 2: i2++; break; case 3: i3++; break; case 4: i4++; break; case 5: i5++; break; case 6: i6++; break; } DVG1 - 06 - Ablaufsteuerung