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
   |  
const nmax=1000;
type tableaunombres=array[1..nmax] of real;
 
 
procedure entreetableau(var t: tableaunombres; var n:integer);
var i: integer;
begin
write('Entrez le nombre de données : ');
readln(n);
for i:=1 to n do
  begin
    write(' La ',i,' ème donnée est: ');
    readln(t[i]);
  end;
end;
 
 
procedure normalisepourcentage(var t: tableaunombres; n:integer;var pourcent:tableaunombres);
var i:integer;c:real;
begin
c:=0;
for i:=1 to n do
    c:=c+t[i];
for i:=1 to n do
  pourcent[i]:=100*(t[i])/c;
end;
 
 
procedure histogramme(s:string;var t,pourcent:tableaunombres; n:integer);
var i,r,k:integer;w:char;
begin
for i:=1 to n do
t[i]:=pourcent[i];
for i:=1 to n do
  begin
    r:=trunc(t[i]);
    ord(s[0]):=r;
    for k:=1 to r do
    s[k]:=*;{erreur}
  end;
end;
 
 
var t,pourcent:tableaunombres; n,i:integer; c:real; s:string;
begin
entreetableau(t,n);
normalisepourcentage(t,n,pourcent);
histogramme(s,t,pourcent,n);
for i:=1 to n do
writeln(i,' ',s,' ',t[i]:10:1);
readln;
end. | 
Partager