faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:start [13.01.2022 09:48] sbelfaecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:start [13.01.2022 12:40] (aktuell) sbel
Zeile 33: Zeile 33:
 {{ :faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:stack01.drawio.png |}} {{ :faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:stack01.drawio.png |}}
  
-Dabei fällt auf, dass der Programmablauf nach jedem Aufruf eines Unterprogramms zu der Stelle zurückkehren muss, von der dieses aufgerufen wurde. Das wird dadurch realisiert, dass beim Aufruf einer Methode/Funktion auf dem Programmaufrufstack für jede Methode ein Speicherbereich reserviert wird, in dem alle relevanten Infos festgehalten werden, unter anderem auch die Rücksprungadresse, also die Stelle, von der aus die Methode gestartet wurde.+Dabei fällt auf, dass der Programmablauf nach jedem Aufruf eines Unterprogramms zu der Stelle zurückkehren muss, von der dieses aufgerufen wurde. Das wird dadurch realisiert, dass beim Aufruf einer Methode/Funktion auf dem **Programmaufrufstack** für jede Methode ein Speicherbereich reserviert wird, in dem alle relevanten Infos festgehalten werden, unter anderem auch die Rücksprungadresse, also die Stelle, von der aus die Methode gestartet wurde.
  
 ^ Was passiert                                                                                                                ^ Wie sieht der Stack aus?  ^ ^ Was passiert                                                                                                                ^ Wie sieht der Stack aus?  ^
-| Der Konstruktor wird mit dem Argument ''name'' aufgerufen. Auf dem Stack wird Speicher für den Konstruktoraufruf reserviert. Es gibt keine Rücksprungadresse |          {{ :faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:stack001.drawio.png |}}                 | +|\\ || 
-| Aus dem Konstruktor heraus wird die Methode ''GruessGott'' mit dem Argument ''name'' aufgerufen. Die Stelle für die Rückkehr nach Bearbeitung von ''GruessGott'' wird vermerkt.| {{ :faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:stack002.drawio.png |}}                 |+| Der Konstruktor wird mit dem Argument ''name'' aufgerufen.\\ Auf dem Stack wird Speicher für den \\ Konstruktoraufruf reserviert. Es gibt keine Rücksprungadresse |          {{ .:stack001.drawio.png |}}                 
 +|\\ |
 +| Aus dem Konstruktor heraus wird die Methode ''GruessGott'' mit dem\\ Argument ''name'' aufgerufen.\\ Die Stelle für die Rückkehr nach Bearbeitung von ''GruessGott'' wird vermerkt.| {{ .:stack002.drawio.png |}}                 | 
 +|\\ || 
 +| Die Bearbeitung von ''GruessGott'' ist beendet.\\ Der zugehörige Speicherbereich im Call-Stack wird freigegeben.\\ Im Konstruktor wird die Verabschiedung angekündigt.  | {{ .:stack001.drawio.png |}}                 | 
 +|\\ || 
 +| Aus dem Konstruktor heraus wird die Methode ''AufWiedersehen'' aufgerufen.\\ Keine Argumente, Rücksprungadresse wird vermerkt. | {{ .:stack003.drawio.png |}}                 | 
 +|\\ || 
 +| Der erste Aufruf von ''AufWiedersehen'' ist beendet.\\ Der Programmablauf kehrt zum Konstruktor zurück. | {{ .:stack001.drawio.png |}}                 | 
 +|\\ || 
 +| Aus dem Konstruktor heraus wird die Methode ''AufWiedersehen'' erneut aufgerufen.\\ Keine Argumente, Die **neue** Rücksprungadresse wird vermerkt. | {{ .:stack004.drawio.png |}}                 | 
 +|\\ || 
 +| Der zweite Aufruf von ''AufWiedersehen'' ist beendet.\\ Der Programmablauf kehrt zum Konstruktor zurück. | {{ .:stack001.drawio.png |}}                 | 
 +|\\ || 
 +|Der Konstruktoraufruf ist beendet.\\ Der Call-Stack ist leer. | {{ .:stack000.drawio.png |}}                 | 
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A1)  ===  
 + 
 +Welche Informationen kannst du den folgenden Darstellungen des Programmaufrufstacks entnehmen? Welche Informationen kannst du den Darstellungen des Stacks nicht entnehmen? 
 + 
 +{{ :faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:stack02.drawio.png |}} 
 + 
 +----  
 + 
 +{{ :faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:stack03.drawio.png |}}
  • faecher/informatik/oberstufe/algorithmen/rekursion/programmaufrufstack/start.1642063692.txt.gz
  • Zuletzt geändert: 13.01.2022 09:48
  • von sbel