Tag 3 Repetitorium Informatik (Java)

Größe: px
Ab Seite anzeigen:

Download "Tag 3 Repetitorium Informatik (Java)"

Transkript

1 Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017

2 Willkommen zum Informatik-Repetitorium! auf Grund der hohen Teilnehmerzahlen: bitte zusammenrücken und keine Plätze in der Mitte freilassen Videoübertragung in mehrere Hörsäle: mit eigenem Notebook laut eigener Angabe im EST: Nachname A R Hörsaal H5 Nachname S Z Hörsaal H6 ohne eigenes Notebook laut eigener Angabe im EST: Nachname A J Hörsaal H15 Nachname K Sch Hörsaal H16 Nachname Sd Z Hörsaal H6 bei Bild- oder Tonausfall bitte im Hörsaal H15 melden für Zwischenfragen liegt auf dem Pult ein Mikrofon bereit Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 2 / 42

3 Übersicht Typkonvertierung Implizite Typkonvertierung Explizite Typkonvertierung Mehrfach-Verzweigung: switch/case Schleifen while-schleifen for-schleifen do-while-schleifen Sprünge in Schleifen: break/continue Endlosschleifen Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 3 / 42

4 Typkonvertierung

5 Typkonvertierung bekannt: in Java gibt es unterschiedliche Datentypen der Typ bestimmt die Repräsentation und Größe eines Datums im Speicher unterschiedliche Datentypen haben unterschiedliche Wertebereiche jetzt: Typkonvertierung (cast): Überführung eines Wertes eines Datentyps in den entsprechenden Wert eines anderen Datentyps von kleinerem zu größerem Typ: Typerweiterung von größerem zu kleinerem Typ: Typeinschränkung man unterscheidet zwei Arten der Typkonvertierung: implizite Typkonvertierung ( durch den Compiler ) explizite Typkonvertierung ( durch den Programmierer ) Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 5 / 42

6 Implizite Typkonvertierung implizite Typkonvertierung: nicht direkt aus dem Quelltext des Programms ersichtlich automatisch durch den Compiler an den notwendigen Stellen eingefügt Voraussetzung: durch die Konvertierung entsteht kein Informationsverlust implizite Typkonvertierung nur im Falle einer Typerweiterung Beispiele i n t a = 13; double b = a ; / / i m p l i z i t e Typkonvertierung von i n t nach double double p i = f ; / / i m p l i z i t e Typkonvertierung von f l o a t nach double / / ( f kennzeichnet f l o a t Wert ) Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 6 / 42

7 Explizite Typkonvertierung Was ist, wenn der Ziel-Datentyp kleiner als der Quell-Datentyp ist? Typeinschränkung Informationsverlust! nur mittels expliziter Typkonvertierung durch den Programmierer So nicht... double a = 9. 8 ; i n t b = a ; / / I n f o r m a t i o n s v e r l u s t ( p o s s i b l e loss of p r e c i s i o n ) f l o a t p i = 3.141; / / I n f o r m a t i o n s v e r l u s t ( p o s s i b l e loss of p r e c i s i o n ) So schon double a = 9. 8 ; i n t b = ( i n t ) a ; / / b = 9, Nachkommastellen abgeschnitten! f l o a t p i = ( f l o a t ) 3.141; / / besser : f ( siehe oben ) Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 7 / 42

8 Achtung... (I) Möglicherweise unerwartetes Ergebnis i n t a = 13; double b = a / 2; / / b = 6.0 Was ist denn hier passiert? der Compiler sieht bei der Division zwei ganzzahlige Operanden a als int deklariert ganzzahlig 2 ist int-wert ganzzahlig es wird eine Ganzzahl-Division durchgeführt Ergebnis ist der int-wert 6 erst danach sieht der Compiler, dass in eine double-variable geschrieben wird implizite Typkonvertierung von int nach double in diesem Moment sind die Nachkommastellen aber schon verloren Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 8 / 42

