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

  • Votes
  • Date
  • Date décroissante
  1. 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+
    1. 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
    2. 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
    3. Contributeur
      Pascal - Tri par insertion - Récursivité-
      Voir Astuces Pascal

      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;