Lycée Pilote de Sousse
Devoir de Synthèse
N° 2
Année scolaire : 2013/2014
Matière :
Informatique
Durée : 1H
Mr. Med Abdallah Mani
Classe : 4
ième
MATH
Nom & Prénom
: …………………………………………………….
Note
: ……. / 20
Bon Travail
program sujet_28_mai_11h; uses wincrt; type tab=array[1..20] of string; var T1,T2:tab; n:integer; procedure saisie(var n:integer); begin repeat write('Donner le nombre d''élèves: '); readln(n); until n in [4..20]; end; function verif (ch:string):boolean; var i:integer; test:boolean; begin test:=true; i:=0; repeat i:=i+1; if not(ch[i] in ['A'..'Z']) then test:=false; until(test=false) or (i=length(ch)); verif:=test; end; procedure remplirT1(var T1:tab;n:integer); var i:integer; begin for i:=1 to n do repeat write('Nom de l''élève numéro ',i,': '); readln(T1[i]); until (length(T1[i])<=10) and (verif(T1[i])); end; function poids(ch:string):integer; var i,s:integer; begin s:=0; for i:=1 to length(ch) do s:=s+ord(ch[i]); poids:=s; end; function min_poids(T:tab;n:integer):integer; var i,m:integer; begin m:=1;
for i:=2 to n do if(poids(T[i])<poids(T[m])) then m:=i; min_poids:=m; end; procedure remplirT2(var T1:tab;var T2:tab;n:integer); var i,min:integer; begin for i:=1 to n do begin min:=min_poids(T1,n); T2[i]:=T1[min]; T1[min]:='ZZZZZZZZZZ'; end; end; procedure affichage(T:tab;n:integer); var i:integer; begin for i:=1 to n do writeln(T[i],' son poids= ', poids(T[i])); end; {programme principal} begin saisie(n); remplirT1(T1,n); remplirT2(T1,T2,n); affichage(T2,n); end.
Satisfaites votre curiosité
Tout ce que vous voulez lire.
À tout moment. Partout. Sur n'importe quel appareil.
Aucun engagement. Annulez à tout moment.