Vous êtes sur la page 1sur 6

Résumé du chapitre Vecteurs & Matrices (Tableaux – Variables indicées)

Partie – 01

Tableaux à une Dimension: Vecteurs


Opérations Algorithmique Pascal
Déclaration d’un vecteur T de type T : Tableau[1..100] de Réel T : array[1..100] of Real ;
N, i : entier N, i : integer ;
réel et d’ordre N
Lecture d’un vecteur T Lire(N) Read(N) ;
Pour i1 à N faire for i :=1 to N do
Lire(T[i]) Read(T[i]);
Fin-Pour
Affichage d’un vecteur T Pour i1 à N faire for i :=1 to N do
Écrire(T[i]) Write(T[i]);
Fin-Pour
Ajouter une même valeur x à tous Pour i1 à N faire for i :=1 to N do
T[i]  T[i] + x T[i] := T[i] + x;
les éléments du vecteur T Fin-Pour
Ôter une même valeur x de tous les Pour i1 à N faire for i :=1 to N do
T[i]  T[i] - x T[i] := T[i] - x;
éléments du vecteur T Fin-Pour
Faire la somme de tous les S  0 S := 0 ;
Pour i1 à N faire for i :=1 to N do
composantes du vecteur S  S+ T[i] S := S + T[i];
Fin-Pour
Faire la somme de tous les S  0 S := 0 ;
Pour i1 à N faire for i :=1 to N do
composantes du vecteur T divisibles Si T[i] mod 3 =0 alors if T[i] mod 3 = 0 then
par 3. S  S+ T[i] S := S + T[i];
Fin-Si
Fin-Pour
Compter le nombre des composantes c  0 c := 0 ;
Pour i1 à N faire for i :=1 to N do
du vecteur T divisibles par 3. Si T[i] mod 3 =0 alors if T[i] mod 3 = 0 then
c  c + 1 c := c + 1;
Fin-Si
Fin-Pour
Faire la somme de tous les S  0 S := 0 ;
Pour i1 à N faire for i :=1 to N do
composantes du vecteur T divisibles Si (T[i]mod 3=0)ET(T[i]mod 4<>0)alors if (T[i]mod 3=0)AND(T[i]mod 4<>0) then
par 3 et non divisibles par 4. S  S+ T[i] S := S + T[i];
Fin-Si
Fin-Pour
Compter le nombre des composantes c 0 c := 0 ;
Pour i1 à N faire for i :=1 to N do
du vecteur T divisibles par 3 et non Si (T[i]mod 3=0)ET(T[i]mod 4<>0)alors if (T[i]mod 3=0)AND(T[i]mod 4<>0) then
divisibles par 4. c  c + 1 c := c + 1;
Fin-Si
Fin-Pour
Faire le produit de tous les P 1 P := 1 ;
Pour i1 à N faire for i :=1 to N do
composants du vecteur P  P * T[i] P := P * T[i];
Fin-Pour
Ajouter la valeur de la composante x  T[k] X := T[k] ;
Pour i1 à N faire for i :=1 to N do
d’indice k à tous les éléments du T[i]  T[i] + x T[i] := T[i] + x;
vecteur T Fin-Pour
Supprimer la valeur de la x  T[k] X := T[k] ;
Pour i1 à N faire for i :=1 to N do
composante d’indice k à tous les T[i]  T[i] - x T[i] := T[i] – x;
éléments du vecteur T Fin-Pour
Multiplier la valeur de la x  T[k] X := T[k] ;
Pour i1 à N faire for i :=1 to N do
composante d’indice k à tous les T[i]  T[i] * x T[i] := T[i] * x;
éléments du vecteur T Fin-Pour
diviser la valeur de la composante x  T[k] X := T[k] ;
si x <> 0 then if x <> 0 then
d’indice k à tous les éléments du Pour i1 à N faire for i :=1 to N do
vecteur T T[i]  T[i] / x T[i] := T[i] / x;
Fin-Pour
fin-si
Permutation des cases de rang K et Z  T[K] Z := T[K] ;
T[k]  T[L] T[k] := T[L] ;
L du vecteur T T[L]  Z T[L] := Z ;

Série TP N°1 : Exercices


