Algorithme pseudo code

Résolu/Fermé
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018 - 9 déc. 2017 à 00:50
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 10 févr. 2018 à 11:00
Bonjour
je débute en programmation et algorithme

Je voudrais savoir si vous voyez une erreur dans mon programme :
Voici l'énoncé :
saisir un n° de 2 chiffres qui doit être compris entre 1 et 99
tant que la saisie ne correspond pas à ce qui est attendu (par exemple: si on saisit un numéro de 3 chiffres ou alors une chaine de caractères telle que "vingt trois" ou autres...), redemandez la saisie (étape précédente)
si le n° saisi est 49, affichez "vous habitez en Maine et Loire"
si le n° saisi est 85, affichez "vous habitez en Vendée"
si le n° saisi est 44, affichez "vous habitez en Loire Atlantique"
si le n° saisi est 53, affichez "vous habitez en Mayenne"
si le n° saisi est 73, affichez "vous habitez en Sarthe"
pour les autres nombres, affichez "vous n'habitez pas dans les Pays de Loire"

ma solution :

VAR
    nombre entier, département

DEBUT
    Afficher "Saisir un numero de 2 chiffres qui doit petre compris entre 1 et 99"
    Saisir nombre 2 chiffres
    
    Afficher "Entrer votre département"
    Saisir dept
    Selon dept
    Si (49)
        Afficher "Vous habitez en Maine et Loire"
    Si (85)    
        Afficher "Vous habitez en Vendée"
    Si (44)
        Afficher "Vous habitez en Loire Atlantique"
    Si (53)
        Afficher "Vous habitez en Mayenne"
    Si (73)
        Afficher "Vous habitez en Sarthe"
        
    Sinon
    
    Afficher "Vous n'habitez pas dans les Pays de la Loire"
    
    Fin selon
    
FIN


Merci de votre aide
A voir également:

10 réponses

Grandasse_ Messages postés 924 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 27 avril 2023 592
9 déc. 2017 à 02:49
Bonjour,
Je ne vois pas d'erreur de logique, à part que "dept" et "département" on l'air d'être la même chose.
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
Modifié le 9 déc. 2017 à 07:23
Bonjour, si on pouvait parler syntaxe en pseudo-code, il y a un petit truc, avec le selon: on ne sais pas où il s'arrête. Et en plus ton indentation n'aide pas à s'y retrouver

Tel que c'est écrit on peut très bien comprendre qu'il ne fait qu'une ligne, exemple avec 85

    Selon dept 'ne fait rien, puisqu'il ne fait qu'une ligne
    Si (49)'non
        Afficher "Vous habitez en Maine et Loire" 
    Si (85) 'oui, on affiche
        Afficher "Vous habitez en Vendée"
    Si (44)'non
        Afficher "Vous habitez en Loire Atlantique"
    Si (53)'non
        Afficher "Vous habitez en Mayenne"
    Si (73)'non, c'est pas 73, mais comme y'a un sinon, on va afficher l'autre phrase
        Afficher "Vous habitez en Sarthe"
        
    Sinon

   Afficher "Vous n'habitez pas dans les Pays de la Loire"


Avec une Fin Selon et une indentation cohérente, ça ne porte plus à confusion
    Selon dept
      Si (49)
          Afficher "Vous habitez en Maine et Loire"
      Si (85)    
          Afficher "Vous habitez en Vendée"
      Si (44)
          Afficher "Vous habitez en Loire Atlantique"
      Si (53)
          Afficher "Vous habitez en Mayenne"
      Si (73)
          Afficher "Vous habitez en Sarthe"   
      Sinon
          Afficher "Vous n'habitez pas dans les Pays de la Loire"
   Fin selon

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018
9 déc. 2017 à 15:51
bonjour merci pour vos réponse,

ok whismeril jai repris t remarques pour mieux indenter :

VAR
    nombre entier, département

DEBUT
    Afficher "Saisir un numero de 2 chiffres qui doit etre compris entre 1 et 99"
    Saisir nombre 2 chiffres
    
    Afficher "Entrer votre département"
    Saisir département

    Selon département
       Si (49)
            Afficher "Vous habitez en Maine et Loire"
       Si (85)    
            Afficher "Vous habitez en Vendée"
       Si (44)
            Afficher "Vous habitez en Loire Atlantique"
       Si (53)
            Afficher "Vous habitez en Mayenne"
       Si (73)
            Afficher "Vous habitez en Sarthe"   
      Sinon
           Afficher "Vous n'habitez pas dans les Pays de la Loire"
   Fin selon
    
