-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkpoint.txt
54 lines (49 loc) · 1.13 KB
/
checkpoint.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
PROCEDURE Dotproduct(var Ps:FLOAT,var dimension:INTEGER,var tab1:ARRAY_OF INTEGER,var tab2:ARRAY_OF INTEGER)
VAR
i:INTEGER:=0;
BEGIN
Ps:=0;
FOR i FROM 0 TO dimension STEP 1 DO
Ps:=Ps+tab1[i]*tab2[i];
END_FOR
write("le produit scalaire de deux vecteurs vaut:"+Ps)
END
FUNCTION Dotproduc(dimension:INTEGER,var tab1:ARRAY_OF INTEGER,var tab2:ARRAY_OF INTEGER) : return_type
VAR
i:INTEGER:=0;
BEGIN
Ps:=0;
FOR i FROM 0 TO dimension STEP 1 DO
Ps:=Ps+tab1[i]*tab2[i];
END_FOR
RETURN ps;
END
FUNCTION setDimension() : INTEGER
VAR
n:INTEGER
BEGIN
read(n);
RETURN n;
END
PROCEDURE readarray(n:INTEGER,var T:ARRAY_OF INTEGER)
VAR
i:INTEGER;
BEGIN
FOR i FROM 0 TO n STEP 1 DO
write("enter les elements du tableau1");
read(T[i]);
END
ALGORITHM Dotproduct_orthogonale
VAR
dimension:INTEGER;
tableau1,tableau2:ARRAY_OF INTEGER[];
produitscalaire:INTEGER:=0;
BEGIN
dimension:=setDimension();
readarray(dimension,tab1);
readarray(dimension,tab2);
Dotproduct(produitscalaire, dimension,tab1,tab2);
IF (produitscalire=0) THEN
write("les deux vecteurs sont orthogonale");
END_IF
END