Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m323:learningunits:lu01:tracetable [2024/08/06 16:46] – [Detaillierte Analyse des Beispiels] kmaurizimodul:m323:learningunits:lu01:tracetable [2026/09/01 11:17] (aktuell) – Animation eines zeilenweise entstehenden Trace Tables eingebettet admin
Zeile 16: Zeile 16:
   * **Bedingungen**: Wenn das Programm Kontrollstrukturen wie ''if''-Anweisungen oder Schleifen enthält, werden hier die Bedingungen und ihre Auswertungen dokumentiert.   * **Bedingungen**: Wenn das Programm Kontrollstrukturen wie ''if''-Anweisungen oder Schleifen enthält, werden hier die Bedingungen und ihre Auswertungen dokumentiert.
   * **Kommentare**: Zusätzliche Kommentare oder Erklärungen, die den Ablauf oder besondere Ereignisse im Code verdeutlichen, können hier vermerkt werden.   * **Kommentare**: Zusätzliche Kommentare oder Erklärungen, die den Ablauf oder besondere Ereignisse im Code verdeutlichen, können hier vermerkt werden.
 +
 +===== Animation: eine Trace Table entsteht =====
 +
 +In der Animation füllt sich die Tabelle Durchgang für Durchgang, während der Code daneben mitläuft – so, wie Sie sie von Hand schreiben würden. Der erste Tab zeigt eine lineare Suche und macht sichtbar, dass die Schleife nach dem Treffer abbricht und die letzte Zeile gar nie entsteht. Der zweite Tab verfolgt die Collatz-Folge, die zwischendurch grösser wird, bevor sie fällt.
 +
 +{{url>https://templates-python.github.io/m323_html/lu01/tracetable.html 100%,860px noborder|Animation: Trace Table Zeile für Zeile}}
  
 ===== Beispiel eines Trace Tables ===== ===== Beispiel eines Trace Tables =====
Zeile 40: Zeile 46:
 | 7 | 3 | - | - | - | - | [1, 2, 3, 4] | | 7 | 3 | - | - | - | - | [1, 2, 3, 4] |
  
-===== Detaillierte Analyse des Beispiels =====+==== Detaillierte Analyse des Beispiels ====
  
   * **Schritt 1-3**: Während der ersten Schleifeniteration wird das größte Element (4) nach rechts verschoben. Jeder Vergleich, bei dem ein größeres Element links von einem kleineren liegt, führt zu einem Tausch. Der Trace Table zeigt genau, wie sich die Liste in jedem Schritt ändert.   * **Schritt 1-3**: Während der ersten Schleifeniteration wird das größte Element (4) nach rechts verschoben. Jeder Vergleich, bei dem ein größeres Element links von einem kleineren liegt, führt zu einem Tausch. Der Trace Table zeigt genau, wie sich die Liste in jedem Schritt ändert.
Zeile 79: Zeile 85:
 | 9 | 2 | - | - | - | - | [1, 2, 3, 4] | Ja (n=1) | | 9 | 2 | - | - | - | - | [1, 2, 3, 4] | Ja (n=1) |
  
-===== Detaillierte Analyse des Rekursiven Beispiels =====+==== Detaillierte Analyse des Rekursiven Beispiels ====
  
   * **Schritt 1-3**: In der ersten Iteration werden die größten Werte nach rechts verschoben, analog zum nicht-rekursiven Beispiel. Nach diesen Schritten bleibt der größte Wert (4) am Ende des Arrays.   * **Schritt 1-3**: In der ersten Iteration werden die größten Werte nach rechts verschoben, analog zum nicht-rekursiven Beispiel. Nach diesen Schritten bleibt der größte Wert (4) am Ende des Arrays.
Zeile 108: Zeile 114:
  
 ---- ----
-{{tag>M323-LU01}}+{{tag>M323-LU01 M323-C1B}}
 [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi  [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi 
 +
  • modul/m323/learningunits/lu01/tracetable.1722955591.txt.gz
  • Zuletzt geändert: 2024/08/06 16:46
  • von kmaurizi