P a g e |1
Lycée Pilote de Sousse Devoir de Contrôle N° 1
Année scolaire : 2013/2014
Mr. Med Abdallah Mani Classe : 4
ièmeTech
Soit T un tableau contenant N entiers > 0 impairs, avec N pair et 5 < N < 20.
On se propose d’afficher les séquences strictement croissantes ainsi que leur nombre.
Exemple :
Si T = | 3 | 13 | 41 | 5 | 9 | 11 |3 | 7 |
Les séquences strictement croissantes sont au nombre de 3 et sont les suivantes : (3,13,41 ; (5,9,11); (3,7).
program sequences;
uses wincrt;
type
tab=array [1..20]of integer;
vart:tab;
i,f,n:integer;
begin
{*** Lecture Taille tableau***}
repeat
write('Donner n=');
readln(n);
until (n in [5..20]) and (n mod 2 =0);
{*** Remplissage du tableau tableau***}
for i:=1 to n do repeat
writeln('T[',i,']=');
readln(t[i]);
until (t[i] > 0) and (t[i] mod 2=1);
{*** Affichage séquences croissantes ***}
write ('(',t[1]);
f:=1;
for i:= 2 to n do if t[i] > t[i-1] then write(',' , t[i]) else
begin
write(');(' , t[i]);
f:=f+1;
end;writeln(').');
{*** Affichage nombre séquences ***}
write(f , ' séquences');
end.
program sequences;
uses wincrt;
type
tab=array [1..20]of integer;
vart:tab;
f,n:integer;
procedure lecture (var n:integer);
begin repeat
write('Donner n=');
readln(n);
until (n in [5..20]) and (n mod 2 =0);
end;procedure remplir(var t:tab;n:integer);
vari:integer;
begin
for i:=1 to n do repeat
writeln('T[',i,']=');
readln(t[i]);
until (t[i] > 0) and (t[i] mod 2=1);
end;procedure affiche(t:tab;n:integer;var f:integer);
var i:integer;
begin
write ('(',t[1]);
f:=1;
for i:= 2 to n do if t[i] > t[i-1] then write(',' , t[i]) elsebegin
write(');(' , t[i]);
f:=f+1;
end;writeln(').');
end;begin
{*** Lecture Taille tableau***}
lecture(n);
{*** Remplissage du tableau tableau***}
remplir(t,n);
{*** Affichage séquences croissantes ***}
affiche(t,n,f);
{*** Affichage nombre séquences ***}
write(f , ' séquences');
end.