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

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 : 28
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 : 22
Localisation Localisation : Cellule AFPA
Humeur Humeur : Gone

Voir le profil de l'utilisateur https://www.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 : 28
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 : 35
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

Revenir en haut

- Sujets similaires

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