Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Schleifen- beobachtung. Aufgabe: Schreiben Sie ein Programm (auf Papier), das die folgende Summe berechnet: 1+2+3+4+...+98+99+100.

Ähnliche Präsentationen


Präsentation zum Thema: "Schleifen- beobachtung. Aufgabe: Schreiben Sie ein Programm (auf Papier), das die folgende Summe berechnet: 1+2+3+4+...+98+99+100."—  Präsentation transkript:

1 Schleifen- beobachtung

2 Aufgabe: Schreiben Sie ein Programm (auf Papier), das die folgende Summe berechnet:

3 Programmier-Idee:

4 1 sum

5 umgesetzt in Java ergibt dies:

6 sum = 1; sum = sum+2; sum = sum+3; sum = sum+4;... Diese sich immer wiederholenden Anweisungen kann man kürzer darstellen durch eine... Schleife ! Wert von sum: 1 Wert von sum: Wert von sum: Wert von sum:

7 sum = sum+i; Bei jedem Schleifendurchgang muß i um 1 erhöht werden !

8 while(i<= ){ sum = sum+i; i = i+1; } sum = i = 0; 1; 100 Vorschlag für die Anfangswerte. Vorschlag für die Bedingung Woher weiß man, daß diese Werte ein korrektes Programm liefern ?? Man muß die Werte von i und sum beobachten !

9 Beobachtung von Programmen (Debuggen)

10 Jedesmal, wenn das Programm an die mit dem Pfeil --> bezeichnete Stelle kommt, wird der Prozessor gedanklich angehalten (analog: der Filmprojektor) und die aktuellen Werte der Variablen in die Tabelle eingetragen (analog: Das Bild, das gerade vom Filmprojektor gezeigt wird, also die aktuelle Momentaufnahme). Dann wird der Film wieder bis an die mit dem Pfeil --> bezeichnete Stelle weitergespult und es werden wieder die aktuellen Werte der Variablen in die Tabelle eingetragen.

11 In der Tabelle wird also die dynamische Entwicklung der Inhalte der Variablen festgehalten.

12 while(i<= ){ sum = sum+i; i = i+1; } sum = i = 0; 1; 100 sum i Welchen Wert hat i, wenn das Programm das letzte Mal an diese Stelle kommt ? Welchen Wert hat dann sum? Welchen Zusammenhang gibt es zwischen i und sum ? Die letzte Zahl in sum ist jeweils um 1 kleiner als der Wert von i ! Hier wird beobachtet

13 Alternative Möglichkeit, die Korrektheit eines Programms zu "beweisen":

14 Man testet die Schleife für wenigere Schleifendurchgänge

15 sum = 0; i = 1; while(i<=100){ sum = sum+i; i = i+1; } Man wählt also nicht 100, sondern kleinere Werte wie z.B. 3 oder 4.

16 sum = 0; i = 1; while(i<= ){ sum = sum+i; i = i+1; } Man wählt also nicht 100, sondern kleinere Werte wie z.B. 3 oder 4.

17 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } Man wählt also nicht 100, sondern kleinere Werte wie z.B. 3 oder 4. Jetzt betrachtet man für jede Anweisung, wie sich die Variablen verändern. Welche Anweisungen werden jetzt also konkret gemacht und welche Variablen werden auf welche Werte gesetzt? Wir beginnen mit der 1. Anweisung...

18 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum i 0 0

19 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i 1 1 0

20 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i wahr

21 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i

22 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i

23 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i wahr

24 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i

25 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i

26 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i wahr

27 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i

28 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i

29 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i falsch

30 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i

31 sum = 0; i = 1; while(i<=3 ){ sum = sum+i; i = i+1; } sum0 i Damit berechnet das Programm die Summe wenn man für die Bedingung i <= 3 schreibt. Damit kann man vermuten, dass dies analog für i <= 100 funktioniert. Um sicher zu gehen, sollte man noch ein paar weitere Tests machen, wie z.B. für i <= 4


Herunterladen ppt "Schleifen- beobachtung. Aufgabe: Schreiben Sie ein Programm (auf Papier), das die folgende Summe berechnet: 1+2+3+4+...+98+99+100."

Ähnliche Präsentationen


Google-Anzeigen