Buffl

1-20

MO
von Maximilian O.

Python Programm 1

Was ist der Rechenaufwand?

Der Rechenaufwand des Programms lautet: O(n)

Schritt-für-Schritt-Analyse mit n = 3:

  1. Initialzustand:

    • a = 0, b = 0

  2. Äußere Schleife:

    • Bedingung: a != na = 0 und n = 3, also ist die Bedingung wahr, die äußere Schleife wird ausgeführt.

  3. 1. Durchlauf der äußeren Schleife:

    • a = a + 1a wird auf 1 erhöht.

    • Die innere Schleife wird gestartet.

  4. Innere Schleife (1. Durchlauf):

    • Bedingung: a != na = 1 und n = 3, also ist die Bedingung wahr.

    • a = a + 1a wird auf 2 erhöht.

    • b = b + 1b wird auf 1 erhöht.

  5. Innere Schleife (2. Durchlauf):

    • Bedingung: a != na = 2 und n = 3, also ist die Bedingung wahr.

    • a = a + 1a wird auf 3 erhöht.

    • b = b + 1b wird auf 2 erhöht.

  6. Innere Schleife (3. Durchlauf):

    • Bedingung: a != na = 3 und n = 3, also ist die Bedingung falsch.

    • Die innere Schleife endet, da a == n.

  7. Äußere Schleife (2. Durchlauf):

    • Die äußere Schleife wird erneut überprüft. Jetzt ist a = 3, was gleich n ist, also endet die äußere Schleife sofort.

Ergebnis des Programms:

  • Die innere Schleife wurde 2 Mal ausgeführt, da sie von a = 1 bis a = 3 läuft.

  • Der Wert von b wurde nach jedem inneren Schleifen-Durchlauf um 1 erhöht.

  • Die äußere Schleife läuft nur einmal, da a nach der ersten Iteration den Wert von n erreicht (also a = 3).

Zusammengefasst:

  • Wert von a am Ende: a = 3 (nach der ersten Iteration der äußeren Schleife).

  • Wert von b am Ende: b = 2 (weil b 2 Mal in der inneren Schleife erhöht wurde).

Da die innere Schleife die Variable a beeinflusst (indem sie sie in jedem Durchlauf der inneren Schleife um 1 erhöht), führt dies dazu, dass die äußere Schleife schnell beendet wird, weil a beim ersten Durchlauf der inneren Schleife bereits den Wert von n erreicht.

Fazit:

Im ursprünglichen Programm führt die innere Schleife dazu, dass a so schnell auf n steigt, dass die äußere Schleife nur einmal ausgeführt wird. Der Wert von b wird jedoch in der inneren Schleife hochgezählt, bis a den Wert n erreicht, was dazu führt, dass b = 2 und die Schleifen nach nur wenigen Durchläufen enden.

Author

Maximilian O.

Informationen

Zuletzt geändert