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 :

Formaliser une idée en pseudo-code


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 35
    Points : 34
    Points
    34
    Par défaut Formaliser une idée en pseudo-code
    Bonjour, je voudrais d'abord savoir certaines choses générales que je ne trouve nul part sur les sites, en tout cas rien de clair la-dessus.
    Dans un pseudo-code, peut-on ecrire "Fonction main() en Void"? le void doit être indiqué?
    A la fin du main, doit-on écrire "Renvoyer 0" pour exprimer un return 0; ?

    Les types de variables: est-ce qu'on peut dire "Mavariable en float" ou doit-on regrouper tous les int, float, long...en Numérique?

    Et enfin, est-ce que cette fonction est bien écrite selon vous?
    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
     
    Fonction ChoisirPompes(ChoixPompes[] en entier)
    Variables Reponse1[4], Reponse2[4], Reponse3[4] en Caractère
    Variables test en Entier
     
    Tantque test =1
    test ← 0
    Ecrire "Mettre en marche la pompe 1 ? Saisir oui ou non: "
    Lire Reponse1
    Ecrire "Mettre en marche la pompe 2 ? Saisir oui ou non: "
    Lire Reponse2
    Ecrire "Mettre en marche la pompe 3 ? Saisir oui ou non: "
    Lire Reponse3
     
    Si Reponse1 = « oui »
    ChoixPompes[0]1
    SinonSi Reponse1 = « non »
    ChoixPompes[0]0 
    Sinon
    test ←1
    Finsi
     
    Si Reponse2 = « oui »
    ChoixPompes[1]1
    SinonSi Reponse2 = « non »
    ChoixPompes[1]0 
    Sinon
    test ←1	
    Finsi
     
    Si Reponse3 = « oui »
    ChoixPompes[2]1
    SinonSi Reponse3 = « non »
    ChoixPompes[2]0
    Sinon
    test ←1
    Finsi
     
    Renvoyer ChoixPompes
    Finfonction
    Le Tantque ne peut pas être écrit autrement je pense, il s'agit de plusieurs chaines de caractères et donc ça complique les choses.
    Je sais que le pseudo-code n'est pas strict mais il doit y avoir des normes. Je veux être sur de ce que j'écris car je suis sur un devoir.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Je ne vois pas la fin du "TANT QUE", mais le test est faux de toute façon.
    Seule la réponse à la troisième question est prise en compte pour sortir de la boucle.

    Pour les autres question, je pense que VOID, FLOAT... c'est du C, pas du pseudo-code.

    Tatayo.

  3. #3
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Citation Envoyé par Kawamx Voir le message
    Bonjour, je voudrais d'abord savoir certaines choses générales que je ne trouve nul part sur les sites, en tout cas rien de clair la-dessus.
    Dans un pseudo-code, peut-on ecrire "Fonction main() en Void"? le void doit être indiqué?
    A la fin du main, doit-on écrire "Renvoyer 0" pour exprimer un return 0; ?
    Bonjour,

    Une bonne nouvelle : en pseudo-code tu écris un peu comme tu veux car le pseudo code n'a pas vocation à être «compilé», sa seule vocation est de faire comprendre une démarche en la formalisant un tout petit peu. Ce n'est que l'étape entre un texte brut en français et du «vrai» code. Il y a juste quelques contraintes, en gros il faut que ton pseudo-code soit cohérent autant d'un point de vue présentation que d'un point de vue structure ; il faut aussi qu'il soit compréhensible par un autre humain. Si on prend ton exemple on voit qu'il n'est pas cohérent : Tu dis que main est une fonction qui renvoie Void, cela signifie, car j'imagine que tu fais du C ou un langage dérivé, qu'elle ne renvoie pas de valeur, alors pourquoi voudrais-tu lui faire renvoyer une valeur ?

    Citation Envoyé par Kawamx Voir le message
    Les types de variables: est-ce qu'on peut dire "Mavariable en float" ou doit-on regrouper tous les int, float, long...en Numérique?
    Tu fais comme tu veux, le tout étant que ce soit compréhensible. Évidemment quand tu écris un algo tu le fais pour l'implémenter ensuite (en général) et tu sais à priori dans quel langage tu vas le faire et ça a automatiquement une petite influence.
    Si tu dois utiliser un type entier et que le langage cible n'en possède qu'un alors ne t'en préoccupe pas. Par exemple python n'a qu'un type entier qui est un entier en précision arbitraire, alors que C a beaucoup de types entiers et là il faudra peut-être préciser mais dans les deux cas tu pourras faire la distinction entre entier et réel. En revanche si tu fais du SQL alors la distinction n'a plus lieu d'être …

    Citation Envoyé par Kawamx Voir le message
    Et enfin, est-ce que cette fonction est bien écrite selon vous?
    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
     
    Fonction ChoisirPompes(ChoixPompes[] en entier)
    Variables Reponse1[4], Reponse2[4], Reponse3[4] en Caractère
    Variables test en Entier
     
    Tantque test =1
    test ← 0
    Ecrire "Mettre en marche la pompe 1 ? Saisir oui ou non: "
    Lire Reponse1
    Ecrire "Mettre en marche la pompe 2 ? Saisir oui ou non: "
    Lire Reponse2
    Ecrire "Mettre en marche la pompe 3 ? Saisir oui ou non: "
    Lire Reponse3
     
    Si Reponse1 = « oui »
    ChoixPompes[0]1
    SinonSi Reponse1 = « non »
    ChoixPompes[0]0 
    Sinon
    test ←1
    Finsi
     
    Si Reponse2 = « oui »
    ChoixPompes[1]1
    SinonSi Reponse2 = « non »
    ChoixPompes[1]0 
    Sinon
    test ←1	
    Finsi
     
    Si Reponse3 = « oui »
    ChoixPompes[2]1
    SinonSi Reponse3 = « non »
    ChoixPompes[2]0
    Sinon
    test ←1
    Finsi
     
    Renvoyer ChoixPompes
    Finfonction
    Le Tantque ne peut pas être écrit autrement je pense, il s'agit de plusieurs chaines de caractères et donc ça complique les choses.
    Je sais que le pseudo-code n'est pas strict mais il doit y avoir des normes. Je veux être sur de ce que j'écris car je suis sur un devoir.
    Non car ton indentation est inexistante, Ensuite l'algo en lui-même est maladroit. En vrac on pourrait dire que : test n'est pas initialisé avant son premier accès, trop de répétition = copié/collé : tu fais 4 fois la même chose dans ce cas on écrit des fonctions, pourquoi renvoyer une valeur ?, …

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 35
    Points : 34
    Points
    34
    Par défaut
    Merci pour vos réponses. En effet il manque le FinTantQue. Et j'ai mis la variable test dans le TantQue pour que le test redevienne vrai à chaque tour de boucle, jusqu'à avoir les 3 réponses vraies et sortir de la boucle. Il faut tout de même l'initialiser avant le TantQue? Je ne vois pas pourquoi en fait.

  5. #5
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    La première fois que tu entres dans la boucle tant que, quelle est la valeur de test ?

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Tu dis "jusqu'à avoir les 3 réponses "Vraies" "

    Cette phrase est très importante.
    En fait tu nous a demandé de valider un pseudo-code. Valider un pseudo-code, ça veut dire : Est-ce que le programme va fonctionner conformément au cahier des charges.

    Et c'est seulement maintenant que tu donnes une partie du cahier des charges.

    Ici, on ne sait pas ce que le programme est censé faire ; donc impossible de te dire si ça correspond au cahier des charges.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

Discussions similaires

  1. Logiciel pour ranger et classer ses codes source. Une idée?
    Par Spidyy dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 25/06/2016, 13h55
  2. Coder une fonction MD5 a partir du pseudo code.
    Par geek-59600 dans le forum C
    Réponses: 4
    Dernier message: 15/03/2011, 18h25
  3. pb de code "" recuperer une valeur ""une idée !!
    Par moonia dans le forum Langage
    Réponses: 21
    Dernier message: 05/05/2006, 15h14
  4. [ImageMagick] Comment générer une image d'un code à entrer ?
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 16/01/2005, 21h29
  5. Retirer une clé primaire par code
    Par Arrown dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2004, 15h15

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