Programm Arrays

Neue Frage »

Auf diesen Beitrag antworten »
ComputercrackNICHT Programm Arrays

Hallo, zuerst mal sei gesagt,
ich habe wenig bis KEINE Ahnung von der Thematik muss das aber zumindest gut genug hinbekommen un eine Klausur zu bestehen.

Ich habe hier folgende Aufgabe inklusive der Lösung:

Analysieren sie dieses Programm

{
float a=1, b=2, c=3, x=0, y=16;
x= calc (a, b, c );
y= calc (c, b, a );

message ("x="+x);
message ("y="+y);
}

float calc (float a, float b, float c)
{ float x;
int feld [ ] = (8,1,8, 4, 4,6);
if (feld [a] == feld [b])
x=c ;
else
x= 2*c;
return x;
}

Geben sie den Inhalt der Variablen x und y nach Ausarbeitung des Prgrammes an, d.h. welche Zahlenwerte werden ausgegeben (message-befehl)?

x=6
y=2


wie gesagt, ich verstehe grundsätzlich nicht was da passiert ist ausser, dass es sich um "Arrays" handelt Zunge raus Zunge raus Zunge raus
 
Auf diesen Beitrag antworten »
eulerscheZahl RE: Programm Arrays

code:
1:
x= calc (a, b, c );

macht wegen Vorbelegung von a, b, c:
code:
1:
x = calc(1, 2, 3)

Das Programm springt also in calc:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
float calc (float a, float b, float c)
{ float x;
int feld [ ] = (8,1,8, 4, 4,6);
//bewirkt:
   feld[0] = 8;
   feld[1] = 1;
   feld[2] = 8;
   feld[3] = 4;
   feld[4] = 4;
   feld[5] = 6;
if (feld [a] == feld [b])
//if(feld[1] == feld[2])
//if(1 == 8) ist nicht erfüllt
x=c ;
else //Bedingung oben nicht erfüllt, daher wird der else-Pfad abgearbeitet
x= 2*c; //x = 2 * 3 = 6
return x; //gib 6 zurück
}
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »