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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| program abc ;
uses wincrt ;
type tab = array [1..100]of integer ;
var n,x :integer;
t:tab ;
{**procédure de lecture de l'entier n}
{--Début--}
procedure saisir (var n:integer);
begin
repeat
writeln('entrez un entier n compris entre 4 et 10');
readln(n);
until n in [4..20] ;
end;
{--Fin-------------------------------------------}
{** procédure du remplissage du tableau triés directement }
{--Début--}
procedure remplir (var t:tab ; n:integer);
var i:integer ;
begin
writeln('entrez l''élement 1');readln(t[1]);
for i:=2 to n do
begin
repeat
writeln('entrez l''élement ',i);readln(t[i]);
until t[i] > t[i-1];
end;
end;
{--Fin--------------------------------------------}
{** procédure de l'insertion de l'entier n dans sa bonne place }
{--Début--}
procedure insert (Var t:tab ; n,x:integer );
var i :integer ;
begin
writeln('tapez un entier x ');readln(x);
i:=1;
for i:=n downto 1 do
if (t[i]>x) then
begin
t[i+1]:=t[i];
end;
t[i]:=x;
end;
{--Fin--------------------------------------------}
{** procédure de l'affichage du tableau trié }
{--Début--}
procedure affiche (t:tab ; n:integer );
var k :integer ;
begin
for k:=1 to n+1 do ;
begin
writeln(t[k]);
end;
end;
{--Fin--------------------------------------------}
begin
saisir(n);
remplir(t,n);
insert(t,n,x);
affiche(t,n);
end. |
Partager