IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Pascal Discussion :

Algorithmes de tri


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut Algorithmes de tri
    salut je suis en 1ere année informatique
    donc je débute en programmation et j'ai un tp a faire que j'ai même pas su d'où le commencé bref voici l'énoncé :

    "il faut procéder selon les étapes suivantes:
    -spécifier et enregistrer les valeurs initiales dans un fichier
    -réaliser 3 algorithmes de tri ( interface graphique intégrant un menu )
    -afficher et enregistrer les résultats de chaque algorithme "

    alors je voudrais juste une idée de comment traiter cet exercice
    merci d'avance !

  2. #2
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour et bienvenue
    j'ai un tp a faire que j'ai même pas su d'où le commencé
    Alors il faut commencer par le debut et ça m'etonnerais que tu aies un tp à faire mais pas le notions élémentaires pour les faire
    On est prêt à t'aider si tu fournis des efforts et poses une question précise mais pas faire ton tp à ta place:
    Alors comme indication :
    -Savoir lire/écrire dans un ficher
    -Connaitre au moins trois algorithme de tri et savoir les implementer
    -Savoir affichier dans la sortie standart et ecrire des données dans un fichier

    Maintenant tu devrais savoir par ou commencer

    Et juste pour info
    ( interface graphique intégrant un menu
    tu es bien en Pascal .?(c'est pas Delphi par hasard?)
    Cordialement

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    avant tout merci !!
    et puis :
    -Savoir lire/écrire dans un ficher
    -Connaitre au moins trois algorithme de tri et savoir les implementer
    -Savoir affichier dans la sortie standart et ecrire des données dans un fichier
    je sais faire tous sa mais individuellement .. je sais pas comment faire le lien entre eux !!
    et oui on travaille avec le pascal

  4. #4
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Citation Envoyé par houta90 Voir le message
    ...
    "il faut procéder selon les étapes suivantes:
    1-spécifier et enregistrer les valeurs initiales dans un fichier
    2-réaliser 3 algorithmes de tri ( interface graphique intégrant un menu )
    3-afficher et enregistrer les résultats de chaque algorithme "

    ..
    Bonjour
    Et pourtant si tu relies ton énnoncé tu sauras comment faire le liens entre ces differents éléments

    1-On peut comprendre ça comme soit demander à l'utilisateur d'entrer différentes valeurs et ensuite les enregistrer dans un fichier soit entrer à la main via par exemple (un simple editeur comme gedit ou bloc note) des valeurs ensuite sauvegarder dans un fichier
    2-Et la tu devras aller lire ces valeurs precedement enregistées dans le fichier et ensuite par trois algorithmes de tri les classer.
    3-Apres le tri il faudra afficher le nouvel ordre obtenu dans la console et apres sauvergarder ces valeurs dans un fichier (peut etre a la suite de la precedente comme ça tu vera bien l'ordre des elements)
    2-réaliser 3 algorithmes de tri ( interface graphique intégrant un menu )
    Faudra soit apres la lecture des elements dans le ficher prevoir a demander a l'utilisateur l'algo de tri qu'il desire utiliser et comme c'est demander en mode graphique)
    Alors cette fois c'est clair?

    Cordialement

  5. #5
    Membre averti
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    oui c'est bon
    merci !

  6. #6
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Après Si tu bloques sur un point précis dans le code tu peux toujours venir demander

  7. #7
    Membre averti
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    bon j'ai essayé de commencer ce tp mais il veut pas se compilé il m'affiche erreur comme quoi il y a une division sur 0 et une autre dans la syntaxe de "case" ...alors si vous pouvez bien m'aider parce que là je bloque graaaave




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    program tp;
    uses crt;
    const n=100;
    type fichier = file of integer;
         vecteur = array[1..n]of integer;
    var rep: char;
        t1: vecteur;
        F1,F2: fichier;
        k,nom: string[20];
        a:integer;
     
    procedure lecture(var t:vecteur);
    var i: integer;
    begin
    writeln('veuillez entrer les elements du tableau');
    for i:=1 to n do read (t[i]);
    end;
     
    procedure enregistrer(t:vecteur ; var f:fichier);
    var i:integer;
    begin
    rewrite(f);
    for i:=1 to n do write(f,t[i]);
    end;
     
    procedure copie(var f:fichier ; var t:vecteur);
    var i:integer;
    begin
    reset(f);
    i:=1;
    while not eof(f) do
      begin
      read(f,a);
      t[i]:=a;
      i:=i+1;
      end;
    end;
     
    procedure tri_insertion(var t:vecteur);
    var i,j,temp:integer;
    begin
    for i:=2 to 10 do
      begin
      temp:=t[i];
      j:=i;
      while t[j-1]> temp do
           begin
           t[j]:=t[j-1];
           j:=j-1;
           end;
      t[j]:= temp;
      end;
    end;
     
    procedure tri_selection(var t:vecteur);
    var i,j,temp:integer;
    begin
    for i:=1 to n-1 do
      for j:=i+1 to n do
        if t[i]<t[j]  then
          begin
          temp:= t[j];
          t[j]:= t[i];
          t[i]:= temp;
          end;
    end;
     
    procedure tri_bulle(var t:vecteur);
    var i,j,temp:integer;
    begin
    for i:=n downto 1 do
     for j:=1 to (i-1) do
      if t[j]>t[j+1] then
           begin
           temp:=t[j];
           t[j]:=t[j+1];
           t[j+1]:=temp;
           end;
    end;
         {==================================================================}
                               {programme principal}
         {==================================================================}
     
    BEGIN
    clrscr;
    writeln('tapez ''c'' si vous voulez entrer les valeurs par le clavier');
    writeln('tapez ''f'' si les valeurs se trouvents dans fichier');
    read(rep);
    if rep='c' then
      begin
      lecture(t1);
      assign(F1,'tableau_a_trier');
      enregistrer(t1,F1);
      end
    else if  rep='f' then
      begin
      writeln('entrez le nom du fichier');
      read(nom);
      assign(f2,nom);
      copie(f2,t1);
      end
    else writeln('erreur');
     
    writeln('choisissez le tri que vous souhaitez');
    writeln('÷ Insertion');
    writeln('÷ Selection');
    writeln('÷ Bulle');
    read(k);
    case k of
     'insertion': tri_insertion(t1);
     'selection': tri_selection(t1);
     'bulle': tri_bulle(t1)
     else writeln('ce tri n''existe pas ');
     end;
    readln;
    readln;
    end.
    mercii

  8. #8
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    L'aide de Pascal te fourni les informations sur les erreurs(concernant le case) que tu cites plus haut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    case k of
     'insertion': tri_insertion(t1);
     'selection': tri_selection(t1);
     'bulle': tri_bulle(t1)
      ......
    Le case attend un type ordinal ;(une recherche sur case s'impose) ce qui serait bien ou simple à faire serait de faire un petit menu dans le genre:
    1-Tri insertion
    2-...Selection
    3-... Bulle
    comme ça un entier correpondra au tri choisi.
    Alors conseil:
    1-Pour les entrées sur la sortie standart utilises plutot readln au lieu de read
    2-Dans ta procedure lecture :tu lis 100 entiers sans préciser a l'utilisateur le nombre d'entiers qu'il devra entrer ,tu imagines 100 s'il n'est pas au courant il va se demander s'il n'est pas dans une boucle infinie(tu peux en fixer pêut etre juste 10 ...)
    3-les 2 readln a la fin euh... un seul suffira
    .....
    cordialement

Discussions similaires

  1. Complexité de l'algorithme de Tri Fusion
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 26/03/2007, 22h04
  2. A propos des algorithmes de tri..
    Par Kerwando dans le forum C++
    Réponses: 4
    Dernier message: 19/08/2006, 11h43
  3. Probleme avec mon algorithme de tri
    Par kaygee dans le forum Langage
    Réponses: 6
    Dernier message: 09/01/2006, 21h23
  4. Réponses: 16
    Dernier message: 10/11/2005, 22h51
  5. algorithme de tri tableau :afficher que les éléments unique
    Par sofiane61 dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 31/03/2005, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo