(Spoiler) Proposotion d'algo pour le tri bulle...

Voir le sujet précédent Voir le sujet suivant Aller en bas

(Spoiler) Proposotion d'algo pour le tri bulle...

Message par GrlSidious (Vince) le Mar 24 Mai - 10:59

ETAPE 1

Trier un tableau

Etape2
Type:

chaine tableau[n]caractère
n=80
finchar = "."
temp : entier


Etape3
tests
12354.      ==>  12345
12/15/27/5. ==>  5/12/15/27
321.        ==>  123
465.23      ==>  456

Etape 4

ProcedureTrier(entrée tableau:chaine, sortie tableau:chaine)
// La procedure va trier un tableau et le sauvegarder pour le rendre trié
//entrée: tableau
//sortie: tableau trié

Etape 5

Début

Ecrire("Donnez votre tableau a trier: ")
Lire tableau

ProcedureTrier(tableau, tableau)

Ecrire("voici le tableau trié: "+ tableau)

Fin

Etape 6 

Début
i:=1
j:=2
temp:=0
Repeter
Si tableau[i]<tableau[j] et tableau[j]<>finchar alors
i:=i+1
j:=j+1

Sinon 
temp:=tableau[i] tableau[i]:=tableau[j] et tableau[j]:=temp
i:=1
j:=2
Finsi
Jusqu'a tableau[i]<tableau[j] et tableau[j]=finchar

Fin
avatar
GrlSidious (Vince)
Admin

Messages : 58
Karma Karma : 53
Date d'inscription Date d'inscription : 23/05/2016
Age Age : 27
Localisation Localisation : Grenoble
Humeur Humeur : Fiora top 4 ever

Voir le profil de l'utilisateur https://fr.wiktionary.org/wiki/connard

Revenir en haut Aller en bas

Re: (Spoiler) Proposotion d'algo pour le tri bulle...

Message par Samy.C le Mar 24 Mai - 11:17

Je suis parti la dessus perso :

Code:
1-
Entrée                                           Sortie

Tableau----------------->TriRemonteedesBulles---->TableauTrie
NombreElementsTableau--->

2-
Définir Type Chaine
N=80
Chaine = Tableau[N] Entiers

3-

/               Tableau            /     NombreElementsTableau    /  Tableau Trié  /
/             5 1 4 2 8           /            5            /    1 2 4 5 8    /
/               ' '              /            0           /      ''        /
/            9 9 9 9              /           4           /     9 9 9 9    /
/            1 2 3 4              /           4           /     1 2 3 4    /
/            4 3 2 1              /           4           /     1 2 3 4    /

4-
Outils
procédure TriRemonteedesBulles(entrée sortie Table:chaine,entée NombreElementsTableau:entier)
// Cette procédure permet d'effectuer un tri par remontée des bulles
// Tableau est le tableau d'origine
// NombreElementsTableau représente le nombre de valeurs contenues dans le tableau

procédure RemplirTableau(sortie NombreElementsTableau, sortie Table)
// Cette procédure permet de remplir un tableau
// NombreElementsTableau représente le nombre de valeurs contenues dans le tableau
// Table est le tableau rempli

procédure AfficherTableau(entrée Table)
// Cette procédure permet d'afficher le contenu d'un tableau

5-
Programme

Constantes
N=80            //Longeur max du tableau

Type
chaine=tableau[N]Entiers // Type des entiers traités

Variables
Table : chaine // Tableau d'entier à trier
NombreElementsTableau : entier // Nombre de valeurs utile du tableau
ValeursDejaEntrées : entier // Nombre de valeurs déja entrées dans le tableau

Outils
procédure TriRemonteedesBulles(entrée sortie Table:chaine,entée NombreElementsTableau:entier)
// Cette procédure permet d'effectuer un tri par remontée des bulles
// Tableau est le tableau d'origine
// NombreElementsTableau représente le nombre de valeurs contenues dans le tableau

procédure RemplirTableau(sortie NombreElementsTableau, sortie Table)
// Cette procédure permet de remplir un tableau
// NombreElementsTableau représente le nombre de valeurs contenues dans le tableau
// Table est le tableau rempli

procédure AfficherTableau(entrée Table)
// Cette procédure permet d'afficher le contenu d'un tableau

Debut


   RemplirTableau(NombreElementsTableau,Table)
   TriRemonteedesBulles(Table,NombreElementsTableau)
   AfficherTableau(Table)
Fin

6-
procédure RemplirTableau(sortie NombreElementsTableau, sortie Table)

Debut

   ValeursDejaEntrées=0

   Repeter
      ecrire("Nombre de valeurs : ")
      lire(NombreElementsTableau)
   Jusqu'a 0<NombreElementsTableau<N
   
      Repeter
         ecrire("Valeurs du tableau : ")
         lire(Table[ValeursDejaEntrées])
         ValeursDejaEntrées:=ValeursDejaEntrées+1
      Jusqu'a NombreElementsTableau=ValeursDejaEntrées
Fin

procédure AfficherTableau(entrée Table)

Variables

i : entier //Indice de parcours de la phrase

Debut
   i:=1
   Repeter
      ecrire("Valeur",i," du tableau : ")
      ecrire(Table[i])
      i:=i+1
   Jusqu'a i=NombreElementsTableau
Fin

procédure TriRemonteedesBulles(entrée Tableau:chaine,entée NombreElementsTableau:entier, sortie TableauTrie:chaine)

Variables