Supplémentaire sur les Vecteurs
– EXO 1
Tri croissant d’un vecteur T pour i1 à (n-1) faire for i:=1 to (n-1) do
pour j(i+1) à n faire for j:=(i+1) to n do
(Ordonner les éléments du vecteur si T[j]<T[i] alors if T[j] < T[i] then
du plus petit vers le plus grand) ZT[i] begin
T[i]T[j] Z := T[i];
T[j]Z T[i] := T[j];
Série TP N°1 : Exercices fin-si T[j] := Z;
Supplémentaire sur les Vecteurs fin-pour end;
fin-pour
– EXO 2
Rechercher une valeur VAL dans un Trouve  false Trouve:=false;
pos  -1 pos:=-1;
vecteur T de N éléments et sa i  1 i  1;
position dans T. tant-que (i<=N)ET(Trouve=false) faire while (i<=N)AND(Not(Trouve)) do
si T[i] = VAL alors begin
pos  i if T[i] = VAL then
Méthode 01 : utiliser une variable trouve  true begin
booléenne Trouve fin-si pos:=i;
fin-tant-que trouve:=true;
end;
Série TP N°1 : Exercices si Trouve alors i:=i+1;
écrire(‘VAL existe dans T, pos’, pos) end;
Supplémentaire sur les Vecteurs sinon if Trouve then
– EXO 3 écrire(‘VAL n’’existe pas dans T’) write(‘VAL existe dans T, pos=’, pos)
fin-si else
write(‘VAL n’’existe pas dans T’);
Rechercher une valeur VAL dans un pos  -1 pos:=-1;
i 1 i  1;
vecteur T de N éléments et sa tant-que (i<=N) ET (pos = -1) faire while (i<=N) AND (pos = -1) do
position dans T. si T[i] = VAL alors begin
pos  i if T[i] = VAL then
fin-si pos:=i;
Méthode 02 : i  i+1 i:=i+1;
fin-tant-que end;
Série TP N°1 : Exercices si pos <> -1 alors if pos <> -1 then
Supplémentaire sur les Vecteurs écrire(‘VAL existe dans T, pos’, pos) write(‘VAL existe dans T, pos=’, pos)
sinon else
– EXO 3 écrire(‘VAL n’’existe pas dans T’) write(‘VAL n’’existe pas dans T’);
fin-si
Produit Scalaire entre deux vecteur Ps  0; Ps := 0;
pour i  1 à n faire for i:=1 to n do
V1 et V2 de taille N (même taille) ps  ps + V1[i]*V2[i] ps:= ps + V1[i]*V2[i];
Série TP : EXE. SUP. Exo4 fin-pour
Rotation à droite des éléments d’un Z  T[n] Z := T[n];
pour i1 à (n-1) faire for i1 to (n-1) do
vecteur T : le 1er élément passe au T[n-i+1]  T[n-i] T[n-i+1]:= T[n-i];
2ème, le 2ème passe au 3ème, etc. fin-pour
T[1]  Z T[1]:= Z;
Si nous avons :T=[1 5 8 9 10]
nous aurons : T=[10 1 5 8 9]
Rotation à gauche des éléments d’un Z  T[1] Z := T[1];
pour i1 à (n-1) faire for i1 to (n-1) do
vecteur T : le 1er élément passe au T[i]  T[i+1] T[i]:= T[i+1];
Nème, le 2ème passe au 1ème, le 3ème fin-pour
T[n]  Z T[n]:= Z;
passe au 2ème, etc.
Si nous avons :T=[1 5 8 9 10]
nous aurons : T=[5 8 9 10 1]
La somme de deux vecteur V1 e V2 pour i1 à n faire for i1 to (n-1) do
V[i]  V1[i] + V2[i] V[i]:= V1[i] + V2[i];
de taille N = Vecteur V de taille N fin-pour
On écrit : V = V1 + V2
Compter le nombre d’éléments cpt_pos  0 cpt_pos:=0;
cpt_neg  0 cpt_neg:=0;
strictement positifs, nombre
cpt_nul  0 cpt_nul:=0;
d’éléments strictement négatif et le pour i1 à n faire
si V[i]>0 alors for i1 to n do
nombre d’éléments nuls d’un vecteur cpt_pos  cpt_pos + 1 if V[i]>0 then
V de taille n sinon cpt_pos := cpt_pos + 1
Nous utilisons trois variables entières si V[i]<0 alors else
cpt_neg  cpt_neg + 1 if V[i]<0 then
qui représentent des compteurs : sinon cpt_neg := cpt_neg + 1
cpt_pos , cpt_neg et cpt_nul cpt_nul  cpt_nul + 1 else
fin-si cpt_nul := cpt_nul + 1;
fin-si
fin-pour
Calculer la somme des éléments som_pos  0 som_pos:=0;
som_neg  0 som_neg:=0;
positifs et la somme des éléments pour i1 à n faire
négatifs d’un vecteur V de taille n. si V[i]>0 alors for i1 to n do
som_pos  som_pos + V[i] if V[i]>0 then
sinon som_pos := som_pos + V[i]
si V[i]<0 alors else
som_neg  som_neg + V[i] if V[i]<0 then
fin-si som_neg := som_neg + V[i];
fin-si
fin-pour
Compter le nombre d’éléments d’un cpt  0 cpt := 0;
pour i1 à n faire for i1 to n do
vecteur V qui sont entre deux si (V[i]>=VAL1)ET(V[i]<=VAL2) alors if (V[i]>=VAL1)AND(V[i]<=VAL2) then
valeurs VAL1 et VAL2, tel-que cpt  cpt + 1; cpt := cpt + 1;
fin-si
VAL1 < VAL2. fin-pour
Calculer la somme des éléments d’un som  0 som := 0;
pour i1 à n faire for i1 to n do
vecteur V qui sont entre deux si (V[i]>=VAL1)ET(V[i]<=VAL2) alors if (V[i]>=VAL1)AND(V[i]<=VAL2) then
valeurs VAL1 et VAL2, tel-que som  som + V[i]; som := som + V[i];
fin-si
VAL1 < VAL2. fin-pour
Inverser le vecteur T dans un pour i1 à n faire for i:=1 to n do
V[i]  T[N-i+1] V[i] := T[n-i+1];
vecteur V de taille N. fin-pour
(Méthode 1)
Inverser le vecteur T dans un jn j := n;
pour i1 à n faire for i:=1 to n do
vecteur V de taille N. V[i]  T[j] begin
(Méthode 2) j  j - 1 V[i] := T[n-i+1];
fin-pour j := j-1;
end;
Inverser le vecteur T dans lui même pour i1 à (n div 2) faire for i:=1 to (n div 2) do
Z  T[i] begin
(Méthode 1) T[i]  T[N-i+1] Z := T[i]
T[N-i+1]  Z T[i] := T[n-i+1];
fin-pour T[n-i+1] := Z;
end;
Inverser le vecteur T dans lui même j  N J := N;
pour i1 à (n div 2) faire for i:=1 to (n div 2) do
(Méthode 2) Z  T[i] begin
T[i]  T[j] Z := T[i]
T[j]  Z T[i] := T[j];
j  j-1 T[j] := Z;
fin-pour j := j-1;
end;
La somme des éléments du vecteur Som0 Som := 0;
pour i1 à n faire for i:=1 to n do
V qui sont supérieurs à une valeur si V[i]>VAL alors if V[i]>VAL then
VAL. Som  Som + V[i] Som := Som + V[i];
fin-si
fin-pour
Le nombre des éléments du vecteur Cpt0 Cpt := 0;
pour i1 à n faire for i:=1 to n do
V qui sont supérieurs à une valeur si V[i]>VAL alors if V[i]>VAL then
VAL. Cpt  Cpt + 1 Cpt := Cpt + 1;
fin-si
fin-pour
La moyenne des éléments du vecteur Cpt0 Som := 0;
Som0 for i:=1 to n do
V qui sont supérieurs à une valeur pour i1 à n faire if V[i] > VAL then
VAL si V[i]>VAL alors begin
Cpt  Cpt + 1 Cpt := Cpt + 1;
Som  Som + V[i] Som := Som + V[i];
fin-si end;
fin-pour

si cpt > 0 alros if V[i]>VAL then


Moy  Som / Cpt Moy := Som / Cpt ;
fin-si
La recherche du minimum et sa min  V[1] min := V[1];
pmin  1 pmin := 1;
position dans un vecteur V. pour i1 à n faire for i:=1 to n do
si V[i]<min alors if V[i]<min then
min  V[i] begin
pmin  i min := V[i];
fin-si pmin := i;
fin-pour end
La recherche du maximum et sa max  V[1] max := V[1];
pmax  1 pmax := 1;
position dans un vecteur V. pour i1 à n faire for i:=1 to n do
si V[i]<min alors if V[i]>max then
max  V[i] begin
pmax  i max := V[i];
fin-si pmax := i;
fin-pour end;
Le nombre d’occurrences d’une cpt  0; Cpt := 0;
Pour i1 à N faire for i:=1 to n do
valeur VAL dans un vecteur V de si V[i]=VAL alors if V[i]=VAL then
taille N cpt  cpt + 1 cpt := cpt + 1;
Nombre d’occurrences =
nombre de répétitions

Vous aimerez peut-être aussi