Corrigé Informatique 2 21 - 22
Corrigé Informatique 2 21 - 22
Corrigé Informatique 2 21 - 22
Examen – Informatique 2
Exercice 01 : [5 pts]
Soit T, un tableau de N nombres entiers. Écrire un programme Pascal qui permet de diviser T en deux
tableaux VP et VN : VP contient les valeurs positives et nulles et VN contient les valeurs négatives.
Exemple :
T VP VN
3 2 -4 9 -1 0 -3 3 2 9 0 -4 -1 -3
Exercice 02 : [8 pts]
Soit l’algorithme
3 2 -4 suivant
4 9 : -1 0 3 2 -4 4 9 -1 3 20 -4 4 9 -1 0
Algorithme
1. 3 2 -4Exo2;4 9 -1 0 Questions
3 2 -4 : 4 9 -1 3 20 -4 4 9 -1 0
Variables
2. A : tableau [1..100,1..100] de réel; 1. Traduire l’algorithme en Programme
i, j, N : entier; PASCAL.
3.
S, M : réel;
4.Début 2. Dérouler le programme pour les valeurs
{*-*-* Les entrées *-*-*} suivantes : N = 3 et
5. Lire(N);
2 4 −4
6. Pour i 1 à N faire 𝐴=[ 4 8 1 ]
Pour j 1 à N faire
7. Lire(A[i,j]); 3.5 9 3
Fin-Pour 3. Déduire ce que fait le programme ?
8. Fin-Pour 4. Réécrire le programme en remplaçant la boucle
9. {*-*-* Traitement *-*-*} for par la boucle while dans la partie de
S 0;
10. Pour i 1 à N faire traitement.
Begin
{*-*-* Les entrées *-*-*}
Writeln('Donner la taille du vecteur T');
Read(N) ; 0.25
Writeln('Donner les composantes du vecteur T');
For i :=1 to N do
0.25
Read(T[i]) ;
Ou bien (Solution 2)
Programme PASCAL
Program Classification ;
0.25
Var
N,i,k,x : integer; 0.25
{Les variables k et x sont utilisées pour parcourir les éléments de VP et VN respectivement. D’autres
identificateurs (noms de variables) peuvent être utilisés}
T,VP,VN : array [1..100] of integer ; 0.75 (0.25 pour chaque déclaration de tableau)
Begin
{*-*-* Les entrées *-*-*}
Writeln('Donner la taille du vecteur T');
Read(n) ; 0.25
Writeln('Donner les composantes du vecteur T');
For i :=1 to N do
0.25
Read(T[i]) ;
Begin
k :=k+1 ;
0.5 (0.25 par instruction)
VP[k] :=T[i] ;
End
Else
Begin
x :=x+1 ;
0.5 (0.25 par instruction)
VN[x] :=T[i] ;
End ;
4. Réécrire le programme en remplaçant la boucle for par la boucle while dans la partie de
traitement.(1.25 pt)
Programme PASCAL
Program Exo2;
var
A:array [1..100,1..100] of real;
i,j,N:integer;
S, M : real;
Begin
{*-*-* Les entrée *-*-*}
Read(N);
For i:=1 to N do
For j:=1 to N do
Read(A[i,j]);
End.
Programme PASCAL
Program Exo3;
var
t, d : integer;
v, vkm : real;
Function conversion (x: real): real ; 0.25 pour le mot-clé function
var
y : real;
Begin
y := (x*3600)/1000 ;
conversion :=y; 0.75
End;
Begin {Début du Programme Principal}
read(d,t);
v :=d/t ;
vkm := conversion(v);
writeln('La vitesse est : ', v:10:3 ,' m/s');
writeln('La vitesse est : ', vkm:10:3, ' km/h');
End. {Fin du Programme Principal}