C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den...

47
Leibniz Universität IT Services | Anja Aue C# - Einführung in die Programmiersprache „Bedingte Anweisungen und Schleifen“ Gehe nach links oder rechts Gehe solange geradeaus...

Transcript of C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den...

Page 1: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

Leibniz Universität IT Services | Anja Aue

C# - Einführung in die Programmiersprache

„Bedingte Anweisungen und Schleifen“

Gehe nach links oder rechts

Gehe solange geradeaus...

Page 2: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 2

Programmabläufe grafisch abbilden

In Flussdiagrammen werden mit Hilfe von verschiedenen grafischen Elementen die Aktionen eines Programms abgebildet.

Die grafischen Elemente von Flussdiagrammen sind in der DIN 66001 definiert.

Page 3: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 3

Anweisungen

Aktionen, die der Computer ausführt.

Zeile in einem Computerprogramm. In C# werden Anweisungen durch ein Semikolon beendet. Leere Anweisungen (;) sind möglich.

Page 4: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 4

... in einem Flussdiagramm

Einlesen von varX und varY

tmpX = varX

tmpX = varX

… wird für die Ein- und Ausgabe genutzt.

… stellen eine Zeile im Programmcode dar.

Page 5: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 5

Objekt „Konsole“

Das Objekt System.Console beschreibt die Eingabeaufforderung.

Die Eingabeaufforderung ist hierarchisch unterhalb des Systems eingeordnet. Die Hierarchie wird durch den Punkt abgebildet.

Die vollständige Syntax muss nicht genutzt werden, wenn am Anfang des Programm der Gültigkeitsbereich mit Hilfe der Anweisung using System importiert wurde.

Page 6: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 6

Daten in die Konsole schreiben

Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung.

