Einzelnen Beitrag anzeigen

recht_250

Registriert seit: 29. Apr 2008
10 Beiträge
 
#7

Re: Pascalprogramm

  Alt 4. Mai 2008, 12:30
Hallo.

Irgendwie verstehe ich nicht was Hoiko da meint mit Eingabewert und so.
Vielleicht kann mir von euch noch jemand genauer weiter helfen.

Ich weiß auch nicht warum da alles doppelt steht. Wir haben das so vom Lehrer bekommen.

Hier nochmal:

Delphi-Quellcode:
program Kreuz_Produkt;
const n=3;
{Anzahl der Dimension. Man kann offentsichtlich eine beliebige natrliche
Zahl in n einsetzen. Nur die Procedure Kreuz gilt fr n=3. Fr n>3 gibts
kein Kreuz mehr!}

type Vektor=array [1..n] of real; {vektor mit n reelen Komponenten}

procedure Kreuz(a,b: Vektor; var kr: Vektor);
{die Procedure berechnet das Kreuz von 2 Vektoren a und b, welche
als KONSTANTE PARAMETER schon vorgegeben sind. Das Kreuz wird in den
VERŽNDERLICHEN PARAMETER, also Vektor kr gespeichert. Warum ist kr ein
ver„nderlicher Parameter? Denn, wenn wir sonst kr als einen Konstanten
Parameter betiteln wrden, k”nnte der Wert von kr aber nach der Ausfhrung
der Procedure nicht ver„ndert werden. Zum Probieren k”nnt ihr ja das Wort
"Var" vor kr weglassen und den Wert von kr betrachten. Der bleibt aber
unver„ndert.
}

   begin
      kr[1]:=a[2]*b[3]-a[3]*b[2];
      kr[2]:=a[3]*b[1]-a[1]*b[3];
      kr[3]:=a[1]*b[2]-a[2]*b[1];
   end;

procedure Addier(a,b:Vektor;var s:vektor);
   var i:integer;
   begin
      for i:=1 to n do s[i]:=a[i]+b[i];
   end;
procedure Subtrahier(a,b:Vektor;var s:vektor);
   var i:integer;
   begin
      for i:=1 to n do s[i]:=a[i]-b[i];
   end;
procedure Skalar(a,b:Vektor;var sk:real);
   var i:integer;
   begin
      sk:=0;
      for i:=1 to n do sk:=sk+a[i]*b[i];
   end;

procedure Ausgabe(a:Vektor);
   {stellt a in den Bildschirm dar nach der Form (a1,a2,a3)}
   begin
      write (' (',a[1]:0:3,',',a[2]:0:3,',',a[3]:0:3 ,') ');
   end;

procedure Eingabe(var a:vektor);
   {einen Vektor von der Tastatur eingeben}
   var i:integer;
   begin
      writeln;
      for i:=1 to n do
         begin
            write('Die ',i,'-te Komponente:');readln(a[i]);
         end;
   end;
VAR
   a,b,c:Vektor;t:real;

BEGIN
   a[1]:=1;a[2]:=0;a[3]:=0;
   write('a= ');Ausgabe(a);writeln;
   b[1]:=0;b[2]:=1;b[3]:=0;
   write('b= ');Ausgabe(b);writeln;
   Kreuz(a,b,c);write('a * b = ');Ausgabe(c);writeln;
   Skalar(a,b,t);writeln('a . b = ',t:0:3);
   write('Vektor a wiederum eingeben!');Eingabe(a);
   write('Vektor b wiederum eingeben!');Eingabe(b);
   Kreuz(a,b,c);write('a * b = ');Ausgabe(c);writeln;
   Skalar(a,b,t);write('a . b = ',t:0:3);
   readln;
END.


Es wäre schön wenn ihr mit weiter helfen könnt.
Ich muss das heute Abend meinem Lehrer auf Zensoerung schicken.

Danke an alle.
  Mit Zitat antworten Zitat