Summe in der Schleife: Warum bleibt nur der letzte Wert übrig?

AP2 vorbereiten · 6 Antworten

STARTBEITRAG

#1

Übungsablauf: Für jeden Preis setze ich summe = 0 und addiere dann den Preis. Das Ergebnis ist immer nur der letzte Preis. Ich möchte den Denkfehler kurz erklären können, ohne einfach zu sagen, dass die Null nach oben muss.

0

Antworten

6
Antwort auf das Thema
#2

Mit jedem Durchlauf verwirfst du das Zwischenergebnis des vorherigen. Initialisieren gehört vor die Schleife, Fortschreiben in die Schleife.

0
Antwort auf Antwort

Antwort auf #2 von tom_dev

Mit jedem Durchlauf verwirfst du das Zwischenergebnis des vorherigen. Initialisieren gehört vor die Schleife, Fortschreiben in die Schleife.
#3

Bei 4, 7, 2 wäre die gewünschte Folge 0, 4, 11, 13. Mit Zurücksetzen bekomme ich 0, 4, dann wieder 0, 7 und wieder 0, 2. Passt die Erklärung?

0
Antwort auf Antwort

Antwort auf #3 von lea_lernt

Bei 4, 7, 2 wäre die gewünschte Folge 0, 4, 11, 13. Mit Zurücksetzen bekomme ich 0, 4, dann wieder 0, 7 und wieder 0, 2. Passt die Erklärung?
#4

Ja. Genau diese Zwischenstände fehlten in meiner Erklärung. Man sieht jetzt, welche Information das Zurücksetzen vernichtet.

0
Ja. Genau diese Zwischenstände fehlten in meiner Erklärung. Man sieht jetzt, welche Information das Zurücksetzen vernichtet.
#5

Bei einer leeren Liste bleibt die Summe dann null. Wenn ich sie erst in der Schleife anlege, ist sie im Pseudocode möglicherweise gar nicht definiert.

0
Antwort auf das Thema
#6

Bei einem Maximum ist null als Anfangswert übrigens nicht automatisch passend. Eine Liste mit ausschließlich negativen Werten zeigt den Unterschied.

0
Antwort auf Antwort

Antwort auf #6 von SinaK

Bei einem Maximum ist null als Anfangswert übrigens nicht automatisch passend. Eine Liste mit ausschließlich negativen Werten zeigt den Unterschied.
#7

Richtig. Für Summe und Maximum gelten verschiedene Anfangswerte und Leerfallregeln. Nicht jedes Schleifenmuster blind übertragen.

0