Also dem mathematischem Verständnis halber würde ich eine Mischung zwischem ersten Post und einem repeat bevorzugen, nur dass es halt nicht
s:=s+(i*20);
sondern
Delphi-Quellcode:
s:=2*s+(i*20);
//bzw. anschaulicher
s:=s+(s+(i*20));
sein muss.
Das hat aus methodischer Sicht Vorteile, weil eine repeat-Schleife dem realen Problem am besten entspricht, denn was ist, wenn das Stadion nur eine Reihe hat? Dann hat es 0 Reihen, weil garnicht gezählt wird. Sprich mit einer repeat Schleife kann man das reale Problem einfacher (kein if nötig) mathematisch modellieren.
Delphi-Quellcode:
s:=990;
i:=0;
repeat
i:=i+1;
s:=s+(i*20);
until s>=79041
Die Lösung von DeddyH ist dazu - von der besseren Anpassung an ähnliche Problemstellungen - nahezu äquivalent(Bis auf das mit den 0 Reihen)
Das Modell mit einer while Schleife anzugehen ist methodisch also eher die zweite Wahl, aber wie das beim Programmieren immer so ist, jedem nach seiner Fasson
Also hast du 2 Fehler gemacht, einmal die Plätze (s) falsch abgezählt und dann, dass es 0 Reihen gibt, obwohl es doch eigentlich mind. eine geben muss wenn mind. 1 Sitz ex.
Ersteres ist natürlich gravierend und würde Punktabzüge geben oder heißen Aufgabe nicht erfüllt (je nach Fach und AB) und zweiteres ist Ansichtssache. Je nachdem wie sehr dein Lehrer auf eine ordentliche Modellierung der Realität wert legt. Umgehen kann man das natürlich, indem sich rechtfertigt, dass ein Stadion mit nur einer Reihe eher seltener als Stadion bezeichnet wird.
Also entweder richtig proggen oder labern, beides zeigt, dass man sich dann mit den Problem mit seinen Ecken und Kanten auseinander gesetzt hat.
Davon abgesehen würde ich dir empfehlen (auch wenn Delphi/Pascal nicht casesensitive ist) Variablen immer gleich zu schreiben. Das hat Vorteile, wenn man sich mal mit anderen Sprachen beschäftigen will, die auf Groß- und Kleinschreibung achten.
Kommt ein Nullvektor zum Psychiater: "Herr Doktor, Herr Doktor ich bin so orientierunglos."
Mitglied der anonymen Algebraabhängigen