Hallo
Wir programmieren seit Schulbeginn mit Borland Delphi 6. Ich komm eigentlich ganz gut damit klar, habe aber eine Frage bezüglich der Variablenübergabe. Ich schreibe das Beispielprogramm rein und hab dann spezifische Fragen:
Delphi-Quellcode:
program V_ADD2; // Vektoraddition mit Unterprogramme
{$APPTYPE CONSOLE}
uses
SysUtils;
type vektor=array[1..3] of integer;
//benutzerdef. Variablentyp
var a, b, c : vektor;
procedure eingabe (ch:char;var v:vektor);
var i:integer;
begin
writeln('Vektoreingabe ',ch,'.Vektor:');
writeln;
for i:=1 to 3 do
begin
write(i,'-te Koordinate = ');
readln(v[i]);
end;
end;
procedure vektoraddition (v1,v2:vektor; var v3:vektor);
var i : integer;
begin
for i:=1 to 3 do v3[i]:=v1[i]+v2[i];
end;
procedure ausgabe (v:vektor);
var i:integer;
begin
writeln('Der Summenvektor lautet:');
writeln;
for i:=1 to 3 do writeln(i,'-te Koordinate = ',v[i]);
end;
begin
writeln('VEKTORADDITION');
writeln('==============');
writeln;
eingabe('1',a);
eingabe('2',b);
vektoraddition(a,b,c);
ausgabe(c);
writeln;
writeln('RETURN zum Beenden!');
readln;
end.
1. procedure eingabe: Also die Variable ch bekommt vom Unterprogramm den Wert 1 zugewiesen. Aber: Warum rechnet man in "eingabe" nicht gleich mit der Variable "a", wieso verwendet man "v"? Ich habe gelesen, dass im Unterprogramm die Variablen, die übergeben werden, neu bezeichnet werden sollen, aber warum? Was passiert da? (in einfachen Worten, wenn's geht)
Wieso kann das Unterprogramm überhaupt mit v rechnen? v ist doch nirgends deklariert?
2. procedure vektoraddition: Was passiert da mit den Variablen? Wie werden die hin- und hergeschaufelt? Ich habe schon gegoogelt, aber das wesentliche nie verstanden, wenns um Variablenübergabe ging...
3.procedure ausgabe: "... Koordinate = ',v[ i ]]; ..." - Wie kann hier mit v gerechnet werden, wo v doch gar nicht deklariert wird?
Ich bin für euren Rat schon im Voraus dankbar,
Amandus
[edit=Admin]Delphi-Code bitte in die Tags [ delphi] und [ /delphi] stecken. Danke. Mfg, Daniel[/edit]
[edit=Admin] Mfg, Daniel[/edit]