Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gerlinde Zaring Geändert vor über 9 Jahren
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 (ermöglicht kompaktere Notation) 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 }
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 Ausdruck Update
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) Ausdruck Update
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 Ausdruck (wird vor jedem Schleifendurchlauf ausgewertet) Update
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 } Initialisierung Ausdruck Update (wird nach jedem Schleifendurchlauf ausgeführt)
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: 1 1 2 2 3 6 4 24 5 120
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: 7 · 8 = ?
27
Teile des Programms mehrfach ausführen
Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: 7 · 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: 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");
38
Teile des Programms mehrfach ausführen
Mehrfachschleifen: Das kleine Einmaleins Gesucht ist ein Programm, das folgende Tabelle ausgibt: 2 4 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 p nach der Reihenentwicklung von Leibniz berechnet: Erstellt ein Programm, das die Kreiszahl p 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 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.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.