Vektor je v Pascalu reprezentován jednorozměrným polem (ARRAY[1..n] of typ). K jednotlivým prvkům matice lze přistupovat pomocí indexu.
CONST Delka=5; {max 255, kvuli pouzivanemu typu byte}
TYPE tVektor=array[1..Delka]of real;
Algoritmy:
Načtení vektoru ze souboru
Součet vektorů
Rozdíl vektorů
Velikost vektoru
Určení opačného vektoru
Skalární násobek
Skalární součin
Vektorový součin
Odchylka vektorů
Zadání:
Procedure NactiVektor(JmenoSouboru:string;Vektor:tVektor);
{Procedura nacte vektor ze souboru.
Vektor je ulozen v souboru jako posloupnost cisel}
var F:text;
i:byte;
begin {NactiVektor}
assign(F,JmenoSouboru);
reset(f);
i:=1;
while (not eof(f))and(i < delka) do
begin
read(F,Vektor[i]);
i:=succ(i);
end;
close(f);
end; {NactiVektor}
Seznam algoritmů
Zadání:
Procedure SectiVektory(A,B:tVektor;var C:tVektor);
{Procedura secte dva vektory}
var i:byte;
begin {SectiVektory}
for i:=1 to Delka do
C[i]:=A[i]+B[i];
end; {SectiVektory}
Seznam algoritmů
Zadání:
Procedure OdectiVektory(A,B:tVektor;var C:tVektor);
{Procedura odecte dva vektory}
var i:byte;
begin {OdectiVektory}
for i:=1 to Delka do
C[i]:=A[i]-B[i];
end; {OdectiVektory}
Seznam algoritmů
Zadání:
Function Velikost(A:tVektor):real;
{Funkce vrati velikost vektoru}
var i:byte;
pom:real;
begin {Velikost}
pom:=0;
for i:=1 to Delka do
pom:=pom+sqr(A[i]);
Velikost:=sqrt(Pom);
end; {Velikost}
Seznam algoritmů
Zadání:
Procedure OpacnyVektor(A:tVektor;var B:tVektor);
{Procedura vytvori vektor s opacnymi znamenky jednotlivych clenu}
var i:byte;
begin {OpacnyVektor}
for i:=1 to Delka do
B[i]:=-A[i];
end; {OpacnyVektor}
Seznam algoritmů
Zadání:
Procedure NasobVektor(Cislo:real;Puvodni:tVektor;var Nasobek:tVektor);
{Procedura provede nasobeni vektoru skalarem}
var i:byte;
begin {NasobVektor}
for i:=1 to Delka do
Nasobek[i]:=Cislo*Puvodni[i];
end; {NasobVektor}
Seznam algoritmů
Zadání:
Procedure SkalarniSoucin(A,B:tVektor;var C:real);
{Procedura vraci skalarni soucin dvou vektoru}
var i:byte;
begin {SkalarniSoucin}
C:=0;
for i:=1 to Delka do
C:=C+A[i]*B[i];
end; {SkalarniSoucin}
Seznam algoritmů
Zadání:
Procedure VektorovySoucin(U,V:tVektor;var C:tVektor);
{Procedura vraci vektorovy soucin dvou vektoru.
Plati jen pro vektory se tremi slozkami.}
begin {VektorovySoucin}
C[1]:=u[2]*v[3]-u[3]*v[2];
C[2]:=u[3]*v[1]-u[1]*v[3];
C[3]:=u[1]*v[2]-u[2]*v[1];
end; {VektorovySoucin}
Seznam algoritmů
Zadání:
Function OdchylkaVektoru(A,B:tVektor):real;
{Funkce vrati odchylku dvou vektoru v radianech}
var C:real;
begin {OdchylkaVektoru}
SkalarniSoucin(A,B,C);
C:=C/(Velikost(A)*Velikost(B));
C:=ArcTan(sqrt (1-sqr (C)) /C);
OdchylkaVektoru:=C;
end; {OdchylkaVektoru}
Seznam algoritmů
|
|
20. 9. 1999 |
|
|
||
|
|