"We are back" « oc.at

[HELP] C# Schleifen

eeK! 04.12.2007 - 19:46 5101 38
Posts

eeK!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2977
Abend,

also ich hab morgen einen Test in Angewandte Informatik über Schleifen.
Leider habe ich absolut keinen Plan wie ich den Syntax schreiben soll.
Struktogramm zu zeichnen ist nicht so das Problem nur dieses dann in einen Syntax umwandeln.. :( Absolut keinen Plan.
War heute sogar Förderunterricht aber hat nicht wirklich was gebracht.

Jetzt wollte ich fragen ob´s mir vl. hier jemand erklären kann - vl. verstehe ich es ja wenn´s von g33k zu g33k ist..

Suche im Internet jetzt noch paar Sachen - habe auch schon die ein oder andere nette Site gefunden und werd mich jetzt halt noch mal in die Materie einlesen.

Wir behandeln zurzeit die :
FOR,- WHILE,- DO-WHILE Schleife.

Naja wäre echt leiwand wenn´s vl wer so "erklären" kann das es auch ich verstehe ;)

mfg

stevke

in the bin
Avatar
Registered: Sep 2001
Location: Wien
Posts: 3964
FOR-Schleife

Bsp:

Code:
for (int i = 0; i < 100; i++)
{
 //code
}

Erklärung:

Diese Schleife führt die Befehle innerhalb der Klammern so oft durch bis die Bedingung "false" ist.
Im ersten Abschnitt definierst du deine Zählvariable, im 2. die Bedingung, wann die Schleife zu Ende sein soll, im 3. veränderst du die Zählvariable (je nach dem was du benötigst kann hier auch ganz was anderes stehen)
Wenn der Inhalt der Schleife einmal durchgeführt wurde, wird die Bedingung wieder abgefragt und es geht weiter.

Ganz gut kannst du dir das ansehen, wenn du zB mit C# Express Edition eine For-Schleife programmierst und dieses dann Schritt für Schritt durchgehst (mit F10 im Visual Studio).

Do-Schleife:
Code:
do
{

}while(BEDINGUNG);

Bei dieser Schleife kommst du garantiert einmal in den Bereich zwischen den Klammern, am Ende wird die Bedingung überprüft (zB while(true) für eine Endlosschleife), wenn sie zutrifft (also "true" ist) wird der Code zwischen den Klammern nochmal ausgeführt.

While-Schleife:
Code:
while(Bedingung)
{

}
Hier wird gleich vor dem ersten Durchlauf die Bedingung abgefragt, ansonst ähnlich der Do-While-Schleife.

Falls irgendwas spezielles unklar ist, stell einfach eine konkrete Frage.

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792

fresserettich

Here to stay
Registered: Jul 2002
Location: hier
Posts: 5448
ich probiers mal

1. while-schleife

in der Klammer schreibst du einfach deine Bedingung rein solange diese true ist, wird die schleife ausgeführt

Code: PHP
while (myBoolean == true) 
{ 
//Code innerhalb der Schleife
}

2. for-schleife

Die Forschleife eignet sich besonders zum durchlaufen z.B. von Arrays, in meinem Beispiel definierst du dir einfach eine Variable und weist dieser gleich einen wert zu, dann schreibst du nach dem Strichpunkt die Bedingung und nach dem 2ten Strich punkt, was mit der Variable geschehen soll z.B. um 1 erhöhen ( sprich i++)

Code: PHP
for(int i = 0; i < 5; i++)
{ 
//Code innerhalb der Schleife
}

die Schleife wird einmal fix durchlaufen, dann wir genau wie bei der while die schleife nur noch durchlaufen, wenn die Bedinung in der Klammer erfüllt ist

Code: PHP
do 
{ 
//Code innerhalb der Schleife
}while ( myBoolean == true)

hth

Hier noch 2 Links

http://www.guidetocsharp.de/guide/guide6.html
http://www.google.at/search?hl=de&a...Suche&meta=

.dcp

notamodbuthot
Avatar
Registered: Jul 2002
Location: new
Posts: 8881
eigentlich reicht das msdn für sowas vollkommen. am besten installierst dus dir lokal, dann nervts auch nich immer so mitm nachladen.

wenn du weitere fragen hast, kannste mich gerne im icq adden.

stevke

in the bin
Avatar
Registered: Sep 2001
Location: Wien
Posts: 3964
Wenn du VS2005 hast kannst du auch einfach mal folgendes probieren:

