"We are back" « oc.at

[HELP] C# Schleifen

eeK! 04.12.2007 - 19:46 5151 38
Posts

mik

einfach anders!
Avatar
Registered: Aug 2005
Location: Weltmetropole AM
Posts: 682
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 :)
Bearbeitet von mik am 04.12.2007, 21:39

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
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!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2983
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

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
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

einfach anders!
Avatar
Registered: Aug 2005
Location: Weltmetropole AM
Posts: 682
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

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
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__

bierernste Islandkritik
Avatar
Registered: Nov 2003
Location: gradec
Posts: 2990
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

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
Zitat von __Luki__
Break und Konsorten sind ohnehin ein Graus.

Manchmal ist der Code übersichtlicher damit.

__Luki__

bierernste Islandkritik
Avatar
Registered: Nov 2003
Location: gradec
Posts: 2990
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!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2983
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..
Bearbeitet von eeK! am 04.12.2007, 22:44

Blair

Big d00d
Avatar
Registered: Dec 2004
Location: Graz
Posts: 177
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

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
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!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2983
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

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
also weißt jetzt wie es richtig geht oder willst es wissen? :)

eeK!

ieS Virtual Gaming
Avatar
Registered: Nov 2004
Location: 47° 57′ 32″..
Posts: 2983
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
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz