Die Webseiten der Fachschaft Informatik am ERG Saalfeld
globale und lokale Variable, aktuelle und formale Parameter
- globale Variable
- wir bezeichnen damit eine Variable, die im Hauptprogramm definiert wird. Auf diese kann im gesamten Programm zugegriffen werden. In Subroutinen kann diese mit "global" geändert werden.
- lokale Variable
- lokale Variablen tauchen im Unterricht hauptsächlich in Subroutinen auf. Diese werden dort definiert und sind auch nur innerhalb der Subroutine aufrufbar. Eine gleichnamige globale Variable überdeckt die lokale.
- aktueller Parameter
- das ist ein Wert, der beim Aufruf der Prozedur/Funktion als Parameter übergeben wird.
- formaler Parameter
- das ist eine Variable, die mit einen aktuellen Parameter belegt wird.
Am Beispiel des Programms "Gausssumme" sollen die in der Überschrift angegebenen Begriffe deutlich gemacht werden.
Programm
def gausssumme(zahl): #1
summe = 0 #2
for summand in range(1,zahl+1):
summe = summe + summand
#nur zum Verdeutlichen des Zugriffs auf globale Variablen
#print(zahl1,zahl2)
return summe
### Hauptprogramm ###
zahl1 = 40 #3
zahl2 = 100 #4
summe = 0 #5
summe = gausssumme(10) #6
print("Gausssumme von 10: ",summe)
summe = gausssumme(zahl1) #7
print("Gausssumme von ",zahl1,": ",summe)
summe = gausssumme(zahl2) #8
print("Gausssumme von ",zahl2,": ",summe)
Der Aufruf des Programms sah bei mir so aus:

Aufgaben
- Bringen Sie das Programm zum Laufen.
- Geben Sie bei #1, #2, #3, #4 und #5 an, ob es sich um eine globale oder eine lokale Variable handelt.
- Geben Sie bei #1, #6, #7 und #8 an, ob es sich um einen aktuellen oder einen formalen Parameter handelt.
- Um deutlich zu machen, dass man auch in der Funktion auf globale Variablen zugreifen kann, entfernen Sie in der Zeile über "return" (also bei #print(zahl1,zahl2) ) das Kommentarzeichen. Testen Sie!
- Auf welche globale Variable könnte beim Aufruf von gausssumme nicht mehr zugegriffen werden? Begründen Sie!
zurück
© ERG Saalfeld - HD. Kirmse + Dustin Wiese 12.08.2022
|