hg S’enregistrer Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet

Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Index du Forum

hg Revision tunisie scolaire Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum révision tunisie , vous devez
 inscrire sur notre forum a partir d'ici
   NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
 
forum d'aide informatique : internet, réseau, programmation informatique ...
Tri par insertion
 
 
Poster un nouveau sujet   Répondre au sujet    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Index du Forum -> Algorithmique & programmation -> (¯`·._.·[Devoirs et séries']·._.·´¯)
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 715
Masculin
Point(s): 5 484
Moyenne de points: 0

Posté le: Ven 26 Fév - 14:44 (2010)    Sujet du message: Tri par insertion Répondre en citant

Ecrire un programme pascal permettant de remplir un tableau t au hasard et de le trier par la méthode de tri par insertion puis l'afficher.

correction
Code:

program tri_insertion;
uses wincrt;
const n=20;
type tab=array[1..n] of integer;
var t:tab;
 
 
{--------------------------------------}
 
procedure PROC_remplir(var t:tab);
var i:integer;
 
begin
randomize;
for i:=1 to n do
begin
t[i]:=random(50);
end;
end;
 
{----------------------------------------}
 
procedure PROC_afficher(t:tab);
var i:integer;
 
begin
for i:=1 to n do
write(' ',t[i],' ');
end;
 
{----------------------------------------}
 
procedure PROC_decaler(var t:tab; x,deb:integer; var fin:integer);
 
begin
fin := deb;
while (fin >= 1) and (t[fin] > x) do
begin
     t[fin + 1] := t[fin];
     fin := fin -1;
end;
end;
 
{----------------------------------------}
procedure PROC_tri(var t:tab);
var c,tmp,p:integer;
 
begin
for c:=2 to n do
begin
     if t[c-1] > t[c]
     then
         begin
         tmp := t[c];
         PROC_decaler(t,tmp,c-1,p);
         t[p+1] := tmp;
         end;
end;
end;
 
{----------------------------------------}
BEGIN
 
PROC_remplir(t);
PROC_afficher(t);
PROC_tri(t);
writeln;
PROC_afficher(t);
 
END.


 
Revenir en haut
Publicité






Posté le: Ven 26 Fév - 14:44 (2010)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
 
Revenir en haut
ademyassine


Hors ligne

Inscrit le: 25 Jan 2010
Messages: 1
Point(s): 1
Moyenne de points: 0

Posté le: Sam 10 Avr - 16:02 (2010)    Sujet du message: Tri par insertion Répondre en citant

Bonsoir,
j'en sait pas pourquoi vous utiliser la structure itérative à condition d'arrêt TANT QUE .. FAIRE et non pas REPETER..JUSQUA dans la procedure décaler alors que le traitement itérative s'execute au moins une fois?!


 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 04:18 (2017)    Sujet du message: Tri par insertion

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Index du Forum -> Algorithmique & programmation -> (¯`·._.·[Devoirs et séries']·._.·´¯) Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation