[HELP] C# Schleifen - Seite 2

Seite 2 von 3 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/help_c_schleifen_188720/page_2 - zur Vollversion wechseln!


mik schrieb am 04.12.2007 um 21:37

int i;
int x;
for(i=3;i<7;i++)
{
}

hier kannst du die geschwungenen klammern weglassen, einfach "for(i=3;i<7;i++);" machen

bei der schleife ist nachher i=7

do
{
Console.WriteLine("x=");
x=Convert.ToInte32(Console.Readline());
}
while(x>5);

was du hier genau machst kann ich nicht sagen, das ich kein C# kann nur C, liest du da auf X was von der tastatur ein?? sieht "komisch" aus :)


that schrieb am 04.12.2007 um 21:52

Zitat von mik
hier kannst du die geschwungenen klammern weglassen, einfach "for(i=3;i<7;i++);" machen

bei der schleife ist nachher i=7

Daher kann man hier gleich die ganze Schleife durch "i=7" ersetzen. ;)


eeK! schrieb am 04.12.2007 um 21:53

Wenn ich das wüsste was ich da mache...
aber afaik war´s ein übungsbeispiel um zusehen was passiert wenn i nicht den besagten wert hat oder so..

imho müsste ich ReadLine definieren nur kA mit was.. :/


Burschi1620 schrieb am 04.12.2007 um 22:00

Am Besten wäre halt die Angabe :D

"Struktogramm zu zeichnen ist nicht so das Problem nur dieses dann in einen Syntax umwandeln.."
https://www.informatik.haw-hamburg....FlussStrukt.pdf

Da hab ich Übungen gefunden. Du kannst ja mal, wenn du magst, Beispiel 6 und 7 versuchen. Bei Problemen sind wir ja hier :)


mik schrieb am 04.12.2007 um 22:02

Zitat von that
Daher kann man hier gleich die ganze Schleife durch "i=7" ersetzen. ;)

das ist klar, es geht aber ums üben mit schleifen, da is sinnhaftigkeit einer schleife in frage stellen fehl am platze!


that schrieb am 04.12.2007 um 22:05

Zitat von eeK!
imho müsste ich ReadLine definieren nur kA mit was.. :/

Wenn du es nur verwenden willst, brauchst du es nur aufrufen - aber eben ReadLine und nicht Readline.


__Luki__ schrieb am 04.12.2007 um 22:14

Zitat von Hansmaulwurf
Nur mit Break und Continue aufpassen, da du sich nicht einem Funktionsnamen zuweißt und es so zu verwechslungen kommen kann..

Break und Konsorten sind ohnehin ein Graus.


that schrieb am 04.12.2007 um 22:24

Zitat von __Luki__
Break und Konsorten sind ohnehin ein Graus.

Manchmal ist der Code übersichtlicher damit.


__Luki__ schrieb am 04.12.2007 um 22:29

Zitat von that
Manchmal ist der Code übersichtlicher damit.

Ja, aber wenn ich nochmal in der Anfaengersituation waere (wie der Threadstarter) wuerde ich es lieber ohne lernen.


eeK! schrieb am 04.12.2007 um 22:31

So war ne Runde SC spielen und jetzt geht´s weiter.. werd mal das 6er versuchen! :)

Zitat
int x;
y = 50;
while ( x> 60)
{
x=>60;
}
Console.WriteLine();
Console.WriteLine

und was meint ihr dazu?
Noch nicht fertig..


Blair schrieb am 04.12.2007 um 23:58

Zitat von eeK!
So war ne Runde SC spielen und jetzt geht´s weiter.. werd mal das 6er versuchen! :)

Code:
int x;
y = 50;
while ( x> 60)
{
x=>60;
}
Console.WriteLine();
Console.WriteLine




und was meint ihr dazu?
Noch nicht fertig..

soll das bsp 6.) von https://www.informatik.haw-hamburg....FlussStrukt.pdf
sein?
von irgendwelchen outputs steht da nämlich nix.

im moment wird der compiler mit dir sicher keine freude haben ;)
ich glaub es wär sinnvoller, wenn du dir die grundlagen zu gemüte führst.

von anfang weg:
1.) bitte keine impliziten 0 zuweisungen ... will mir nicht vorstellen, daß C# sowas sogar erlaubt ;)
2.) while condition ist verkehrt
3.) umschließender do ... while block fehlt
4.) in while sinnfreie boolean expression detected :P


Burschi1620 schrieb am 05.12.2007 um 00:08

hmm Ich bin das Beispiel gerade durchgegangen.
Es ist, zwar durchaus in Syntax zu fassen, jedoch nicht ausführbar/verwendbar :D
Die Zahlenwerte sind falsch. Der wird es nie schaffen, dass y Null wird. Somit steckt er in einer Endlosschleife.

Macht aber nix, hier gehts auch nicht um den Sinn des Programmes sondern vom Struktorgramm in die Syntax:

Code:
  int y = 50;
  int x = 0;
  int z = 0;
  
  do 
  {
    while (x < 60)
    {
      if(x > y)
      {
        x = x +1;
      }
      else 
      {
        x = x+2;
      }
      y = y - 1;
      //C, Ausgabe - dient nur zum Anschauen der Werte      printf("x = %d, y= %d", x,y); 
    }
    z = z +1;
  }while(y > 0);
  //C, auch nur zum anschauen der Werte     printf("Ende erreicht y = %d, z = %d, x = %d", y,z,x);
 

Es ist halt einfach nur eine Abschreibeübung.
Wie man die Diagramme interpretiert hab ich dir oben verlinkt, und dann musst du nur noch den Inhalt der Kästchen abschreiben.


eeK! schrieb am 05.12.2007 um 19:19

Das Test Beispiel war wirklich fetzten einfach... wenn ma sich auskennt echt ein fetzten einfaches BSP..

Naja ich hab ganz 30% zambracht ;) sowie ungefähr 95% der Klasse...

Nächste Woche nach Test :bash:

Zitat
* Zeichne ein Struktogamm und
* schreibe ein Konsolenprogramm,

Für ein Programm wo in einer Schleife eine Zahl zwischen 1 und 100 eingelesen wird (1 und 100 liegen noch im Bereich).

Danach gib die Zahl aus.

Wenn die Zahl größer oder gleich 50 ist, gibt die Meldung "Über der Hälfte". Ansonsten gib die Meldung "Unter der Hälfte." aus.

Struktogramm hat gepasst..
Syntax war der Anfang eig. auch gar nicht mal so schlecht

Zitat
int x;

Console.ReadLine("x=");
x = Convert.ToInt32(ReadLine());

for = (i=1; i>=100; i++)
{

}

if
{
x=>50 || x=50;
Console.WriteLine("Über der Hälfte");

x=<50;
Console.WriteLine("Unter der Hälfte");
}
Wie gesagt der Anfang hat eh passt.. nur hab ich halt dann bei for alles versch****

Außerdem wäre dafür die DO-WHILE Schleife gscheiter gwesen oder soo


Nico schrieb am 05.12.2007 um 19:23

also weißt jetzt wie es richtig geht oder willst es wissen? :)


eeK! schrieb am 05.12.2007 um 19:27

Zitat von Nico
also weißt jetzt wie es richtig geht oder willst es wissen? :)
Wir haben´s in der Schule dann mim Lehrer richtig aufgeschrieben.. :D

Werde morgn oder so versuchen das Programm zu programmieren.. und euch dann mein Ergebnis präsentieren.. :D




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026