HILFE... Struktorgramm

SvD

bekommt Übersicht
Hallo,
könnte mir jemand erklären wie ich ein Struktorgramm herstelle und was die Einzelheiten sind z.B. wie erkenne ich das ich eine Schleife machen muss, ob es mit for (oder while...) ist. Wir haben es im Unterricht behandelt doch ich verstehe es nicht so ganz.
MfG SvD
 

Hidden Evil

Moderator
Teammitglied
Es hängt ganz vom Anwendungsgebiet ab. Eine Schleife führt den Inhalt so oft durch, wie lange die Bedingung wahr ist, also z.B. ob der Schleifenzähler kleiner als eine Variable/Konstante ist.

Ob es eine do/for/while ist hängt davon ab, ob Du die Schleifen-Bedingung für den ersten Durchgang überprüfen willst oder nicht.

for und while sind vorprüfende Schleifen, es wird also vor dem ersten Durchgang abgefragt, ob die Bedingung wahr ist. do ist nachprüfend, die macht auf jeden Fall den ersten Durchgang, egal was die Schleifenbedingung sagt.
 

SvD

bekommt Übersicht
ok.. mein problem ist, ich verstehe die Fragen vdie gestellt wir, aber ich weiß nicht welche Form ich verwenden soll. Gibt es einzelheiten voran ich erkennen kann wie man eine z.B for Schleife macht.
bedanke mich für deine Hilfe
 

Hidden Evil

Moderator
Teammitglied
Natürlich gibt es Anzeichen. Wenn Du ein Beispiel hast, kann man das ja mal zusammen durchgehen. Aber sei gewarnt: Wir sind kein Hausaufgaben-Forum ;)

Der Unterschied zwischen einer for-Schleife und einer while-Schleife ist einzig der, dass Du schon im Kopf der for-Schleife den Zähler definieren kannst.
 

SvD

bekommt Übersicht
Ich weiß was für ein Forum das ist. Ich habe nicht vor meine Hausaufgaben hier zu erledigen, weil dann hätte ich meine HA nicht selbst gemacht und ich würde sie auch nicht verstehe.
Ich verstehe es nur nicht. Das ist mein Problem( ich verstehe die Logig nicht).
 

QuHno

Außer Betrieb
Das ist mein Problem( ich verstehe die Logig nicht).
Das Problem ist, dass Du auch nicht genau beschreibst was das Problem ist und von daher hier auch keine wirklichen Antworten kommen können.

Ich habe bis jetzt z.B. nicht verstanden, ob Du Probleme mit Struktogrammen an und für sich hast, Probleme mit der Erstellung von Struktogrammen oder Probleme mit der Umsetzung eines Struktogramms in ein reales Projekt in irgendeiner Sprache.

Sollte es allerdings ein Umsetzungs-Problem sein und Du nicht wissen, wie for-next und do-while Schleifen in der Programmiersprache funktionieren, die ihr verwendet, dann wird es wirklich hart.

edit: Schau mal hier hinein, falls es sich um eine C ähnliche Sprache wie C (++, #, ;)), Java, JavaScript, Visual Basic etc. handelt und geh die Seitenleiste von Anfang an durch. Dauert nicht all zu lange und ist verständlich beschrieben.
 
Zuletzt bearbeitet:

SvD

bekommt Übersicht
Also z.B. haben wir in der schule diese Aufgabe gemacht "Lassen Sie den Computer die Summe der folgenden Glieder berechnen bis zu einen Grenzwert g. Geben Sie die Anzahl der benötigten Glieder aus.", das problem ist jetzt ich weiß nicht wie ich es fortsetzen soll, nach dem ich Ausgabe und Eingabe gemacht habe. Ich weiß nicht was für eine System ich benutzen soll. Ob es eine for oder while ist, das fält mir schwer.
 

QuHno

Außer Betrieb
Geht mit beiden, das ist das Problem ;)

Pseudocode, da ich nicht weiß, welche Sprache Du verwendest:

Code:
var theArray = [wert1, wert2, wert3];
var grenzWert = 123;
temp = 0;
for (i = 0, j = theArray.length; i<j; i++){
  temp += theArray[i];
  if (temp > grenzWert){
    alert(i-1);
    break;
  }
}

oder:

Code:
var theArray = [wert1, wert2, wert3];
var grenzWert = 123;
temp = 0;
arrayCounter = -1;
while(grenzWert >= temp){
  arrayCounter++;
  temp += theArray[arrayCounter];
}
alert(arrayCounter-1);

und man kann es noch optimieren, das war nur mal schnell hingesaut.
 

SvD

bekommt Übersicht
In der Schule machen wir mit Pascal. Könnten sie mir erklären wie sie das machen woher sie wissen welches System man benutzt. Mein Lehrer mein man muss logisch denken können und die es nicht können, können nicht logisch denken.:)
 

Jochen 11

assimiliert
Also als erstes solltest du die Aufgabe verstehen, in eigene Worten formulieren und dann solltest du dir klar darüber werden was also dein Programm genau machen soll.
Dann kannst du dir aufschreiben was dein Programm tun soll. z.B.
"Lassen Sie den Computer die Summe der folgenden Glieder berechnen bis zu einen Grenzwert g. "
Wert1 mit Wert2 addieren, dann die Summe der beiden mit Wert3 addieren, diesen Wert mit Wert4 addieren usw. solange bis der Grenzwert erreicht ist.
Wenn du einmal soweit bist sollte es nicht mehr schwer sein daraus ein Struktogramm zu "formulieren".

Viele Grüße an deinen Lehrer, er ist eine pädagogische Niete, wenn seine einzige Antwort "du musst halt logisch denken" ist. ;)
 

Da muss ich mal einschreiten ;)

Ich kann das StruktEd echt nicht empfehlen. Hatte damit öfters mal Abstürze und blöde Fehlermeldungen.

Als alternative empfehle ich STRUCTORIZER. Tut, was es soll, gute Bedienung, alles super.
Vor der ersten Benutzung muss man lediglich unter Einstellungen > Strukturen die Beschriftungen der Kontrollstrukturen manuell anpassen, da die Spracheinstellung sich dummerweise nur auf die Bedienoberfläche, nicht aber die Beschriftung der Struktogramme bezieht. (Standardmäßig ist es französisch, glaube ich).
Es besteht sogar die Möglichkeit, aus dem Struktogramm direkt den Quellcode in verschiedenen Sprachen (darunter auch Pascal) zu erzeugen - selbst schreiben bringt aber natürlich den größeren Lerneffekt!
 

SvD

bekommt Übersicht
Da muss ich mal einschreiten ;)

Ich kann das StruktEd echt nicht empfehlen. Hatte damit öfters mal Abstürze und blöde Fehlermeldungen.

Als alternative empfehle ich STRUCTORIZER. Tut, was es soll, gute Bedienung, alles super.
Vor der ersten Benutzung muss man lediglich unter Einstellungen > Strukturen die Beschriftungen der Kontrollstrukturen manuell anpassen, da die Spracheinstellung sich dummerweise nur auf die Bedienoberfläche, nicht aber die Beschriftung der Struktogramme bezieht. (Standardmäßig ist es französisch, glaube ich).
Es besteht sogar die Möglichkeit, aus dem Struktogramm direkt den Quellcode in verschiedenen Sprachen (darunter auch Pascal) zu erzeugen - selbst schreiben bringt aber natürlich den größeren Lerneffekt!

Danke für deine empfehlungen das werde ich mir auch anschauen..Danke;)
 
Oben