MezData-Logo Lösungen Button :PI-BASIS: Funktionen Spezial Lösungen

Aufgabe 1 Lösung

Die einzelnen Funktionen werden in ButtonClick aufgerufen. Welchen Wert haben die globalen Variablen jeweils nach der Abarbeitung der Funktionsaufrufe, was wird Ausgegeben?

int a=10,b=5,c;

void f1(){
  a=a+3;
}

int f2(){
  return a+b;
}

int f3(int d){
  return b*d;
}

void f4(int d){
  c=d;
}

int f5(int a){
  a= a+b;
  return a;
}

void ButtonClick(){ // Anfang
  f1();
  Ausgabe(f2());
  f4(f2());
  Ausgabe(c);
  Ausgabe(f3(13));
  b = f5(c);
  Ausgabe(f5(c));
}                   // Ende
Anweisung Kommentare Berechnungen a b c
  Anfang   10 5 ?
f1(); Globales a verändern f1(): a=10+3=13; 13 5 ?
Ausgabe(f2()); Ausgabe(18) f2()=a+b=13+5=18; 13 5 ?
f4(f2()); Globales c verändern f2()=a+b=13+5=18; f4(18): c=18; 13 5 18
Ausgabe(c); Ausgabe(18)   13 5 18
Ausgabe(f3(13)); Ausgabe(65) f3(13)=b*13=5*13=65 13 5 18
b = f5(c); Globales b verändern,
a in f5 verdeckt globales a
a=18+b=18+5=23; b=23; 13 23 18
Ausgabe(f5(c)); a in f5 verdeckt globales a,
Ausgabe(41)
a=18+b=18+23=41; 13 23 18
  Ende        

Zu Aufgabe 2