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

Algorithmes et structures de données Discussion :

Problème algorithme de recensement


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Par défaut Problème algorithme de recensement
    Bonjour tout le monde.

    Je suis en train de réaliser un algo sur un petit programme contenant le Nom prénom et âge de personnes.

    Tout d'abord l'interface:

    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
    Variable Choix en Entier Simple
    Variable Prénom en caractère
    Variable Nom en caractère
    Variable Age en Entier Simple
     
    Début
     
    Ecrire "1. Affichage des valeurs actuelles"
    Ecrire "2. Saisir de nouvelles valeurs"
    Ecrire "3. Trier les valeurs actuelles"
    Ecrire "4. Statistiques"
    Ecrire "5. Effacer les valeurs actuelles"
    Ecrire "Veuillez faire votre choix (entre 1 et 5):"
    Lire Choix
     
    Tantque Choix < 1 OU > 6
     
    Lire Choix
     
    Si choix < 1 OU > 6 alors écrire "Saisie erronée veuillez recommencer"
     
    Finsi
    Fintantque
    J'aimerai tout simplement savoir si le début de cet algo est juste.

    Pour le menu affichage il est demandé d'afficher les valeurs Prénom Nom et âge en ligne puis les variables en colonne.

    La solution serait donc de déclarer un tableau

    Tableau recensement()
    Prénom <- Prénom
    Nom <- Nom
    Age <- Age

    Avec les variables Lues si choix=2

    Donc voila j'aimerai simplement savoir si je ne suis pas en train de me planter royalement. Ceci étant mon premier exercice d'algo en autoformation ce n'est pas évident.

    Merci pour vos futures réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut
    Il me semble que Prenom et Nom seraient mieux en tant que chaine (string).
    Admettons que le premier choix venu soit 0, alors il y aura un deuxième Lire choix à faire sans qu'on le sache. Puis si on est dans la boucle, alors le choix est mauvais donc le si semble superflu.
    Voilà quelques remarques mais il faut un début à tout.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Par défaut
    Merci Saint Louis de tes conseils j'avance petit à petit.

    Voici mon code actuel.

    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
    Algo
     
    Variable Choix en Entier Simple
    Variable Prénom en caractère
    Variable Nom en caractère
    Variable Age en Entier Simple
     
    Début
     
    Ecrire "1. Affichage des valeurs actuelles"
    Ecrire "2. Saisir de nouvelles valeurs"
    Ecrire "3. Trier les valeurs actuelles"
    Ecrire "4. Statistiques"
    Ecrire "5. Effacer les valeurs actuelles"
     
    Lire "Veuillez faire votre choix (entre 1 et 5):"
     
     
    Tantque Choix < 1 ET > 6 Ecrire "Saisie erronée veuillez recommencer"
     
    Lire Choix
     
    Fintantque
     
    Si Choix=1
     
    Variable Total en caractère
    Ouvrir "recensement.txt" sur 5 en lecture
    Tantque Non EOF(5)
    Lire 5, Total
    Ecrire Total
     
    Sinon
     
    Si Choix=2
     
    Ouvrir "recensement.txt" sur 3 en ajout
    Variable Total en caractère
    Variables Nom*20, Prénom*15, Age*3 en caractère
     
    Ecrire "Entrez un nom"
    Nom <- Nom
    Ecrire "Entrez un prénom"
    Prénom <- Prénom
    Ecrire "Entrez l'âge"
    Age <- Age
    Total <- Nom & Prénom & Age
     
    Ecrire "Valeurs correctement ajoutées"
     
    Sinon
     
    Si Choix=3
     
    Trier par Nom
    Trier par Age
     
    Sinon
     
    Si Choix=4
     
    Personne la plus agée
    Personne la moins agée
    Nombre de personnes entre x et y ans
     
    Sinon
     
    Si Choix=5
     
    Supprimer toutes les valeurs
    Si quelqu'un pourrait me donner son avis la dessus ça serait sympa. Il me faut trouver comment trier et effectuer des recherches si quelqu'un aurait une petite piste. Je vais voir mon ami google en attendant.

    Merci d'avance

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Par défaut
    pour commencer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tantque choix < 1 OU choix > 5 ...
    et non pas ET
    aucun nombre ne sera jamais a la fois inferieur a 1 et superieur a 5 ...

    et c'est 5 c'est pas 6 .. ou alors il faut mettre >=


    ensuite .. a la place de faire toute tes conditions ...

    tu peut faire un "cas parmis" ( un switch en C )

    come ça :

    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
     
     
    cas choix parmis :
    1 : {
        Variable Total en caractère
        Ouvrir "recensement.txt" sur 5 en lecture
        Tantque Non EOF(5)
        Lire 5, Total
        Ecrire Total
         }
    2 : {
        Ouvrir "recensement.txt" sur 3 en ajout
        Variable Total en caractère
        Variables Nom*20, Prénom*15, Age*3 en caractère
     
        Ecrire "Entrez un nom"
        Nom <- Nom
        Ecrire "Entrez un prénom"
        Prénom <- Prénom
        Ecrire "Entrez l'âge"
        Age <- Age
        Total <- Nom & Prénom & Age
     
        Ecrire "Valeurs correctement ajoutées"
        }
    3 : {
        Trier par Nom
        Trier par Age
         }
    4:{
        Personne la plus agée
        Personne la moins agée
        Nombre de personnes entre x et y ans
        }
    5:{
        Supprimer toutes les valeurs
         }
    apres savoir comment trier ou effectuer des recherches ....
    ça depend beaucoup de la structure de donnée que tu veut utiliser ....

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Par défaut
    Merci Observeur, évidement c'était un OU et non pas un ET.

    Je continu mon chemin avec le tri.

    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
    3 : {
     
        Trier par Nom
     
    Structure personne
    Nom en caractère * 20
    Prénom en caractère * 15
    Age en caractère *3
    Fin structure personne
     
    Ouvrir "Recensement.txt sur 3 pour Lecture
    i <- i+1
    Redim tableau(i)
    Lire fichier 3, personne
    Si personne.nom > Nom et Non Inséré Alors
    tableau(i) <- personne
    Inséré <- Vrai
     
    i <- i + 1
    Redim tableau(i)
    Finsi 
    tableau(i)<- personne
    Fermer 3
     
    Ouvrir "Recensement.txt" sur 3 pour Ecriture
    Pour j <- 0 à i
    EcrireFichier 3, tableau(j)
    j suivant
    Fermer 3
    Fin
     
    Ecrire "Noms triés"
     
    Trier par âge
     
    Ouvrir "Recensement.txt sur 3 pour Lecture
    i <- i+1
    Redim tableau(i)
    Lire fichier 3, personne
    Si personne.age > Age et Non Inséré Alors
    tableau(i) <- personne
    Inséré <- Vrai
     
    i <- i + 1
    Redim tableau(i)
    Finsi
    tableau(i)<- personne
    Fermer 3
     
    Ouvrir "Recensement.txt" sur 3 pour Lecture
    Pour j <- 0 à i
    EcrireFichier 3, tableau(j)
    j suivant
    Fermer 3
    Fin
         }

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Par défaut
    Est ce que quelqu'un pourrait m'expliquer comment à partir d'un fichier séquentiel mettre le nom prénom et âge dans un tableau? Dans une case le nom puis dans la deuxième le prénom puis la dernière l'âge... ce qui me permettre de faire un tri à bulle par la suite

Discussions similaires

  1. Problème algorithme conversion!
    Par braver-man dans le forum Débuter
    Réponses: 3
    Dernier message: 20/11/2010, 19h20
  2. Problème algorithme tri à bulle
    Par sushis dans le forum VB.NET
    Réponses: 7
    Dernier message: 21/12/2009, 23h02
  3. problème algorithme de tri
    Par tubaas dans le forum MATLAB
    Réponses: 1
    Dernier message: 16/12/2009, 12h55
  4. Problème algorithme de comptage
    Par alex4444 dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 02/02/2008, 10h08
  5. problème algorithme récursif
    Par seb888 dans le forum Général Java
    Réponses: 11
    Dernier message: 04/06/2005, 21h35

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