Tri insertion

Bonjour,
je m'appelle MAhdi et je suis encours de préparation d'un concours de CAPES informatique
j'ai voulus savoir comment trier par insertion ,d' une maniere récursif,un ficher à acces direct(en PASCAL)
merci a tous qui m'interesse de me répondre
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. Procedure Tri_Ins (Var t: TAB; n: integer);
    Var aux,i : integer;
    begin
    If n > 1 Then
    begin
    Tri_Ins (t,n - 1);
    If t[n] < t[n - 1] Then
    Begin
    aux:= t[n];
    i := n;
    Repeat
    t[i] := t[i - 1];
    i := i - 1;
    Until (i = 1) Or (aux > t[i - 1]);
    t[i] := aux;
    End;
    1. Contributeur
      Pascal - Tri par insertion - Récursivité-
      Voir Astuces Pascal

      1. je veux un algoritme de trie par insertion
        1. procedure tri insertion(var T:taleau[1..n]d'entier,n:entier)
          i,x,j:entier
          debut
          pour i de 2 à n faire
          x<- T[i]
          j<- i-1
          tant que (x<=T[j])et(j>=1) faire
          T[j+1]<- T[j]
          j<- j-1
          fin tant que
          T[j]<- x
          fin pour
          fin
      2. J'ai le tri par insertion mais pas en récurcivité si vous voulez nous la fait ensemble parceque j'ai une petite difficultée dans la récurcivité. aussi je trés bon dans le modules des fichiers et les enregistrement.
        1. slt donne moi le trie par insertion
      3. je peux vous donner la recursive du tri par sélection non pas tri par insertion.
        si tu veux dis le moi .

        et pour le fichier à accés direct:
        1) définition: un fichier est dit à accés direct si on peut accéder directement à chaqu'un de ses éléments. cette opération s'effectue grace à la procedure " POINTER " ( en pascal SEEK )

        2) syntaxe:
        en algo:
        POINTER( f , numéro) avec f c'est le fichier.

        en pascal:
        SEEK ( f , numéro); n'oubliez pas le point vergule " ; " c'est important dans pascal.

        remarques:
        - il faut que la variable numéro soit comprise entre 0 et la fin de fichier.
        - la fin de fichier peut étre trouver grace à la fonction taille de fichier.

        syntaxe:
        en algo:
        taille_fichier(f)

        en pascal:
        filesize(f);

        - pour que la variable numéro soit bien choisie il faut vérifier:
        0 <= numéro < taille_fichier(f) ( " <= " : c'est inférieur ou égale )
        - à l'aide de la fonction taille_fichier on peut se positionner à la fin du fichier de manière à rajouter des élèments.

        activité: ecrire une séquence algorithmique qui permet d'ajouter un élément à la fin d'un fichier.
        ouvrir (f)
        écrire ( " valeur =") , lire (v)
        pointer (f,taille_fichier(f))
        ecrire (f,v)

        pascal:
        reset(f);
        write ( ' valeur= '); read(v);
        seek (f, filesize(f));
        write (f,v);

        c tt
        espérant que tu compris.
        a+