9 Achtung... (II) Wahrscheinlich erwünschtes Ergebnis i n t a = 13; double b = a / 2. 0 ; / / b = 6.5 / / oder double b = ( ( double ) a ) / 2; / / b = 6.5 Warum funktioniert das jetzt? in beiden Fällen ist jetzt jeweils ein Operand vom Typ double es wird eine Fließkomma-Division durchgeführt Ergebnis ist der double-wert 6.5 Wert wird ohne weitere Konvertierung in die double-variable geschrieben Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 9 / 42

10 Mehrfach-Verzweigung: switch/case

11 Bisher... Wie heißt der m-te Monat? i n t m = /... / ; S t r i n g monatsname ; i f (m == 1) { monatsname = " Januar " ; else i f (m == 2) { monatsname = " Februar " ; else i f (m == 3) { / /... else i f (m == 12) { monatsname = " Dezember " ; else { monatsname = " kein Monat " ; Es fällt auf... viele ähnliche Vergleiche immer dieselbe Variable m jeweils Test auf Gleichheit Fälle schießen sich gegenseitig aus Vergleiche mit untersch. Werten es tritt nur einer der Fälle ein Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 11 / 42

12 Mehrfach-Verzweigung: switch/case (I) für obiges Schema kennt Java eine weitere Kontrollstruktur: switch/case vergleicht einen Ausdruck (Variable,...) auf unterschiedliche Werte Voraussetzung: Datentyp ist Ganzzahl (z.b. int), char oder String Syntax switch ( Ausdruck ) { case Wert1 : Anweisungen1 ; case Wert2 : Anweisungen2 ; / /... default : AnweisungenDefault ; zur Laufzeit passiert folgendes: 1 der Ausdruck wird ausgewertet 2 der passende Fall wird bestimmt 3 die zu dem Fall gehörenden Anweisungen werden ausgeführt Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 12 / 42

13 Mehrfach-Verzweigung: switch/case (II) Syntax switch ( Ausdruck ) { case Wert1 : Anweisungen1 ; case Wert2 : Anweisungen2 ; / /... default : AnweisungenDefault ; Hinweise zum switch/case die Werte müssen denselben Typ haben wie der Ausdruck die Werte müssen paarweise unterschiedlich sein die Anweisungen können auch aus einem Block in geschweiften Klammern bestehen der default-fall wird ausgeführt, wenn kein anderer Fall zutrifft der default-fall ist optional und kann deshalb entfallen Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 13 / 42

14 Erster Versuch... Erster Versuch mit switch/case i n t m = 2; S t r i n g monatsname ; switch (m) { case 1: monatsname = " Januar " ; case 2: monatsname = " Februar " ; / /... default : monatsname = " kein Monat " ; System. out. p r i n t l n ( monatsname ) ; / / e r w a r t e t : " Februar " Ausgabe des Programms kein Monat Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 14 / 42

15 Durchfallen Fehlerhaftes switch/case switch (m) { case 1: monatsname = " Januar " ; case 2: monatsname = " Februar " ; / /... default : monatsname = " kein Monat " ; ein case markiert nur den Anfang eines Falles, nicht das Ende eines anderen es werden auch die Anweisungen der nachfolgenden Fälle ausgeführt sogenanntes Durchfallen (fall through) Ausführung landet irgendwann im default-fall kein Monat Lösung: break-anweisungen bei der Ausführung einer break-anweisung wird switch/case verlassen nachfolgende Fälle werden nicht mehr ausgeführt Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 15 / 42

16 Bisher... Jetzt... Korrektes switch/case i n t m = 2; S t r i n g monatsname ; switch (m) { case 1: monatsname = " Januar " ; break ; case 2: monatsname = " Februar " ; break ; / /... default : monatsname = " kein Monat " ; break ; System. out. p r i n t l n ( monatsname ) ; / / e r w a r t e t : " Februar " Ausgabe des Programms Februar Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 16 / 42

17 Schleifen

18 Schleifen: Motivation (I) Beobachtung Bisher wurden Anweisungen entweder einmal oder keinmal ausgeführt. Beispiel i n t a = 13; / / einmal i n t b = 3; / / einmal i n t a b s D i f f ; / / einmal i f ( a > b ) { / / einmal a b s D i f f = a b ; / / einmal else { a b s D i f f = b a ; / / keinmal Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 18 / 42

19 Schleifen: Motivation (II) Was tun, wenn Anweisungen mehrfach ausgeführt werden sollen? Beispiel: 10x Hallo Welt ausgeben Idee: Anweisungen einfach mehrfach hintereinder schreiben aufwändig und äußerst unschön klappt nicht, wenn man die Anzahl an Ausführungen vorher nicht kennt Lösung: Schleifen als weitere Kontrollstruktur wiederholte Ausführung von Anweisungen solange Bedingung erfüllt ist Java kennt verschiedene Arten von Schleifen: while-schleife for-schleife do-while-schleife Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 19 / 42

20 while-schleife Syntax: while-schleife while ( Bedingung ) { / / S c h l e i f e n k o p f Anweisungen ; / / Schleifenrumpf Hinweise der Schleifenrumpf besteht aus den zu wiederholenden Anweisungen die Bedingung ist ein beliebiger boolescher Ausdruck wird vor jedem Schleifendurchlauf ausgewertet falls true: Anweisungen im Schleifenrumpf werden ausgeführt falls false: Schleife wird beendet Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 20 / 42

21 Ablaufdiagramm der while-schleife Syntax: while-schleife AnweisungenDavor ; while ( Bedingung ) { RumpfAnweisungen ; AnweisungenDanach ; Ablaufdiagramm AnweisungenDavor Bedingung false true RumpfAnweisungen AnweisungenDanach Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 21 / 42

22 Beispiel: Ausgabe aller Quadratzahlen y (I) Aufgabe Gegeben sei eine positive, ganze Zahl y. Gesucht ist ein Algorithmus, der alle ganzzahligen Quadratzahlen y berechnet und ausgibt. Beispiel y = 42 1, 4, 9, 16, 25, 36 Überlegungen Berechnung der Quadratzahlen: eine Quadratzahl ist eine Zahl q = n n um die nächstgrößere Quadratzahl zu berechnen, wird n um eins inkrementiert Speicherung der Basis n, Berechnung der Quadratzahl q, Inkrementierung von n Bedingung für die zu schreibende Schleife: falls die nächste Quadratzahl größer als y ist: Berechnung abbrechen Rumpf ausführen, solange die nächste Quadratzahl y ist Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 22 / 42

23 Beispiel: Ausgabe aller Quadratzahlen y (II) Aufgabe Gegeben sei eine positive, ganze Zahl y. Gesucht ist ein Algorithmus, der alle ganzzahligen Quadratzahlen y berechnet und ausgibt. Mögliche Lösung i n t n = 1; / / Basis while ( n n <= y ) { i n t q = n n ; / / Berechnung der a k t u e l l e n Quadratzahl System. out. p r i n t l n ( q ) ; / / Ausgabe der a k t u e l l e n Quadratzahl n = n + 1; / / Inkrementierung der Basis n Tipp Eigene Programme immer auch mit Grenzwerten testen, hier z.b. für y {48, 49, 50. Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 23 / 42

24 for-schleife Syntax: for-schleife for ( I n i t i a l i s i e r u n g ; Bedingung ; Fortsetzung ) { / / S c h l e i f e n k o p f Anweisungen ; / / Schleifenrumpf Hinweise Schleifenrumpf und Bedingung wie bei der while-schleife die Initialisierung wird einmalig vor Betreten der Schleife ausgeführt kann leer bleiben (Semikolon nicht vergessen!) die Fortsetzung wird nach jedem Schleifendurchlauf ausgeführt kann leer bleiben (Semikolon nicht vergessen!) Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 24 / 42

25 Ablaufdiagramm der for-schleife Syntax: for-schleife AnweisungenDavor ; for ( I n i t ; Bedingung ; Fortsetzung ) { RumpfAnweisungen ; AnweisungenDanach ; Ablaufdiagramm AnweisungenDavor Init Bedingung false true RumpfAnweisungen Fortsetzung AnweisungenDanach Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 25 / 42

26 Schleifenvariable, Laufvariable, Zählvariable die Bedingung hängt üblicherweise vom Wert einer ganzzahligen Variable ab Schleifenvariable oder Laufvariable oder Zählvariable eine solche Laufvariable wird üblicherweise in der Initialisierung deklariert und initialisiert... in der Fortsetzung inkrementiert oder dekrementiert Beispiel for ( i n t i = 1; i <= 3; ++ i ) { System. out. p r i n t l n ( i ) ; Alternative (unschön!) i n t i = 1; / /... e v t l. weitere Anweisungen... for ( ; i <= 3; ) { System. out. p r i n t l n ( i ) ; ++ i ; Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 26 / 42

27 Beispiel: Berechnung der n-ten Potenz (I) Aufgabe Gegeben seien zwei positive, ganze Zahlen x und n. Gesucht ist ein Algorithmus, der die n-te Potenz x n von x berechnet und ausgibt. Beispiel x = 3, n = 4 81 Überlegungen = x x x... x = 1 x x x... x in jeder Iteration eine Multiplikation mit x durchführen Variable, um das aktuelle Zwischenergebnis zu speichern Variable mit 1 initialisieren (neutrales Element der Multiplikation) x n wir brauchen n solcher Multiplikationen Laufvariable, die Anzahl an Iterationen mitzählt Bedingung, die die Schleife nach n Iterationen abbricht Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 27 / 42

28 Beispiel: Berechnung der n-ten Potenz (II) Aufgabe Gegeben seien zwei positive, ganze Zahlen x und n. Gesucht ist ein Algorithmus, der die n-te Potenz x n von x berechnet und ausgibt. Mögliche Lösung i n t potenz = 1; for ( i n t i = 1; i <= n ; ++ i ) { potenz = potenz x ; System. out. p r i n t l n ( potenz ) ; Übliche Lösung i n t potenz = 1; for ( i n t i = 0; i < n ; ++ i ) { potenz = potenz x ; System. out. p r i n t l n ( potenz ) ; Laufvariablen beginnen üblicherweise bei 0 Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 28 / 42

29 Vergleich for-schleife while-schleife Beide Schleifen-Arten sind gleich mächtig und können ineinander umgewandelt werden. for-schleifen for-schleifen eignen sich inbesondere dann, wenn die Anzahl an Iterationen vor Betreten der Schleife bekannt bzw. berechenbar ist. Beispiel: for-schleife i n t potenz = 1; for ( i n t i = 0; i < n ; ++ i ) { potenz = potenz x ; System. out. p r i n t l n ( potenz ) ; while-schleifen while-schleifen eignen sich inbesondere dann, wenn die Anzahl an Iterationen vor Betreten der Schleife unbekannt bzw. nicht (einfach) berechenbar ist. Beispiel: while-schleife i n t n = 1; while ( n n <= y ) { i n t q = n n ; System. out. p r i n t l n ( q ) ; n = n + 1; Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 29 / 42

30 do-while-schleife: Motivation bisher (for, while): Überprüfung der Bedingung vor jedem Schleifendurchlauf auch vor dem ersten Schleifendurchlauf! Schleifenrumpf wird unter Umständen gar nicht ausgeführt sogenannte kopfgesteuerte oder abweisende Schleifen jetzt (do-while): Überprüfung der Bedingung nach jedem Schleifendurchlauf erstmalig nach dem ersten Schleifendurchlauf! Schleifenrumpf wird mindestens einmal ausgeführt sogenannte fußgesteuerte oder nicht-abweisende Schleife Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 30 / 42

31 do-while-schleife Syntax: do-while-schleife do { Anweisungen ; / / Schleifenrumpf while ( Bedingung ) ; / / " S c h l e i f e n f u ß" Hinweise Schleifenrumpf und Bedingung wie bei der while-schleife allerdings andere Auswertungsreihenfolge (siehe oben) Achtung! Semikolon hinter der Bedingung nicht vergessen! Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 31 / 42

32 Ablaufdiagramm der do-while-schleife Syntax: do-while-schleife AnweisungenDavor ; do { RumpfAnweisungen ; while ( Bedingung ) ; AnweisungenDanach ; Ablaufdiagramm AnweisungenDavor RumpfAnweisungen true Bedingung false AnweisungenDanach Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 32 / 42

33 Beispiel: Sechser würfeln (I) Aufgabe Gesucht ist ein Programm, das solange würfelt, bis eine 6 fällt. Hinweis Zufallszahl zwischen 1 und 6 erzeugen: Überlegungen in jeder Iteration eine Zahl würfeln 1 + (int )(Math.random() 6) falls 6: Schleife abbrechen falls keine 6: Schleife erneut durchlaufen es muss mindestens einmal gewürfelt werden fußgesteuerte Schleife Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 33 / 42

34 Beispiel: Sechser würfeln (II) Aufgabe Gesucht ist ein Programm, das solange würfelt, bis eine 6 fällt. Mögliche Lösung i n t wuerfel ; do { wuerfel = 1 + ( i n t ) ( Math. random ( ) 6 ) ; System. out. p r i n t l n ( " es wurde eine " + wuerfel + " gewü r f e l t " ) ; while ( wuerfel!= 6 ) ; Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 34 / 42

35 Komplexe Schleifenbedingungen für alle drei Schleifen-Arten gilt: Bedingung kann komplexer, zusammengesetzter boolescher Ausdruck sein Aufgabe Programm, das solange würfelt, bis eine 6 fällt, aber maximal 3 Mal. Mögliche Lösung i n t wuerfel ; i n t anzahl = 0; do { wuerfel = 1 + ( i n t ) ( Math. random ( ) 6 ) ; System. out. p r i n t l n ( " es wurde eine " + wuerfel + " gewü r f e l t " ) ; anzahl = anzahl + 1; while ( ( wuerfel!= 6) && ( anzahl < 3 ) ) ; Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 35 / 42

36 Sprünge in Schleifen: break/continue break-anweisung ganze Schleife abbrechen Beim Erreichen einer break-anweisung wird die Ausführung der gesamten Schleife frühzeitig abgebrochen. continue-anweisung aktuellen Durchlauf abbrechen Beim Erreichen einer continue-anweisung wird die Ausführung des aktuellen Schleifendurchlaufs frühzeitig abgebrochen und (falls Schleifenbedingung erfüllt) mit dem nächsten Durchlauf weitergemacht. Bei einer for-schleife wird die Fortsetzung ausgeführt. Schlechter Stil... Die Verwendng von break und continue gilt als schlechter Stil, wenn dadurch der reale Ablauf der Schleife schwer nachvollziehbar wird. Wenn möglich, sollte auf die Verwendung von break und continue verzichtet werden. Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 36 / 42

37 Beispiel zu break Aufgabe Zahlen von 1 bis 30 bis zur ersten durch 5 oder 7 teilbaren Zahl ausgeben. Mögliche Lösung (geht auch schöner ohne break!) for ( i n t i = 1; i <= 30; ++ i ) { System. out. p r i n t ( i + " " ) ; i f ( ( i % 5 == 0) ( i % 7 == 0 ) ) { break ; Ausgabe Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 37 / 42

38 Beispiel zu continue Aufgabe Zahlen von 1 bis 30 ausgeben, die nicht durch 5 oder 7 teilbar sind. Mögliche Lösung (geht auch schöner ohne continue!) for ( i n t i = 1; i <= 30; ++ i ) { i f ( ( i % 5 == 0) ( i % 7 == 0 ) ) { continue ; System. out. p r i n t ( i + " " ) ; Ausgabe Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 38 / 42

39 Endlosschleifen für alle Schleifen-Arten gilt: Ausführung des Schleifenrumpfes ist abhängig von einer Bedingung Wiederholung des Schleifenrumpfes solange die Bedingung erfüllt ist Abbruch der Schleife sobald die Bedingung nicht mehr erfüllt ist wenn die Bedingung immer erfüllt ist, also nie false wird: Schleifenrumpf wird unendlich oft ausgeführt Endlosschleife Unerwünschtes Verhalten Bei einer Endlosschleife terminiert das Programm nicht. In den allermeisten Fällen ist dieses Verhalten unerwünscht! Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 39 / 42

40 Beispiele für Endlosschleifen Offensichtliche Endlosschleife while ( true ) { System. out. p r i n t l n ( " Hallo, Welt! " ) ; Weniger offensichtliche Endlosschleife i n t i = 1; while ( i <= 30) { i f ( ( i % 5 == 0) ( i % 7 == 0 ) ) { continue ; System. out. p r i n t ( i + " " ) ; i = i + 1; Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 40 / 42

41 Fragen? Fragen! (hilft auch den anderen)

42 Jetzt: Praktische Übungen mit eigenem Notebook: Nachname A R Hörsaal H5 Nachname S Z Hörsaal H6 bitte erstmal sitzen bleiben! ohne eigenes Notebook in den Rechnerräumen: Tutoren verteilen Gruppenzettel am Ausgang die Einteilung ist zunächst fest für das gesamte Repetitorium Informatik-Repetitorium Tag 3 WS 2016/2017 Lehrstuhl für Informatik 2 (Programmiersysteme) 42 / 42

Tag 3 Repetitorium Informatik (Java)

Tag 3 Repetitorium Informatik (Java) Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: o Klasse 0: kein Rabatt o Klasse 1: 4,5 % Rabatt o Klasse 2: 8,75% Rabatt

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul 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

Mehr

3. Anweisungen und Kontrollstrukturen

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

Mehr

Tag 2 Repetitorium Informatik (Java)

Tag 2 Repetitorium Informatik (Java) Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

Programmiertechnik Kontrollstrukturen

Programmiertechnik Kontrollstrukturen Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 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

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

2.5 Programmstrukturen Entscheidung / Alternative

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

Mehr

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 25

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 25 Kapitel 9 Schleifen Seite 1 von 25 Schleifen - Schleifen werden zur wiederholten Ausführung von Anweisungen verwendet. - Es werden drei Arten von Schleifen unterschieden: o for -Schleife o while -Schleife

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Wiederholung Anweisungen durch Methodenaufrufe Ausgabe

Mehr

Schleifen: Immer wieder dasselbe tun

Schleifen: Immer wieder dasselbe tun Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung

Mehr

C++ - Einführung in die Programmiersprache Schleifen

C++ - Einführung in die Programmiersprache Schleifen C++ - Einführung in die Programmiersprache Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisungsblöcken.

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

2 Teil 2: Nassi-Schneiderman

2 Teil 2: Nassi-Schneiderman 2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

Arbeitsblätter für Algorithmierung und Strukturierung

Arbeitsblätter für Algorithmierung und Strukturierung Prof. Dr.- Ing. Ch. Wahmkow Fachbereich Maschinenbau Fachhochschule Stralsund Arbeitsblätter für Algorithmierung und Strukturierung Inhalt : Struktogramme, Beispiele und Erläuterungen - Sequenz - vollständige

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18 EINI LogWing/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Schleifen Datenfelder (Arrays) Verzweigungen

Schleifen Datenfelder (Arrays) Verzweigungen Schleifen Datenfelder (Arrays) Verzweigungen Vektoren, Matrizen, Tabellen for, while, foreach, if-else und switch-case Dr. Beatrice Amrhein Überblick Schleifen o for, while, foreach Eindimensionale Arrays

Mehr

Arbeitsblätter für Algorithmierung und Strukturierung C #

Arbeitsblätter für Algorithmierung und Strukturierung C # Prof. Dr.- Ing. Ch. Wahmkow Fachbereich Maschinenbau Fachhochschule Stralsund Arbeitsblätter für Algorithmierung und Strukturierung C # Inhalt : Struktogramme, Beispiele und Erläuterungen - Sequenz - vollständige

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

Programmieren 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 Sequenz (Aneinanderreihung von Anweisungen)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

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

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

Einführung in die Programmierung II. 3. Kontrollstrukturen

Einführung in die Programmierung II. 3. Kontrollstrukturen Einführung in die Programmierung II 3. Kontrollstrukturen Thomas Huckle, Stefan Zimmer 2.5.2007-1- Anweisungen: was bisher geschah Bisher kennen wir zwei Formen von Anweisungen Ein Ausdruck mit Semikolon

Mehr

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49) Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden

Mehr

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Kontrollstrukturen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Kontrollstrukturen Wichtig: bedingte Ausführung

Mehr

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

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

Mehr

Vorlesung Programmieren

Vorlesung 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),

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

Mehr

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A 2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,

Mehr

Programmiervorkurs Einführung in Java Tag 3

Programmiervorkurs Einführung in Java Tag 3 Programmiervorkurs Einführung in Java Tag 3 Giulia Maier erstellen Sommersemester 2018 09:30 Vorstellung der Lösungen des Vortages ab 10:00 Vorlesung 60 Minuten Mittagspause erstellen gegen 12:30 Übungen

Mehr

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

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

Mehr

9 Anweisungen und Kontrollstrukturen

9 Anweisungen und Kontrollstrukturen 9 Anweisungen und Kontrollstrukturen Hier beziehen wir uns auf Kapitel 6 von Go To Java 2. Die Steuerung des Programmablaufs geschieht durch sogenannte Anweisungen. Jede Anweisung bewirkt irgendwelche

Mehr

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung: 2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden

Mehr

Webbasierte Programmierung

Webbasierte 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

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 64 1 Einführung Java Geschichte 2 Programmieren in Java Einführung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 C-Anweisungen...4-2 4.1 Ausdrucksanweisungen...4-3 4.2 Zusammengesetzte Anweisungen (Anweisungsblöcke)...4-3 4.3 Schleifenanweisungen...4-4 4.3.1 while - Schleife...4-4 4.3.2 do - Schleife...4-5

Mehr

3. Grundanweisungen in Java

3. Grundanweisungen in Java 3. Grundanweisungen in Java Die Grundanweisungen entsprechen den Prinzipien der strukturierten Programmierung 1. Zuweisung 2. Verzweigungen 3. Wiederholungen 4. Anweisungsfolge (Sequenz) Die Anweisungen

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010 Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den

Mehr

Kontrollstrukturen Blöcke / Schleifen / Bedingungen

Kontrollstrukturen Blöcke / Schleifen / Bedingungen Kontrollstrukturen Blöcke / Schleifen / Bedingungen 1 Einfache Anweisungen und Blöcke einfache Anweisung abgeschlossen mit Semikolon ; typische Fälle: o Deklaration, Zuweisung, Funktionsaufruf Sonderfall

Mehr

String-Konkatenation

String-Konkatenation YOU ARE HERE Ausdrücke und Anweisungen Einführung Objektorientierte Modellierung Java-Sprachkonstrukte Pakete und Zugriffskontrolle Deklaration von Methoden, Attributen, Variablen Ausdrücke und Anweisungen

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren 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

Mehr

Kapitel 5. Programmierkurs. Kontrollstrukturen. Arten von Kontrollstrukturen. Kontrollstrukturen Die if-anweisung Die switch-anweisung

Kapitel 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

Mehr

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine

Mehr

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 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

Mehr

INP (05) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter

INP (05) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter INP (05) 1 of 16 INP (05) Prof. Dr.-Ing. S. Gössner University of Applied Sciences Lippe & Höxter INP (05) 2 of 16 Inhalt INP (05) Inhalt Kontrollanweisungen if - Anweisung if... else - Anweisung if..

Mehr

Programmieren für Wirtschaftswissenschaftler SS 2015

Programmieren 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

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 09.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND

Mehr

Schleifen in C/C++/Java

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

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Arrays und Schleifen

Arrays und Schleifen Arrays und Schleifen Javakurs 2014, 2. Vorlesung Sebastian Schuck basierend auf der Vorlage von Theresa Enghardt, Mario Bodemann und Sebastian Dyroff wiki.freitagsrunde.org 3. März 2014 This work is licensed

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Schleifen in C/C++/Java

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

Mehr

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Übersicht Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Einführung in die Programmierung 5. Grundlagen der funktionalen & imperativen Programmierung 1 Übersicht 5.1 Sorten und Abstrakte

Mehr

Einführung in die Programmierung

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

Ü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

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Operatoren (1) Operatoren (2)

Operatoren (1) Operatoren (2) Operatoren (1) Binäre Operatoren + - * / % < = > & ^ > && Addition Subtraktion Multiplikation Division Divisionsrest Vergl. auf kleiner Vergl. auf kleiner oder gleich Vergl. auf gleich Vergl.

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

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

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009 Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

FH 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

Mehr

Arrays und Schleifen

Arrays und Schleifen Arrays und Schleifen Javakurs 2013, 2. Vorlesung Theresa Enghardt basierend auf der Vorlage von Mario Bodemann und Sebastian Dyroff wiki.freitagsrunde.org 4. März 2013 This work is licensed under the Creative

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

12 == 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

12 == 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

Mehr

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt?

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt? 1.8 Kontrollstrukturen 75 1.8.5 Wiederholungen Häufig muss die gleiche Teilaufgabe oft wiederholt werden. Denken Sie nur an die Summation von Tabellenspalten in der Buchführung oder an das Suchen einer

Mehr

Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.

Schleifen 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

Mehr

Übungsblatt 2. Java Vorkurs (WS 2015)

Übungsblatt 2. Java Vorkurs (WS 2015) Übungsblatt 2 Java Vorkurs (WS 2015) Aufgabe 1 Logische Operatoren Manchmal ist es wichtig zwei Werte miteinander zu vergleichen. Dazu gibt es in Java folgende Vergleichsoperatoren: Text Math. Zeichen

Mehr

Übungsblatt 2. Java Vorkurs (WS 2017)

Übungsblatt 2. Java Vorkurs (WS 2017) Übungsblatt 2 Java Vorkurs (WS 2017) Aufgabe 1 Logische Operatoren Manchmal ist es wichtig zwei Werte miteinander zu vergleichen. Dazu gibt es in Java folgende Vergleichsoperatoren: Text Math. Zeichen

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren 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

Mehr

Brückenkurs Programmieren

Brückenkurs Programmieren Brückenkurs Programmieren Verzweigungen, Operatoren, Schleifen, Arrays Christopher Schölzel Technische Hochschule Mittelhessen 01.10.2013 Christopher Schölzel (THM) Brückenkurs Programmieren 01.10.2013

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Folienpaket 4 Themenschwerpunkte: Kontrollstrukturen: Schleifen /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Folienpaket 4 Themenschwerpunkte: Kontrollstrukturen: Schleifen /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Folienpaket 4 Themenschwerpunkte: Kontrollstrukturen: Schleifen 156 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Konstrollstrukturen Kontrollstrukturen sind Mechanismen in Programmiersprachen,

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr