Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiervorkurs WS 2014/15 Schleifen Termin 3.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiervorkurs WS 2014/15 Schleifen Termin 3."—  Präsentation transkript:

1 Programmiervorkurs WS 2014/15 Schleifen Termin 3

2 Teile des Programms mehrfach ausführen Ein Befehl soll mehrfach ausgeführt werden, z.B.: public class MyCounter { public static void main(String[] args) { System.out.println(1); }

3 Teile des Programms mehrfach ausführen Ein Befehl soll mehrfach ausgeführt werden, z.B.: public class MyCounter { public static void main(String[] args) { System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); System.out.println(6); System.out.println(7); System.out.println(8); } Copy & Paste ist eine schlechte Idee! (Code wird lang und unübersichtlich.)

4 Teile des Programms mehrfach ausführen while-Schleife public class MyCounter { public static void main(String[] args) { int i = 0; while (i < 10) { // solange i < System.out.println(i); // gib i aus i++; // und erhoehe i um 1 }

5 Teile des Programms mehrfach ausführen while-Schleife public class MyCounter { public static void main(String[] args) { int i = 0; while (i < 10) { // solange i < System.out.println(i); // gib i aus i++; // und erhoehe i um 1 } Abbruch wenn false

6 Teile des Programms mehrfach ausführen while-Schleife public class MyCounter { public static void main(String[] args) { int i = 0; while (i < 10) { // solange i < System.out.println(i); // gib i aus i++; // und erhoehe i um 1 } geschweifte Klammern begrenzen die Schleife

7 Teile des Programms mehrfach ausführen while-Schleife public class MyCounter { public static void main(String[] args) { int i = 0; while (i < 10) { // solange i < System.out.println(i); // gib i aus }

8 Teile des Programms mehrfach ausführen while-Schleife public class MyCounter { public static void main(String[] args) { int i = 0; while (i < 10) { // solange i < System.out.println(i); // gib i aus } Achtung vor Endlosschleife! Bist Du sicher, dass der Ausdruck in () irgendwann false wird?

9 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { int i = 0; while (i < 10) { // solange i < System.out.println(i); // gib i aus i++; // und erhoehe i um 1 } (ermöglicht kompaktere Notation)

10 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { int i = 0; while (i < 10) { // solange i < System.out.println(i); // gib i aus i++; // und erhoehe i um 1 }

11 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { for (int i = 0; i < 10; i++) {// solange i < 10 System.out.println(i); // gib i aus // und erhoehe i um 1 }

12 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { for (int i = 0; i < 10; i++) {// solange i < 10 System.out.println(i); // gib i aus // und erhoehe i um 1 } Initialisierung UpdateAusdruck

13 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { for (int i = 0; i < 10; i++) {// solange i < 10 System.out.println(i); // gib i aus // und erhoehe i um 1 } Initialisierung (wird vor dem ersten Schleifendurchlauf ausgeführt) UpdateAusdruck

14 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { for (int i = 0; i < 10; i++) {// solange i < 10 System.out.println(i); // gib i aus // und erhoehe i um 1 } Initialisierung UpdateAusdruck (wird vor jedem Schleifendurchlauf ausgewertet)

15 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { for (int i = 0; i < 10; i++) {// solange i < 10 System.out.println(i); // gib i aus // und erhoehe i um 1 } Update (wird nach jedem Schleifendurchlauf ausgeführt) Initialisierung Ausdruck

16 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { for (int i = 0; i < 10; i++) {// solange i < 10 System.out.println(i); // gib i aus // und erhoehe i um 1 } Nur eine Anweisung in Schleifenblock? → Klammern können entfallen. (auch bei while-Schleife)

17 Teile des Programms mehrfach ausführen for-Schleife public class MyCounter { public static void main(String[] args) { for (int i = 0; i < 10; i++) System.out.println(i); }

18 Teile des Programms mehrfach ausführen Beispiel: Berechnung der Fakultät einer Zahl n n! = 1 · 2 ·... · n

19 Teile des Programms mehrfach ausführen public class Fakultaet { public static void main(String[] args) { //Berechne die Fakultaet f von n: int n = 5; int f = 1; for (int i = 1; i <= n; i++) { f *= i; } System.out.println( "Die Fakultaet von " + n + " ist " + f); } Beispiel: Berechnung der Fakultät einer Zahl n

20 Teile des Programms mehrfach ausführen public class Fakultaet { public static void main(String[] args) { //Berechne die Fakultaet f von n: int n = 5; int f = 1; for (int i = 1; i <= n; i++) { f *= i; System.out.println(i + " " + f); //Test } System.out.println( "Die Fakultaet von " + n + " ist " + f); } Beispiel: Berechnung der Fakultät einer Zahl n

21 Teile des Programms mehrfach ausführen public class Fakultaet { public static void main(String[] args) { //Berechne die Fakultaet f von n: int n = 5; int f = 1; for (int i = 1; i <= n; i++) { f *= i; System.out.println(i + " " + f); //Test } System.out.println( "Die Fakultaet von " + n + " ist " + f); } Beispiel: Berechnung der Fakultät einer Zahl n Ausgabe:

22 Teile des Programms mehrfach ausführen Beispiel: Berechnung der Fakultät einer Zahl n import java.util.Scanner; public class Fakultaet { public static void main(String[] args) { //Eingabe einer Zahl n: Scanner sc = new Scanner(System.in); int n = sc.nextInt(); //Berechne die Fakultaet f von n: int f = 1; for (int i = 1; i <= n; i++) f *= i; System.out.println( "Die Fakultaet von " + n + " ist " + f); }

23 Teile des Programms mehrfach ausführen Beispiel: Berechnung der Fakultät einer Zahl n import java.util.Scanner; public class Fakultaet { public static void main(String[] args) { //Eingabe einer Zahl n: Scanner sc = new Scanner(System.in); int n = sc.nextInt(); //Berechne die Fakultaet f von n: int f = 1; for (int i = 1; i <= n; i++) f *= i; System.out.println( "Die Fakultaet von " + n + " ist " + f); }

24 Teile des Programms mehrfach ausführen Beispiel: Berechnung der Fakultät einer Zahl n import java.util.Scanner; public class Fakultaet { public static void main(String[] args) { //Eingabe einer Zahl n: Scanner sc = new Scanner(System.in); int n = sc.nextInt(); //Berechne die Fakultaet f von n: long f = 1; //die Fakultaet waechst schnell! for (int i = 1; i <= n; i++) f *= i; System.out.println( "Die Fakultaet von " + n + " ist " + f); }

25 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt:

26 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: · 8 = ?

27 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: · 8 = 56

28 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins public class Einmaleins { public static void main(String[] args) { for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

29 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins public class Einmaleins { public static void main(String[] args) { //Aeussere Schleife: Iteriere ueber Zeilen for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

30 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins public class Einmaleins { public static void main(String[] args) { for (int zeile = 1; zeile <= 10; zeile++) { //Innere Schleife: Iteriere ueber Spalten for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

31 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins public class Einmaleins { public static void main(String[] args) { //Aeussere Schleife: Iteriere ueber Zeilen for (int zeile = 1; zeile <= 10; zeile++) { //Innere Schleife: Iteriere ueber Spalten for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); //Tabulator } System.out.print("\n"); //Zeilenumbruch }

32 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: 1 for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

33 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: 1 2 for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

34 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

35 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

36 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

37 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

38 Teile des Programms mehrfach ausführen Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: for (int zeile = 1; zeile <= 10; zeile++) { for (int spalte = 1; spalte <= 10; spalte++) { int produkt = zeile * spalte; System.out.print(produkt + "\t"); } System.out.print("\n"); }

39 Aufgabe Erstellt ein Programm, das die Kreiszahl  nach der Reihenentwicklung von Leibniz berechnet: Erstellt ein Programm, das die Kreiszahl  durch das zufällige Streuen von Punkten in ein Quadrat ermittelt. Verwendet als Zufallsgenerator die Methode Math.random(). Hinweise zu dieser Variante findet Ihr im Internet unter dem Schlagwort „Monte-Carlo-Methode“.

40 Aufgabe Erstellt ein Programm, dass vom Nutzer ein beliebiges Zeichen einliest sowie eine Ganzzahl n. Das Zeichen soll n Zeilen oft n-mal ausgegeben werden. Erstellt ein Programm, das (mit Hilfe von for-Schleifen) symmetrische Tannenbäume (variabler Höhe) generiert. Der Stamm hat immer eine Höhe von zwei Zeilen und die Krone mindes- tens drei. * *** * ***** *** ******* ***** ********* * * Höhe 3 Höhe 5

41 Aufgabe ZUSATZ: Ändert Euer Programm so, dass es auch Wälder mit konstanter Baumhöhe generieren kann. * * * * * *** *** *** *** *** ***** ***** ***** ***** ***** * * * * * Wald mit Bäumen der Höhe 3.


Herunterladen ppt "Programmiervorkurs WS 2014/15 Schleifen Termin 3."

Ähnliche Präsentationen


Google-Anzeigen