FIN


merci
cdlt
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
9 déc. 2017 à 17:38
De rien
0
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018
11 déc. 2017 à 01:48
C'est encore moi, j'ai oublié une partie qui est demandé dans l’énoncé : tant que la saisie ne correspond pas à ce qui est attendu (par exemple: si on saisit un numéro de 3 chiffres ou alors une chaine de caractères telle que "vingt trois" ou autres...), redemandez la saisie (étape précédente)

voici ma dernière version avec la partie manquante

VAR
    nombre entier, département

DEBUT
    Afficher "Saisir un numero de 2 chiffres qui doit etre compris entre 1 et 99"
    Saisir nombre 2 chiffres
    
    Tant que la saisie du département n'est pas de type numérique, ou dépasse les 2 caractères, ou est inférieur ou égal à 0 => il y a erreur faire
    Afficher " Saisie erronée : recommencer.  "
    Fin tant que
    
    Afficher « Entrer votre département» 
    Saisir département 
    
    selon département 
      Si (49)
          Afficher "Vous habitez en Maine et Loire"
      Si (85)    
          Afficher "Vous habitez en Vendée"
      Si (44)
          Afficher "Vous habitez en Loire Atlantique"
      Si (53)
          Afficher "Vous habitez en Mayenne"
      Si (73)
          Afficher "Vous habitez en Sarthe"   
      Sinon
          Afficher "Vous n'habitez pas dans les Pays de la Loire"
   Fin selon
   
    
FIN


voila est ce correct?

merci
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
11 déc. 2017 à 11:23
Oui mais non
N’est pas numérique => Ok
Inférieur à zéro => Ok
Dépasse 2 caractères => tu fais comment?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018
11 déc. 2017 à 23:17
salut

oui tu as raison c'est pas complet j'ai corrigé de nouveau

VAR
nombre entier, département

DEBUT
Afficher "Saisir un numero de 2 chiffres qui doit etre compris entre 1 et 99"
Saisir nombre 2 chiffres

Tant que la saisie du département n'est pas de type numérique, ou est inférieur ou égal à 0 => il y a erreur faire
Afficher " Saisie erronée : recommencer.  "
Tant que la saisie dépasse 2 caractères si on saisit un numéro de 3 chiffres ou alors une chaine de caractères telle que "vingt trois" ou autres faire
Afficher " Saisie erronée : recommencer.  "
Fin tant que

Afficher « Entrer votre département»
Saisir département

selon département
Si (49)
Afficher "Vous habitez en Maine et Loire"
Si (85)
Afficher "Vous habitez en Vendée"
Si (44)
Afficher "Vous habitez en Loire Atlantique"
Si (53)
Afficher "Vous habitez en Mayenne"
Si (73)
Afficher "Vous habitez en Sarthe"
Sinon
Afficher "Vous n'habitez pas dans les Pays de la Loire"
Fin selon
Fin si


FIN


est ce que tu vois des erreurs? je sais pas si c'est correct de mettre 2 fois Tant que..

Merci
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
12 déc. 2017 à 00:10
Pour le coup là c'est moins bien.

une chaine de caractères telle que "vingt trois"
ça n'est pas "formel"
d'autant que tu as précédemment tester si la chaine est numérique.
ou autres faire
là c'est la porte ouverte à toutes les fenêtres ;).

Ton algorithme précédent était presque parfait, il fallait juste dire comment tu comptes tester qu'il s'agit d'un nombre de moins de 3 chiffres.
0
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018
12 déc. 2017 à 14:23
salut

ah oui j'ai bousillé un peu le programme la

alors j'ai rectifié

VAR
nombre entier, département

DEBUT
Afficher "Saisir un numero de 2 chiffres qui doit etre compris entre 1 et 99"
Saisir nombre 2 chiffres

Tant que la saisie du département n'est pas de type numérique, ou est inférieur ou égal à 0 => il y a erreur faire
Afficher " Saisie erronée : recommencer. "
Tant que la saisie dépasse 2 caractères si on saisit un numéro de 3 chiffres faire
Afficher " Saisie erronée : recommencer. "
Fin tant que

Afficher « Entrer votre département»
Saisir département

selon département
Si (49)
Afficher "Vous habitez en Maine et Loire"
Si (85)
Afficher "Vous habitez en Vendée"
Si (44)
Afficher "Vous habitez en Loire Atlantique"
Si (53)
Afficher "Vous habitez en Mayenne"
Si (73)
Afficher "Vous habitez en Sarthe"
Sinon
Afficher "Vous n'habitez pas dans les Pays de la Loire"
Fin selon
Fin si



