Devoir de synthèse N°2
Devoir de synthèse N°2
Bonjour chers élèves.
Si vous avez des questions ou remarques vous pouvez écrire.
Il suffit de cliquer répondre.
Si vous avez des questions ou remarques vous pouvez écrire.
Il suffit de cliquer répondre.
Re: Devoir de synthèse N°2
SALEM MONSIEUR SVP CORRIGEZ MON TRAVAIL
EX: ECRIRE UNE ANALYSE D'UNE PROG OCCURENCE QUI PERMET DE SAISIR UN TABLEAU T DE N ENTIER (5
EX: ECRIRE UNE ANALYSE D'UNE PROG OCCURENCE QUI PERMET DE SAISIR UN TABLEAU T DE N ENTIER (5
****- Invité
Re: Devoir de synthèse N°2
program tri_ins;
uses wincrt;
type tab=array[1..100] of integer;
var t1,t:tab; h,g:text; ch:string;
x,j,pas,nb,aux,f,i,n:integer;
{procedure saisir;
begin
n:=random(50)+5;
end;}
procedure remplir;
begin
randomize;
for i:=1 to n do
t[i]:=random(50);
for i:=1 to n do t1[i]:=t[i];
end;
procedure decaler;
begin
f:=i-1;
while (f>=1)and(aux begin
t[f+1]:=t[f];
f:=f-1;
nb:=nb+1;
end;
end;
procedure tri;
begin
write(h,'*** TRI INSERTION ***');
writeln(g,'*** TRI INSERTION ***');
writeln('*** TRI INSERTION ***');
for i:=2 to n do
begin
if t[i-1]>t[i] then
begin
aux:=t[i];
decaler;
t[f+1]:=aux;
end;
end;
write(h,' *** ',nb:5,' ');
end;
procedure tri_s;
begin
write(h,'*** TRI SHELL ***');
writeln(g,'*** TRI SHELL ***');
writeln('*** TRI SHELL ***');
pas:=0; nb:=0;
while pas repeat
pas:=pas div 3;
for i:= pas+1 to n do
begin
aux:=t1[i];
j:=i;
while(j>pas)and(t1[j-pas]>aux)do
begin
t1[j]:=t1[j-pas];
j:=j-pas;
nb:=nb+1;
end;
t1[j]:=aux;
end;
until pas=1;
writeln(h,' *** ',nb,' pour ',n,' elements');
end;
procedure affiche;
begin
for i:=1 to n do
begin
write(t[i]:4);
write(g,t[i]:4);
end;
writeln; writeln(g);
writeln(' *** ',nb,' pour ',n,' elements');
writeln(g,' *** ',nb,' pour ',n,' elements');
writeln; writeln(g);
end;
procedure suivant;
begin
writeln(g,'**********************************************************');
writeln(g,'******************** EXEMPLE SUIVANT *********************');
writeln(g,'**********************************************************');
writeln(g);
end;
begin
randomize;
ch:='c:\tri\tri_ins_shell.txt';
assign(g,ch);rewrite(g);
assign(h,'c:\tri\stat.txt');
rewrite(h);
for n:= 50 to 100 do
begin
nb:=0;
append(g); append(h);
remplir;affiche;tri;affiche;tri_s;affiche;
suivant;
close(g);close(h);
end;
end.
uses wincrt;
type tab=array[1..100] of integer;
var t1,t:tab; h,g:text; ch:string;
x,j,pas,nb,aux,f,i,n:integer;
{procedure saisir;
begin
n:=random(50)+5;
end;}
procedure remplir;
begin
randomize;
for i:=1 to n do
t[i]:=random(50);
for i:=1 to n do t1[i]:=t[i];
end;
procedure decaler;
begin
f:=i-1;
while (f>=1)and(aux
t[f+1]:=t[f];
f:=f-1;
nb:=nb+1;
end;
end;
procedure tri;
begin
write(h,'*** TRI INSERTION ***');
writeln(g,'*** TRI INSERTION ***');
writeln('*** TRI INSERTION ***');
for i:=2 to n do
begin
if t[i-1]>t[i] then
begin
aux:=t[i];
decaler;
t[f+1]:=aux;
end;
end;
write(h,' *** ',nb:5,' ');
end;
procedure tri_s;
begin
write(h,'*** TRI SHELL ***');
writeln(g,'*** TRI SHELL ***');
writeln('*** TRI SHELL ***');
pas:=0; nb:=0;
while pas
pas:=pas div 3;
for i:= pas+1 to n do
begin
aux:=t1[i];
j:=i;
while(j>pas)and(t1[j-pas]>aux)do
begin
t1[j]:=t1[j-pas];
j:=j-pas;
nb:=nb+1;
end;
t1[j]:=aux;
end;
until pas=1;
writeln(h,' *** ',nb,' pour ',n,' elements');
end;
procedure affiche;
begin
for i:=1 to n do
begin
write(t[i]:4);
write(g,t[i]:4);
end;
writeln; writeln(g);
writeln(' *** ',nb,' pour ',n,' elements');
writeln(g,' *** ',nb,' pour ',n,' elements');
writeln; writeln(g);
end;
procedure suivant;
begin
writeln(g,'**********************************************************');
writeln(g,'******************** EXEMPLE SUIVANT *********************');
writeln(g,'**********************************************************');
writeln(g);
end;
begin
randomize;
ch:='c:\tri\tri_ins_shell.txt';
assign(g,ch);rewrite(g);
assign(h,'c:\tri\stat.txt');
rewrite(h);
for n:= 50 to 100 do
begin
nb:=0;
append(g); append(h);
remplir;affiche;tri;affiche;tri_s;affiche;
suivant;
close(g);close(h);
end;
end.
Sujets similaires
» Devoir de synthèse N°2
» Devoir de synthèse N° 2
» Devoir de synthèse N°1
» Devoir de synthèse N°3 :
» Devoir de synthèse N°1
» Devoir de synthèse N° 2
» Devoir de synthèse N°1
» Devoir de synthèse N°3 :
» Devoir de synthèse N°1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|