Console.WriteLine([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. Nach der Ausgabe des Textes wird ein Zeilenumbruch automatisiert durchgeführt.

Page 7: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 7

Verknüpfung von Text

Literale und Variablen können mit Hilfe des Pluszeichens verknüpft werden.

Andere Möglichkeit: In dem Literal werden Platzhalter für den variablen Text genutzt.

Diese Platzhalter bieten verschiedene Formatierungsmöglichkeiten.

Console.WriteLine("Buchstabe: " + intBuchstabe);

Console.WriteLine("Buchstabe: {0}", intBuchstabe);

Console.WriteLine("Buchstabe: {1} : {0}",strBuchstabe, intBuchstabe);

Page 8: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 8

Mit Platzhaltern arbeiten

Der Methode werden verschiedenen Parameter übergeben. Die Parameterliste wird durch die runden Klammern begrenzt. Die Parameter werden durch Kommata getrennt.

Als erste Parameter wird ein Literal übergeben. In diesem Literal werden Platzhalter genutzt.

Platzhalter werden durch die geschweiften Klammern in dem Literal gekennzeichnet. Die Variablen in der Parameterliste werden von 0 bis n durchnummeriert.

Die Anzahl der Variablen entspricht der Anzahl der genutzten Platzhalter.

Console.WriteLine("Buchstabe: {0}", intBuchstabe);

Console.WriteLine("Buchstabe: {1} : {0}",strBuchstabe, intBuchstabe);

Page 9: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 9

Platzhalter und Variablen

Console.WriteLine("Buchstabe: {1} : {0}",strBuchstabe, intBuchstabe);

Die Nummern der Platzhalter müssen nicht der Reihenfolge der Variablen entsprechen.

Die Nummer 0 entspricht der ersten Variablen in der Parameterliste. Die Nummer 1 der zweiten Variablen und so weiter.

Page 10: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 10

Formatierung der Ausgabe-Daten

Console.WriteLine("Dezimalzahl: {0}", dblZahl);

Console.WriteLine("Dezimalzahl : {0:0}", dblZahl);

Console.WriteLine("Dezimalzahl : {0:00.000}", dblZahl);

Console.WriteLine("Dezimalzahl : {0:#0.000}", dblZahl);

Console.WriteLine("Dezimalzahl : {0,15:0.00}", dblZahl);

Platzhalter Formatierung

{0 : 0} Anzahl der Stellen vor dem Komma

{0 : 00.000} Anzahl der Stellen vor und nach dem Komma

{0 : #0.000} Hash-Zeichen: Falls vorhanden ...

{0, 15 : 0.00} 15 Zeichen breite rechtsbündige Ausgabe.-15 Zeichen breite linksbündige Ausgabe.

Page 11: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 11

Daten von der Konsole lesen

Console.ReadLine() liest die nächste Zeile von der Konsole ein. Die Zeile wird mit einem Zeilenumbruch abgeschlossen.

Console.ReadKey([Boolean]) ruft die nächste gedrückte Zeichen- oder Funktionstaste ab. Bei einem Parameter von True wird das Zeichen in der Konsole angezeigt.

Console.Read() liest ein Zeichen als Integer von der Konsole ein.

Page 12: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 12

Bedingte Anweisungen ...

führen einen Programmabschnitt in Abhängigkeit einer Bedingung aus.

fragen im Kopf eine Bedingung ab. Falls die Bedingung zutrifft, wird der dazugehörige Code ausgeführt.

können als Wenn-Dann-Anweisung bezeichnet werden.

Page 13: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 13

… in C#

if (eingabe == 'h'){

umrechnung = flaeche / ToHektar;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Hektar: {0}", umrechnung);

}

else if (eingabe == 'a'){

umrechnung = flaeche / ToAr;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Ar: {0}", umrechnung);

}

else{

Console.WriteLine("in Quadratmeter: {0}", flaeche);

}

Page 14: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 14

… in Sprache übersetzt

Falls die Variable eingabe gleich dem Wert 'h' ist{

umrechnung = flaeche / ToHektar;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Hektar: {0}", umrechnung);

}

Falls die Variable eingabe gleich dem Wert 'a' ist{

umrechnung = flaeche / ToAr;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Ar: {0}", umrechnung);

}

andernfalls{

Console.WriteLine("in Quadratmeter: {0}", flaeche);

}

Page 15: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 15

… in einem Flussdiagramm

Flaeche / Hektar Flaeche / Ar

Ausgabe Ausgabe Ausgabe

eingabe = h eingabe = aneinnein

ja ja

Page 16: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 16

Bedingungen ...

sind Ausdrücke, die einen boolschen Wert als Ergebnis liefern.

treffen zu (wahr, true) oder nicht (falsch, false). vergleichen zwei Werte. werden immer in runde Klammern gesetzt. Andernfalls wird ein

Syntaxfehler angezeigt. können in beliebiger Reihenfolge verknüpft werden.

Page 17: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 17

Vergleichsoperatoren

Operator Aktion Beispielx = 4; y = 9

== Ist gleich (x == y) = false

!= Ist ungleichIst nicht gleich

(x != y) = true

< Kleiner als (x < y) = true

<= Kleiner gleich als (x <= y) = true

> Größer als (x > y) = false

>= Größer gleich als (x >= y) = false

Page 18: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 18

if-Anweisung ...

if (eingabe == 'h'){

umrechnung = flaeche / ToHektar;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Hektar: {0}", umrechnung);

}

bestehen aus einer Bedingung und einen Codeabschnitt.

beschreiben exakt einen Fall.

können verschachtelt werden. Die Bedingung muss geklammert werden. Der auszuführende Codeabschnitt beginnt und endet mit den

geschweiften Klammern.

Page 19: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 19

else-Anweisung ...

if (eingabe == 'h'){

umrechnung = flaeche / ToHektar;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Hektar: {0}", umrechnung);

}

else{

Console.WriteLine("in Quadratmeter: {0}", flaeche);

}

wird mit Hilfe der Einrückung einer if-Anweisung zugeordnet. beschreibt den Standardfall. fängt alle nicht behandelten Fälle ab.

Page 20: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 20

Vergleich mit Fließkommazahlen

static void Main(string[] args)

{

float ergebnis;

float result;

ergebnis = 0.09f * 99.999999f; // 8,99999991

result = 0.09f * 100f; // 9

if (ergebnis == result) // Hinweis: Nährungswerte

{

Console.WriteLine("Ergebnis = Result = 9");

}

}

Page 21: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 21

Bedingungen miteinander verknüpfen

Logische Operatoren verknüpfen zwei Bedingungen miteinander.

Und (And): Beide Bedingungen müssen wahr sein. Falls die linke Bedingung falsch ist, wird die rechte Bedingung nicht ausgewertet.

Oder (Or): Eine der beiden Bedingungen muss wahr sein. Falls die linke Bedingung wahr ist, wird die rechte Bedingung nicht ausgewertet:

Nicht (Not) negiert eine Bedingung.

Page 22: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 22

Logische Operatoren

Operator Aktion Beispiel

&& And (x > 0) && (x < 10)

|| Or (x == 'Q') || (x == 'q')

! Not !(x = 10)(x != 10)

Page 23: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 23

Wahrheitstabelle

Bedingung Möglichkeiten

a b !(a) a && b a || bfalse false true false false

true false false false true

false true true false true

true false false false true

Page 24: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 24

Und-Verknüpfung

if ((breite > 0) && (laenge > 0))

{

flaeche = breite * laenge;

Console.Write("Ar (a) oder Hektar (h): ");

eingabe = Convert.ToChar(Console.ReadLine());}

Page 25: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 25

Oder-Verknüpfung

if ((Double.TryParse(strBreite, out breite)) ||

(Double.TryParse(strLaenge, out laenge)))

{

if ((breite > 0) && (laenge > 0))

{

// * laenge wird nicht gesetzt

flaeche = breite * laenge;

umrechnung = flaeche / ToHektar;

}

}

Page 26: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 26

Rangfolge der Operatoren

Die Operatoren mit der höchsten Priorität befinden sich in der ersten Zeile.Operatoren in einer Zeile haben eine gleichwertige Priorität.

x++ x--

+ - ! ++x --x

* / %

+ -

< <= => >

== !=

&&

||

= += -= *= /= %=

Page 27: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 27

Anweisungsleiter

if (eingabe == 'h'){

umrechnung = flaeche / ToHektar;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Hektar: {0}", umrechnung);

}

else if (eingabe == 'a'){

umrechnung = flaeche / ToAr;

Console.WriteLine("in Quadratmeter: {0}", flaeche);

Console.WriteLine("in Ar: {0}", umrechnung);

}

else{

Console.WriteLine("in Quadratmeter: {0}", flaeche);

}

Page 28: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 28

Hinweise

Der erste Fall beginnt mit dem Schlüsselwort if.

Alle anderen zu behandelnden Fälle beginnen mit else if. Beiden Schlüsselwörtern folgt eine Bedingung, die mit anderen

verknüpft werden kann. Falls die Bedingung erfüllt ist, wird der passende Codeabschnitt

ausgeführt. Der Codeabschnitt beginnt und endet mit den geschweiften Klammern.

Der Standardfall beginnt mit dem Schlüsselwort else. Der Standardfall wird am Ende der Leiter beschrieben.

Page 29: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 29

Andere Möglichkeit

switch (eingabe){

case 'h':

umrechnung = flaeche / ToHektar;

break;

case 'a':

umrechnung = flaeche / ToAr;

break;

default:

Console.WriteLine("in Quadratmeter: {0}", flaeche);

break;

}

Page 30: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 30

Hinweise

Mit Hilfe einer switch-Anweisung wird überprüft, ob die angegebene Variable einen bestimmten Wert hat.

Der angegebene Schalter kann verschiedene Zustände annehmen.

Dem Schlüsselwort switch folgt in runden Klammern der Name der zu untersuchenden Variablen.

Innerhalb der geschweiften Klammern werden die verschiedenen zu untersuchenden Fälle angegeben.

Page 31: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 31

Definition der verschiedenen Fälle

Jeder Fall wird mit dem Schlüsselwort case eingeleitet.

Dem Schlüsselwort folgt die Angabe einer Ganzzahl oder eines Char-Zeichens.

Die Beschreibung des Falls endet mit dem Doppelpunkt. Dem Doppelpunkt folgen die dazugehörigen Anweisungen. Die Anzahl der beschriebenen Fälle ist beliebig groß.

Page 32: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 32

Definition des Standardfalls

Der Standardfall wird mit dem Schlüsselwort default eingeleitet.

Die Beschreibung des Falls endet mit dem Doppelpunkt. Dem Doppelpunkt folgen die dazugehörigen Anweisungen. Die Angabe des Standardfalls ist optional.

Page 33: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 33

Sprunganweisungen

break beendet einen case-Zweig oder unterbricht einen Schleifendurchlauf.

return wert gibt einen Wert an den Aufrufer zurück. Die Methode wird beendet.

Ein case-Zweig muss immer durch eine Sprunganweisung beendet werden. Ausnahme: Leere case-Anweisungen. Die Anweisungen des nächsten case-Zweigs werden ausgeführt.

Page 34: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 34

Schleifen ...

wiederholen Anweisungen ...

mit Hilfe einer Zählvariablen x-Mal (for-Schleife). beliebig oft in Abhängigkeit einer Bedingung (do-while- oder

while-Schleifen). Eine Bedingung kann mit einer / mehreren anderen Bedingungen verknüpft werden.

können vorzeitig abgebrochen werden. können geschachtelt werden.

Page 35: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 35

while-Schleife

varZaehler = 1;

summe = 0;

while (varZaehler < max)

{

summe = summe + varZaehler;

varZaehler = ++varZaehler;

}

Console.WriteLine("Summe: {0}", summe);

Page 36: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 36

Hinweise

Dem Schlüsselwort while folgt die Bedingung im Kopf der Schleife.

Falls die Bedingung zutrifft, wird der dazugehörige Block von Anweisungen ausgeführt. Der Block ist durch die geschweiften Klammern begrenzt.

Falls in dem Block die Zählvariable nicht neu gesetzt wird, wird eine Endlosschleife erzeugt.

Page 37: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 37

Leerer Schleifenrumpf

while ((Convert.ToChar(Console.Read()) != '\n')) ; Zu dieser Schleife existieren keine Anweisungen. Der Kopf der Schleife endet mit einem Semikolon für eine leere

Anweisung. In diesem Beispiel wird solange ein Zeichen von der Konsole

gelesen, bis das Zeilenende erreicht ist. Falls kein Zeilenende vorhanden ist, läuft die Schleife endlos.

Page 38: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 38

do-while-Schleife

varZaehler = 1;

summe = 0;

do

{

summe = summe + varZaehler;

varZaehler = ++varZaehler;

}while (varZaehler < max);

Console.WriteLine("Summe: {0}", summe);

Page 39: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 39

Hinweise

Dem Schlüsselwort do folgt ein Block von Anweisungen.

Dieser Block wird mindestens einmal durchlaufen. Falls in dem Block die Zählvariable nicht neu gesetzt wird, wird eine Endlosschleife erzeugt.

Nach jedem Durchlauf wird die Bedingung im Fuß der Schleife überprüft.

Die Bedingung beginnt mit dem Schlüsselwort while und endet mit einem Semikolon.

Page 40: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 40

for-Schleife

summe = 0;

for (varZaehler = 1; varZaehler < max; varZaehler++)

{

summe = summe + varZaehler;

}

Console.WriteLine("Summe: {0}", summe);

Page 41: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 41

Hinweise zum Schleifenkopf

for (varZaehler = 1;

varZaehler < max;

varZaehler++) Dem Schlüsselwort for folgen in den runden Klammern drei

Anweisungen. Jede Anweisung endet mit einem Semikolon und kann leer sein.

In der ersten Anweisung wird die Zählvariable auf einen Startwert gesetzt.

In der zweiten Anweisung wird die Bedingung zur Beendigung der Schleife definiert.

In der dritten Anweisung wird der neue Wert der Zählvariablen für jeden Durchlauf berechnet.

Page 42: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 42

Leere Anweisungen nutzen

varZaehler = 1;

summe = 0;

for (; ; ){

if (varZaehler < max){

summe = summe + varZaehler;

}

else{

break;

}

varZaehler++;

}

Page 43: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 43

Schleife vollständig abbrechen

breite = 1;

laenge = 1;

while(true){

flaeche = breite * laenge;

if (flaeche >= 100){

break;

}

breite = breite * 2;

laenge = laenge * 2;

}

Page 44: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 44

Hinweise

Das Schlüsselwort break bricht den aktuellen Schleifen-Durchlauf ab.

Die Anweisungen im Anschluss des Schleifenrumpfs, in dem das Schlüsselwort steht, werden ausgeführt.

Falls das Schlüsselwort in einer inneren Schleife genutzt wird, wird nur diese abgebrochen. Die äußere Schleife wird fortgesetzt.

Page 45: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 45

Nutzung in verschachtelten Schleifen

for (int zahlL = 1; ; zahlL++){

if (zahlL > 10){

break; // Abbruch for(int zahlL

}

for (int zahlR = 1; ; zahlR++){

if ((zahlR > 10) || (zahlL > 10)) {

break; // Abbruch for(int zahlR

}

ergebnis = zahlL * zahlR;

}

}

Page 46: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 46

Sprung zum nächsten Schleifendurchlauf

for (int zahlL = 1; ; zahlL++){

for (int zahlR = 1; ; zahlR++){

if (((zahlL % 2) > 0) && ((zahlR % 2) > 0)){

ergebnis = zahlL * zahlR;

}

else {

continue;

}

}

}

Page 47: C# - Einführung in die Programmiersprache „Bedingte ... · Console.Write([Text]) schreibt den angegebenen Text in die Eingabeaufforderung. ... Der Kopf der Schleife endet mit einem

C# - Einführung | 27.06.12 Seite 47

Hinweise

Das Schlüsselwort continue bricht den aktuellen Schleifen-Durchlauf ab.

Der nächste Schleifen-Durchlauf wird gestartet.