FIN[/code]


merci whishemeril pour ton aide, j'espere que mon programme est ok ;)
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
12 déc. 2017 à 15:10
Oui, mais y a un tout peu petit peu plus simple

Tant que la saisie du département n'est pas de type numérique,  ou est inférieur ou égal à 0  ou est supérieur à 99=> il y a erreur faire
Afficher " Saisie erronée : recommencer. "
Fin tant que
0
baladur13 Messages postés 46380 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 18 avril 2024 13 210
Modifié le 12 déc. 2017 à 15:45
Bonjour,
Je pinaille... mais :
- Quid des départements d'outre mer
971 : Guadeloupe - 972 : Martinique - 973 : Guyane - 974 : La Réunion et 976 : Mayotte
Et le cas de la Corse... qui n'est pas 20, mais
2A : Corse-du-Sud - 2B : Haute-Corse
et depuis peu le cas du Rhône où l'INSSE a introduit 69D : Rhône
69M : Métropole de Lyon
https://fr.wikipedia.org/wiki/D%C3%A9partement_fran%C3%A7ais


 Très difficile d'attraper un chat noir dans une pièce sombre.
                              Surtout quand il n'y est pas...
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
12 déc. 2017 à 16:40
Salut Ed, dans la vraie vie tu aurais parfaitement raison, mais là il s’agit d’un exercice dont l’énoncé stipule clairement que le numéro de département doit être formaté avec 2 chiffres.
0
baladur13 Messages postés 46380 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 18 avril 2024 13 210 > Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024
12 déc. 2017 à 16:47
C'est bien pour cela que je me déclare "pinailleur".
Les cas d'école sont malheureusement, trop souvent, éloignés de la réalité du terrain.
0
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018
12 déc. 2017 à 16:38
ah oui en effet whismeril c'est encore mieux.

et voici la version finale :

VAR
nombre entier, département

DEBUT
Afficher "Saisir un numero de 2 chiffres qui doit etre compris entre 1 et 99"
Saisir nombre 2 chiffres

Tant que la saisie du département n'est pas de type numérique, ou est inférieur ou égal à 0 ou est supérieur à 99=> il y a erreur faire
Afficher " Saisie erronée : recommencer. "
Tant que la saisie dépasse 2 caractères si on saisit un numéro de 3 chiffres faire
Afficher " Saisie erronée : recommencer.  "
Fin tant que

Afficher « Entrer votre département»
Saisir département

selon département
Si (49)
Afficher "Vous habitez en Maine et Loire"
Si (85)
Afficher "Vous habitez en Vendée"
Si (44)
Afficher "Vous habitez en Loire Atlantique"
Si (53)
Afficher "Vous habitez en Mayenne"
Si (73)
Afficher "Vous habitez en Sarthe"
Sinon
Afficher "Vous n'habitez pas dans les Pays de la Loire"
Fin selon
Fin si



FIN


merci bcp pr ton aide
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
12 déc. 2017 à 17:26
Mais non,
Si tu vérifies que la saisie est numerique, n’est pas inférieure à 1 et n’est pas supérieure à 99, il n’y a pas besoin d’autres tests.

« Vingt trois » n’est pas numérique et 101 est supérieur à 99, donc pas besoin de compter les caractères
0
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018
12 déc. 2017 à 21:39
ok whismeril, si je comprend bien je supprime : Tant que la saisie dépasse 2 caractères si on saisit un numéro de 3 chiffres faire
Afficher " Saisie erronée : recommencer. " ?
tu as raison je trouve ca logique en plus,

merci
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
12 déc. 2017 à 21:53
Voila
0
moon136 Messages postés 71 Date d'inscription samedi 12 août 2017 Statut Membre Dernière intervention 17 avril 2018
12 déc. 2017 à 22:01
ok merci bcp pour ton aide et t conseils ;)
0
alphaamadoudiallo275 Messages postés 1 Date d'inscription samedi 10 février 2018 Statut Membre Dernière intervention 10 février 2018
10 févr. 2018 à 10:56
tu pouvais aussi utiliser (cas de variable)
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
10 févr. 2018 à 11:00
BONJOUR si si quand on débarque dans une discussion close depuis 2 mois, un peu de politesse est la bienvenue.

En pseudo code il n'y a pas de syntaxe universelle. Par conséquent, ce que lui appelle "selon" est probablement ce que toi tu appelles "cas de variable".
0