i : entier //Indice de parcours de la phrase
Temporaire : entier // Valeur du tableau à garder en mémoire
Inversion : booleen // Indique si il y a eu une inversion lors du parcours
Debut

   Repeter
   
      i:=1
      Inversion:=FAUX
      Tantque i<NombreElementsTableau faire
         
         Si Table[i]>Table[i+1] alors
            Temporaire:=Table[i]
            Table[i]:=Table[i+1]
            Table[i+1]:=Temporaire
            Inversion:=VRAI
         FinSi
      
         i:=i+1
      
      FinTantque
      
   Jusqu'a Inversion=FAUX

Fin
avatar
Samy.C

Messages : 42
Karma Karma : 55
Date d'inscription Date d'inscription : 24/05/2016
Age Age : 21
Localisation Localisation : Cellule AFPA
Humeur Humeur : Gone

Voir le profil de l'utilisateur http://youtube.com/sonicdbzfan07

Revenir en haut Aller en bas

FAUX!

Message par GrlSidious (Vince) le Ven 27 Mai - 8:37

Donc apparemment j'ai faux, enfin c'est vrai que j'ai faux.
Pour le tri bulle il faut au moins 3 procédures....
My bad... 
(dédicace a Marie)
avatar
GrlSidious (Vince)
Admin

Messages : 58
Karma Karma : 53
Date d'inscription Date d'inscription : 23/05/2016
Age Age : 27
Localisation Localisation : Grenoble
Humeur Humeur : Fiora top 4 ever

Voir le profil de l'utilisateur https://fr.wiktionary.org/wiki/connard

Revenir en haut Aller en bas

Re: (Spoiler) Proposotion d'algo pour le tri bulle...

Message par Benjamin le Ven 27 Mai - 8:47

lol! lol!
avatar
Benjamin
Admin

Messages : 30
Karma Karma : 3
Date d'inscription Date d'inscription : 23/05/2016
Age Age : 34
Localisation Localisation : Roanne

Voir le profil de l'utilisateur http://devafpa2016.forumofficiel.fr

Revenir en haut Aller en bas

Re: (Spoiler) Proposotion d'algo pour le tri bulle...

Message par pierC le Ven 27 Mai - 8:52

le mien 
TRIER UN TABLEAU METHODE DE REMONTEE DES BULLES 

1
tableaudonnées -> Trier -> tableautrié
taille

2 Types des informations 
N = 80 
table = tableau [n] entier //nombre d'entier dans le tableau 

3 jeu d'essai 
1 2 3 4 5   | 5 | 1 2 3 4 5
5 4 3 2 1 | 5 | 1 2 3 4 5
3 4 5 1 2 | 5 | 1 2 3 4 5
1 23 5 4 | 4 | 1 4 5 23
1 | 1 | 1
_ | 0 | _

procédures
Entrer Valeurs (entrée tabent: table, entrée taille : entier)
//Entrer valeurs permet d'entrer le nombre de valeurs à saisir et les valeurs

Trier (entrée sortie tabent : table, entrée taille : entier)
//trier permet de trier un tableau dans l'ordre croissant
//tabent sont les données composant le tableau
//taille permet de connaitre le nb de données dans le tableau
//tabent est le tableau trié

5 programme Trier_un_tableau_en_ordre_croissant
constante
N = 80
type 
table = tableau [n] entier 
variable 
tabent : table//tableau à trier
taille : entier //nb d'entier dans le tableau 


début

Entrer valeurs (tabent, table)

Trier (tabent, taille)

Afficher (tabent, taille)

Fin


Procédure Entrer valeurs (entrée tableau : table, entrée taille : entier)  //permet de connaître la taille du tableau et son contenu
Début
répéter 
Ecrire ("Entrez le nombre de valeurs à saisir: ")       //indique la taille du tableau 
lire(taille)
jusqu'à  taille <= N et taille >= 0  
i = 0 
tant que i <= taille faire 
tabent[i] := tabent[i + 1] 
Ecrire ("Entrez un nombre : ")
lire(tabent[i])
fin tant que 
Fin 


Procédure Entrer valeurs (sortie tableau : table, sortie taille : entier)  //permet de connaître la taille du tableau et son contenu
Début
répéter 
Ecrire ("Entrez le nombre de valeurs à saisir entre 1 et " + N + ": ")       //indique la taille du tableau 
lire(taille)
jusqu'à  taille <= N et taille > 0  
i = 0 
tant que i <= taille faire 
tabent[i] := tabent[i + 1] 
Ecrire ("Entrez un nombre : ")
lire(tabent[i])
fin tant que 
Fin 

procédure trier (entrée sortie tabent : table, entrée taille : entier)   //trie le tableau 
variable 
i : entier //premier indice de parcours 
j : entier //deuxième indice de parcours 
temp : entier //variable temporaire 
inversion : booléen // condition de sortie de la boucle

Début
i := 1 //position sur le premier chiffre
taille := 0
inversion := faux

répéter

Tant que  tableau[i] <> taille faire 

si tableau[i] > tableau[j] alors             //compare les valeurs du tableau 
temp := i 
i := j
j := temp

inversion := vrai

finsi

i := i+1
j := j+1

Fin tant que 
jusqu'à non inversion 
Fin

procédure afficher (entrée/sortie tabent : table) 
variable
i : entier 

Debut
  i:=1
    Repeter
        ecrire(Table[i])
        i:=i+1
        Jusqu'a i = taille
Fin

avatar
pierC

Messages : 5
Karma Karma : 0
Date d'inscription Date d'inscription : 25/05/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: (Spoiler) Proposotion d'algo pour le tri bulle...

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum