Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen
|
|
- Mona Waldfogel
- vor 7 Jahren
- Abrufe
Transkript
1 Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen
2 Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen, sondern in Abhängigkeit bestimmter Bedingungen bestimmte Programmteile auszuführen. Siehe z.b. folgende (Kontroll-)Flussdiagramme: Anweisung Entscheidung Anweisung Schleife Bedingung? false Bedingung? false true true Anweisung Anweisung Anweisung Anweisung Anweisung Anweisung Anweisung Anweisung Achim Bitzer, Seitenbau GmbH 2/35
3 Überblick Kontrollstrukturen steuern den Ablauf eines Programms. Kontrollstrukturen sind spezielle Arten von Anweisungen. In Java (wie in den meisten Programmiersprachen) gibt es verschiedene Arten von Anweisungen: Deklarationsanweisungen Zuweisungsanweisungen Methodenaufruf Blöcke If-Anweisungen Switch-Anweisungen Schleifen hier behandelt Sprünge Achim Bitzer, Seitenbau GmbH 3/35
4 Blöcke Ein Block ist eine mit { und geklammerte Folge von Anweisungen. Ein Block kann überall dort wo eine Anweisung erlaubt/erfordert ist, als eine einzige Anweisung eingesetzt werden. Innerhalb eines Blocks können auch Variablen deklariert werden, deren Gültigkeit auf den Block beschränkt ist. int i = 1; { { int j = 2; System.out.println(i +j); int j = 3; System.out.println(i +j); Blöcke Achim Bitzer, Seitenbau GmbH 4/35
5 If-Anweisung Die If-Anweisung ist die fundamentalste aller Kontrollanweisungen if (<Bedingung>) <Anweisung> else <Anweisung> Syntaxregel <Bedingung> ist ein Ausdruck, der ein Ergebnis vom Typ boolean liefert, z.b. boolsche Variable, logische Operation, oder Vergleich. Auswertung: <Bedingung> falls <Bedingung> true liefert, dann unmittelbar folgende Anweisung falls <Bedingung> false liefert, dann Anweisung unmittelbar nach else. Achim Bitzer, Seitenbau GmbH 5/35
6 If-Anweisung Beispiel Betragsberechnung double x, y; java.util.scanner scanner = new java.util.scanner(system.in); System.out.print("x: "); x = scanner.nextdouble(); if (x < 0.0) y = -x; else y = x; System.out.println("Der Betrag von " + x + " ist " + y); Merke: Nur die Anweisung unmittelbar nach else gehört zum 'Sonst'-Fall, die Bildschirmausgabe nicht mehr! Achim Bitzer, Seitenbau GmbH 6/35
7 If-Anweisung Der else-teil darf komplett fehlen: if (<Bedingung>) <Anweisung> Syntaxregel Beispiel Betragsberechnung 2: double x, y; java.util.scanner scanner = new java.util.scanner(system.in); System.out.print("x:"); x = scanner.nextdouble(); y = x; if (x < 0.0) y = -x; System.out.println("Der Betrag von " + x + " ist " + y); Achim Bitzer, Seitenbau GmbH 7/35
8 If-Anweisung Die Anweisungsteile können selbst Blöcke sein. Damit ergibt sich die Form if (<Bedingung>) { <Anweisung> <Anweisung> else { <Anweisung> <Anweisung> Syntaxregel Achim Bitzer, Seitenbau GmbH 8/35
9 If-Anweisung Es ist guter Stil, selbst einzelne Anweisungen zu klammern, um Fehler zu vermeiden (defensives Programmieren). Siehe folgendes Beispiel. Was ist hier falsch? int x = scanner.nextinteger(); if (x == 0) { System.out.println("x ist gleich 0"); else System.out.println("x ungleich 0, wir dividieren"); System.out.println("1/x liefert " + 1 / x); Achim Bitzer, Seitenbau GmbH 9/35
10 Switch-Anweisung Ebenso wie die If-Anweisung eine Entscheidungsanweisung. Erlaubt, in verschiedene Alternativen zu verzweigen switch (<Ausdruck>) { case <Konstante>: <Anweisungsfolge> break; case <Konstante>: <Anweisungsfolge> break; default: <Anweisungsfolge> Syntaxregel Achim Bitzer, Seitenbau GmbH 10/35
11 Switch-Anweisung <Ausdruck> muss byte, short, int, oder char liefern (oder eine Enumeration) Wenn die Auswertung von <Ausdruck> den Wert <Konstante> liefert, wird die entsprechende <Anweisungsfolge> ausgeführt. Beachte: <Anweisungsfolge>, im Unterschied zu einem Block, muss nicht geklammert werden! Wenn Wert von <Ausdruck> nicht gefunden wird, wird die <Anweisungsfolge> hinter der default-marke ausgeführt. Die default-marke kann fehlen, dann wird im obigen Fall gar nichts ausgeführt. Achim Bitzer, Seitenbau GmbH 11/35
12 Switch-Anweisung Beispiel: char result; // result wird ein Character zugewiesen switch (result) { case '+': System.out.println("gutes Ergebnis"); break; case '-': System.out.println("schlechtes Ergebnis"); break; case 'o': System.out.println("So-la-la-Ergebnis"); break; default: System.out.println("unbekanntes Ergebnis"); Achim Bitzer, Seitenbau GmbH 12/35
13 Switch-Anweisung Wenn eine break-anweisung fehlt, wird die Ausführung fortgesetzt bis ein break erreicht wird engl: Fall-Through. Praktisch, wenn mehrere Werte denselben Effekt haben sollen: char result; // result wird ein Character zugewiesen switch (result) { case 'o': case '+': System.out.println("bestanden"); break; case '-': System.out.println("durchgefallen"); break; default: System.out.println("unbekanntes Ergebnis"); Achim Bitzer, Seitenbau GmbH 13/35
14 Switch-Anweisung Ein vergessenes break ist aber auch eine häufige Fehlerursache: int a, b; a = scanner.nextinteger(); switch (a) { case 1: b = 10; case 2: case 3: b = 30; break; default: b = 40; Welchen Wert erhält b für verschiedene Werte von a? Achim Bitzer, Seitenbau GmbH 14/35
15 Schleifen Schleifen erlauben es, eine Anweisung (einen Block von Anweisungen) mehrmals zu durchlaufen. Java kennt 4 Arten von Schleifen: For-Schleifen While-Schleifen Do-Schleifen For-Each-Schleifen (folgt beim Thema Felder) Allen Schleifenarten ist gemeinsam, dass sie eine Abbruchbedingung enthalten. Achim Bitzer, Seitenbau GmbH 15/35
16 For-Schleife Auswertung: Mit Hilfe der <Initialisierung> wird eine Schleifenvariable deklariert und initialisiert, z.b. int i = 0 Die <Bedingung>, die üblicherweise die vorher initialisierte Variable enthält, wird ausgewertet. Beispiel: i < 10 Falls Schritt 2 false ergibt, wird die Schleife beendet Falls Schritt 2 true ergibt, wird <Anweisung> ausgeführt <Update> ausgeführt, z.b. i++ mit Schritt 2 fortgefahren Syntaxregel for (<Initialisierung>; <Bedingung>; <Update>) <Anweisung> Achim Bitzer, Seitenbau GmbH 16/35
17 For-Schleife Auswertung als Kontrollflussdiagramm: Initialisierung Bedingung? false true Anweisung Update Achim Bitzer, Seitenbau GmbH 17/35
18 For-Schleife Beispiel: for ( int i = 0; i < 10; i++ ) System.out.println("i: " + i); <Anweisung> -- der Schleifenrumpf kann ein geklammerter Block von Anweisungen sein. Ebenso wie bei der If-Anweisung ist es guter Stil, den Schleifenrumpf immer zu klammern. (Warum?) Achim Bitzer, Seitenbau GmbH 18/35
19 For-Schleife Jeder Bestandteil des Schleifenkopfs (Initialisierung, Bedingung, Update) kann fehlen keine Bedingung entspricht true Beispiel: int i = 0; for ( ; i < 10; ) { System.out.println("i: " + (i++)); Achim Bitzer, Seitenbau GmbH 19/35
20 For-Schleife Der geklammerte Anweisungsblock im Schleifenrumpf kann selbst wieder eine Schleife sein: for ( int i = 0; i < 10; i++ ) { for ( int j = 0; j < i; j++ ) { System.out.println("(" + i + ", " + j + ")"); Achim Bitzer, Seitenbau GmbH 20/35
21 While-Schleife Die While-Schleife ist allgemeiner (flexibler) als die For-Schleife. while (<Bedingung>) <Anweisung> Syntaxregel Auswertung: 1.<Bedingung> wird ausgewertet 2. Falls die Auswertung false ergibt, wird die Schleife beendet 3. Falls die Auswertung true ergibt, wird i.<anweisung> ausgeführt ii. mit Schritt 1 fortgefahren Achim Bitzer, Seitenbau GmbH 21/35
22 While-Schleife Auswertung als Kontrollflussdiagramm: Bedingung? false true Anweisung Achim Bitzer, Seitenbau GmbH 22/35
23 While-Schleife Natürlich kann der Schleifenrumpf ein geklammerter Block von Anweisungen sein. Bei der While-Schleife muss der Programmierer die Schleifenvariable ggf. selbst deklarieren, initialisieren und im Schleifenrumpf aktualisieren. Beispiel: int i = 0; while ( i < 10 ) { System.out.println("i: " + i); i++; Auch hier ist es guter Stil, den Schleifenrumpf immer zu klammern! Achim Bitzer, Seitenbau GmbH 23/35
24 While-Schleife Jede For-Schleife kann durch eine While-Schleife ersetzt werden. for (<Initialisierung>; <Bedingung>; <Update>) <Anweisung> <Initialisierung>; while (<Bedingung>) { <Anweisung>; <Update>; Achim Bitzer, Seitenbau GmbH 24/35
25 Do-Schleife Ähnlich wie While-Schleife, nur dass Bedingung erst nach Ausführung des Rumpfs getestet wird Schleife wird mindestens einmal durchlaufen. do <Anweisung> while (<Bedingung>); Auswertung: 1.<Anweisung> wird ausgeführt Syntaxregel 2.<Bedingung> wird ausgewertet 3.Falls die Auswertung false ergibt, wird die Schleife beendet 4.Falls die Auswertung true ergibt, wird mit Schritt 1 fortgefahren Achim Bitzer, Seitenbau GmbH 25/35
26 Do-Schleife Auswertung als Kontrollflussdiagramm: Anweisung Bedingung? false true Achim Bitzer, Seitenbau GmbH 26/35
27 Do-Schleife Natürlich kann der Schleifenrumpf ein geklammerter Block von Anweisungen sein. Genauso wie bei der While-Schleife muss der Programmierer die Schleifenvariable selbst deklarieren, initialisieren und im Schleifenrumpf aktualisieren. Beispiel: int i = 0; do { System.out.println("i: " + i); i++; while ( i < 10 ); Auch hier ist es guter Stil, den Schleifenrumpf immer zu klammern! Achim Bitzer, Seitenbau GmbH 27/35
28 Do-Schleife Jede Do-Schleife kann durch eine While-Schleife ersetzt werden. do <Anweisung> while (<Bedingung>); <Anweisung>; while (<Bedingung>) <Anweisung>; Achim Bitzer, Seitenbau GmbH 28/35
29 Endlosschleife Wenn die Schleifenbedingung niemals false ergibt, liegt eine Endlosschleife vor. Endlosschleifen können absichtlich, aber auch versehentlich programmiert werden. Beispiel für absichtliche Endlosschleife: while (true) { System.out.println("Nochmal!"); Achim Bitzer, Seitenbau GmbH 29/35
30 Endlosschleife Unabsichtliche Endlosschleifen resultieren meist daraus, dass vergessen wird die Schleifenvariable im Schleifenrumpf zu verändern. Beispiel für unabsichtliche Endlosschleife: int i = 0; while (i < 10) { System.out.println("i: " + i); Achim Bitzer, Seitenbau GmbH 30/35
31 Sprünge In Java gibt es keine goto-anweisung! Es gibt nur zwei eingeschränktere Sprungvarianten, nämlich: break um eine Schleife (oder eine Switch-Anweisung) zu verlassen continue um zur Schleifenbedingung zu springen Achim Bitzer, Seitenbau GmbH 31/35
32 Break Bereits zusammen mit Switch-Anweisung kennengelernt Springt aus innerster Schleife Wird meistens verwendet, um Schleife vorzeitig zu verlassen. Beispiel: int product = 1; for ( int i = 1; i < 20; i++) { product *= i; if ( product > ) { break; System.out.println(product); Achim Bitzer, Seitenbau GmbH 32/35
33 Break Merke: break kann immer durch geeignete Schleifenbedingung ersetzt werden! Beispiel: int i = 1; int product = 1; do { product *= i; i++; while ((i < 20) & ( product <= )); System.out.println(product); Achim Bitzer, Seitenbau GmbH 33/35
34 Continue Springt zum innersten Schleifenkopf Sinnvoll, um Schleifenausführung für bestimmte Sonderfälle zu vermeiden. Beispiel: for ( int i = -10; i <= 10; i++ ) { if ( i == 0 ) { continue; System.out.println("1/" + i + "= " + 1/i); Achim Bitzer, Seitenbau GmbH 34/35
35 And now take a break ;) Achim Bitzer, Seitenbau GmbH 35/35
3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
MehrProgrammieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen
MehrProgrammieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen Neben der Aneinanderreihung von Anweisungen (Sequenz)
MehrKapitel 5. Programmierkurs. Kontrollstrukturen. Arten von Kontrollstrukturen. Kontrollstrukturen Die if-anweisung Die switch-anweisung
Kapitel 5 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Kontrollstrukturen Die if-anweisung Die switch-anweisung Die for-schleife Die while-schleife Die do-schleife WS 7/8 /55 Kontrollstrukturen
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrSchleifen in C/C++/Java
Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.
Mehr2.5 Programmstrukturen Entscheidung / Alternative
Entscheidung, ob der folgende Anweisungsblock ausgeführt wird oder ein alternativer Block Entscheidung ob die Bedingung wahr oder falsch (True / False) ist Syntax: 2.5 Programmstrukturen 2.5.1 Entscheidung
MehrS. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"
S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert
MehrVorlesung Programmieren
Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrWebbasierte Programmierung
Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 6: JavaScript Kontrollstrukturen Verzweigungen Einseitig, zweiseitig,
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrEinfache Rechenstrukturen und Kontrollfluss II
Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrPraxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen"
Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April 24, 2014
MehrModProg 15-16, Vorl. 5
ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken
4 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Blöcke Blöcke erweitern einzelne Anweisungen, etwa bei Kontrollstrukturen später Beispiel: Einzelne Anweisung: anweisung; Erweiterung
Mehr12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false
Die if-anweisung if (Bedingung 1) { Code 1 else { Code 2 ; Anm.1: Das ; kann entfallen, da innerhalb { ein sog. Codeblock geschrieben wird. Anm.2: Es gibt noch andere Schreibweisen, aber wir wollen uns
MehrAlgorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.
Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte
MehrProgrammiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrSchleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.
Folge 6 WHILE-Schleife JAVA 6.1 Schleifen Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten. Zu einer Schleife gehören die Schleifenbedingung und der Rumpf. Die Schleifenbedingung
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrObjektorientierte Programmierung OOP Programmieren mit Java
Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen
MehrC- Kurs 04 Anweisungen
C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm
MehrKleine Anekdote. Schleifen in C
Kleine Anekdote 1786 kam ein Junge mit 9 Jahren in die Volksschule. Um die Schüler zu beschäbigen, gab der Lehrer die Aufgabe alle Zahlen von 1 bis 100 zusammenzuzählen. Dieser neunjährige Junge lieferte
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Klassenmethoden Motivation Programm zur Berechnung von public class Eval1 { public static void main(string[] args) { java.util.scanner
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an
MehrKapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
MehrAnnehmende Schleife do while
Annehmende Schleife do while Schleife mit nachfolgender Bedingungsprüfung: annehmende Schleife B S Mit B wird eine Bedingung (logischer Ausdruck) bezeichnet, S ist ein Strukturblock. Zuerst wird S ausgeführt,
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 4. Schleifen
Grundlagen der Programmierung Prof. H. Mössenböck 4. Schleifen While-Schleife Führt eine Anweisungsfolge aus, solange eine bestimmte Bedingung gilt i 1 sum 0 i n sum sum + i i i + 1 i = 1; sum = 0; while
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrProgrammieren für Wirtschaftswissenschaftler SS 2015
DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 3. Verzweigungen und Schleifen
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral
MehrJava - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue
Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisung in Abhängigkeit einer Bedingung. Eine Verschachtelung
Mehr5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
Mehr1.8 Kontrollstrukturen 73. default : ziffer = 0; if (ziffer > 0) { cout << "Ziffer = " << ziffer; else { cout << "keine römische Ziffer!
1.8 Kontrollstrukturen 73 default : ziffer = 0; if (ziffer > 0) { cout
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Anweisungen, Blöcke und Programmfluss Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
MehrJava Einführung ABLAUFSTEUERUNG Kapitel 3 und 4
Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4 Inhalt dieser Einheit Merkmale und Syntax der verschiedenen Kontrollstrukturen: if else switch while do while for break, continue EXKURS: Rekursion 2 Kontrollstrukturen
MehrPräzedenz von Operatoren
Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit
MehrObjektorientierte Programmierung OOP Programmieren mit Java
Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum
MehrKontrollstrukturen, Pseudocode und Modulo-Rechnung
Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1
MehrNoch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean
01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
MehrGrundlagen der Programmierung in C++ Kontrollstrukturen
Grundlagen der Programmierung in C++ Kontrollstrukturen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Block Keine Kontrollstruktur im eigentlichen Sinn Dient
MehrINE1 Wiederholungen while, do...while, for
INE1 Wiederholungen while, do...while, for Schleife mit Goto Schleife mit Anfangsprüfung Schleife mit Endprüfung Schleifen mit Zähler: for Mehr zum Thema Schleifen 1 Wiederholungen Oft wollen wir gleiche
Mehr4. Ablaufsteuerung (Kontrollstrukturen)
4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung 4-1 4.1 Anweisungen Ein Programm besteht
MehrInformatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4
Informatik 1 (251-0832-00) D-MAVT F2010 Logik, Schleifen Nachbesprechung Blatt 2 Aufgabe 3c): double(9/2) 4.0 double Zuerst wird die Operation ausgeführt und dann erst die Konversion! Allgemein: Dateiendungen:.c
MehrVom Problem zum Programm
Aussagenlogik Vom Problem zum Programm Kontrollstrukturen der prozeduralen Programmierung Grundprinzipien: Sequenz Alternative Iteration Beschreibungsformen Ablaufpläne Struktogramme Pseudocode Programmentwicklung
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
Mehr6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
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
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrC/C++ Programmierung
1 C/C++ Programmierung Grundlagen: Anweisungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Anweisungen (Statements)
Mehr3. Algorithmenentwurf und JAVA. Informatik II für Verkehrsingenieure
3. Algorithmenentwurf und JAVA Informatik II für Verkehrsingenieure Schwerpunkt 1 ALGORITHMEN UND UMSETZUNG Aufgabe Algorithmus Programm Eigentliche Entwicklung der Verfahrensidee Codierung Algorithmenentwurf
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:
MehrProgrammiertechnik Klassenmethoden
Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner
MehrInformatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
Mehr620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe
MehrHerzlich Willkommen. Über mich Termine Literatur Über PHP
Über mich Termine Literatur Über PHP Herzlich Willkommen Über mich Termine Literatur Über PHP Wer ist das da vorne? Mario Lipinski Über mich Termine Literatur Über PHP Wer ist das da vorne? Mario Lipinski
MehrHEUTE. Effizienzbeispiel: bekannte Version (Übung 04.11.04) Mathematik: Was ist Effizienz? vollständige Induktion
17.11.04 1 HEUTE 17.11.04 3 Effizienzbeispiel: bekannte Version (Übung 04.11.04) Mathematik: was ist Effizienz? vollständige Induktion JAVA: Arrays die for -Schleife die Sprunganweisungen break und continue
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrProgrammieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
MehrGliederung Programmiersprachen. Programmiersprachen Einführung in C. Kontrollstrukturen. Verzweigung mit IF. Beispiel: Zahlenklassifizieren
Programmiersprachen Einführung in C Teil 5: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
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
MehrProgrammieren in C / C++ Grundlagen C 4
Programmieren in C / C++ Grundlagen C 4 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisungen Anweisung im allgemeinsten Sinn: Programmieren
MehrBKTM - Programmieren leicht gemacht.
BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
MehrExcel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013
Excel VBA Teil 11.8 Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 1 von 17 Inhaltsverzeichnis Seite 3... Modul einfügen Seite 4... Prozeduren oder Funktionen Seite 5... Ein/Ausgaben Seite 6...
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
MehrTutorium für Fortgeschrittene
Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrModerne C-Programmierung
Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete
MehrKontrollstrukturen MySQL Funktionen. MySQL 4, 5. Kapitel 20a: PHP Teil 2. Marcel Noe
MySQL 4, 5 Kapitel 20a: PHP Teil 2 Gliederung 1 2 Gliederung 1 2 Die ermöglicht ein Bedingtes Ausführen von Code-Abschnitten. Nur wenn die Bedingung erfüllt ist wird der Block hinter if ausgeführt. Ist
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrInhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
MehrProgrammieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.
PROGRAMMIEREN IN C - EIN KURZÜBERBLICK 1 Programmieren in C -- ALLE Programmiersprachen sind HÄSSLICH -- Die einfachste Programmstruktur: main () -- was zu tun ist --- Vorgeordnete Definitionen: # include
MehrGrundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen)
Grundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen) Wiederholung mit Abbruchbedingung (while-schleife) Kara soll geradeaus laufen, bis er vor einem Baum steht: Situation vor dem Start
MehrSprachbeschreibung und Erweiterung
Sprachbeschreibung und Erweiterung Worte, Sprachen, reguläre Ausdrücke, Automaten, BNF, Grammatik, Syntax- Diagramme, Spracherweiterungen do, for, break, switch Formale Beschreibung von Programmiersprachen
MehrEinführung in die Programmsprache Python - Bedingte Anweisungen und Schleifen -
Einführung in die Programmsprache Python - Bedingte Anweisungen und Schleifen - Kontrollanweisungen Mit Hilfe von Kontrollstrukturen kann der Programmablauf beeinflusst werden. In Abhängigkeit vom Wert
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
Mehr1. Der Einstieg in Java. Was heißt Programmieren?
1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung
Mehr4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C
Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige
MehrProgrammiervorkurs WS 2012/2013. Schleifen und Methoden
Programmiervorkurs WS 2012/2013 Schleifen und Methoden Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.:
MehrJava I Vorlesung Objektorientiertes Programmieren
Java I Vorlesung 3 Objektorientiertes Programmieren 10.5.2004 Die restlichen Kontrollstrukturen Grundlagen des OOP Klassen und Objekte switch Syntax: switch ( expr ) { case const 1 : case const 2 :...
Mehr