"for" eingeben, 2x Tab drücken, dann hast die For-Schleife und du siehst wie die einzelnen Parameter zusammenhängen. ;)

eeK!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2977
Hab SharpeDevelop - schon mal fettes danke @ all :)
hat ma scho um einges weitergeholfen!

Hansmaulwurf

u wot m8?
Avatar
Registered: Apr 2005
Location: VBG
Posts: 5639
Mag jetzt nicht I-Tüpfel reiten, aber in der Informatik ist das ja Gang und gebe.
So ist das doch nicht ausführbar, weil ein Semikolon am Ende fehlt. oder?

mik

einfach anders!
Avatar
Registered: Aug 2005
Location: Weltmetropole AM
Posts: 682
Ich hoff mal es is in C# genauso wie in C, sonst bitte mich ausbessern.

Wollt noch sagen das du mit einer for-schleife natürlich problemlos eine while schleife ersetzen kannst!

zum Beispiel

Code: PHP
while(var == 1) 
{
// Code
}

in


Code: PHP
for(;var == 1;)
{
//Code
}

ausserdem kannst du mehrere parameter bei der for schleife angeben, mit beistrich getrennt!

z.B.

Code: PHP
for(i=0,j=0;var == 1;k=i+j,i++)
{
//Code
}

usw usw..

EDIT: achja! wenn wir grade bei schleifen sind, sind die Befehle "break;" und "continue;" interessant!

mit break kannst du sofort aus einer schleife raus, also diese sofort abbrechen, das heißt er macht sofort NACH der schleife weiter :)

mit continue kannst du ihm sagen er soll genau an der stelle wo du es ausführst wieder zurück nach oben gehen und die bedingung erneut prüfen, das darunterstehende, was er sonst ausführen würde wird dann nicht ausgeführt

Beispiel:

Code: PHP
for(i=0;i <100;i++)
{
//Code
break;
//Code der nicht ausgeführt wird
}
//Hier gehts weiter

continue fällt mir grad kein gutes beispiel ein :)
Bearbeitet von mik am 04.12.2007, 20:36

Hansmaulwurf

u wot m8?
Avatar
Registered: Apr 2005
Location: VBG
Posts: 5639
Nur mit Break und Continue aufpassen, da du sich nicht einem Funktionsnamen zuweißt und es so zu verwechslungen kommen kann..

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2689
Zitat von Hansmaulwurf
Nur mit Break und Continue aufpassen, da du sich nicht einem Funktionsnamen zuweißt und es so zu verwechslungen kommen kann..

das wird generell schwer gehn :p

eeK!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2977
wow... hab grad ein geiles programm programmiert ghabt das einfach nur von 1-unendlich gezählt hat... :D

ich check jetzt zwar um was geht und so.. aber wie ich den syntax zam bringe ist mir nach wie vor ein rätsel :(
Bearbeitet von eeK! am 04.12.2007, 21:12

.dcp

notamodbuthot
Avatar
Registered: Jul 2002
Location: new
Posts: 8881
Zitat von eeK!
wow... hab grad ein geiles programm programmiert ghabt das einfach nur von 1-unendlich gezählt hat... :D

HAT? wo hast du den quantencomputer her? :eek:

Zitat von eeK!
ich check jetzt zwar um was geht und so.. aber wie ich den syntax zam bringe ist mir nach wie vor ein rätsel :(

wie meinst du das? was genau verstehst du nicht?
btw: die syntax

mik

einfach anders!
Avatar
Registered: Aug 2005
Location: Weltmetropole AM
Posts: 682
for( <initialisierung bevor die schleife ausgeführt wird> ; <bedingung die true ergeben muss damit die schleife weiterläuft, bei false wird die schleife beendet> ; <befehle die bei jedem durchlauf ausgeführt werden> )

while( <bedingung die true ergeben muss damit die schleife weiterläuft, bei false wird die schleife beendet> )
Bearbeitet von mik am 04.12.2007, 21:33

eeK!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2977
Das habe ich jetzt irgendwie geschrieben mit Hilfe von einem Schulbeispiel...
aber es funzt eh net..
Zitat
int i;
int x;
for(i=3;i<7;i++)
{
}
do
{
Console.WriteLine("x=");
x=Convert.ToInte32(Console.Readline());
}
while(x>5);

Reason: 'System.Console' enthält keine Definition für 'Readline'(CSO117)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz