unit Vectors;
interface
type Scalar=Real; {integer...}
     Vector=array[0..1]of Scalar;

{a)}Procedure Sum(a,b:vector;var S:Vector);
{b)}Function ProdScal(a,b:vector):Scalar;
{c)}Procedure ProdCuScal(var a:vector;k:Scalar);
{d)}Function Modul(V:Vector):Scalar;

implementation

{a)}
Procedure Sum(a,b:vector;var S:Vector);
begin
 S[0]:=a[0]+b[0];
 S[1]:=a[1]+b[1];
end;

{b)}
Function ProdScal(a,b:vector):Scalar;
begin
 ProdScal:=a[0]*b[0]+a[1]*b[1];
end;

{c)}
Procedure ProdCuScal(var a:vector;k:Scalar);
begin
 a[0]:=a[0]*k;
 a[1]:=a[1]*k;
end;

{d)}
Function Modul(V:Vector):Scalar;
begin
 Modul:=SqrT(Sqr(V[0])+Sqr(V[1]));
        {Round(SqrT(...)) - pentru Scalar=Integer}
end;

end.