Algorithme simple
Fermé
fmiram
Messages postés
5
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
3 juin 2009
-
3 juin 2009 à 08:43
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 - 3 juin 2009 à 10:43
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 - 3 juin 2009 à 10:43
A voir également:
- Algorithme simple
- Iphone 14 simple - Guide
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Organigramme simple - Guide
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
13 réponses
Jodu
Messages postés
91
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
3 juin 2009 à 09:57
3 juin 2009 à 09:57
Salut,
l'algo en général m'a l'air bon, mais pas à 100%.
J'ai pas encore pris mon café, je peux me tromper.
Une fois que l'utilisateur a saisi son numéro d'article, admettons il saisit 100. Le numéro est trop petit, donc on l'invite à ressaisir. Cette fois, le numéro est encore trop petit, eh bien la saisie se fait quand même dans le programme car plus de contrôle disponible (vu qu'on ne remonte pas la boucle).
Donc j'aurais fait une autre boucle disant :
Pour ta solution, le contrôle du "-1" se faisait au bout de 2 saisies, la première tu saisis -1, trop petit donc on recontrôle, tu ressaisis -1, on enregistre, on regarde la condition de la boucle, les conditions ne sont plus remplies, on quitte la boucle.
Avec ma solution, aucune échappatoire possible car la valeur doit toujours être comprise entre 1000 et 9999.
Pour ce contrôle, je propose ceci :
Il faut aussi vérifier la valeur de la quantité saisie, ce que tu n'as pas fait. Après mon code, je mettrais la même structure de contrôle "si quantité produit <= 0, alors tant que quantité produit <= 0, faire saisir Q à l'utilisateur".
C'est pas très sorcier, et je pense que tu peux y arriver seul fmiram mais en aucun cas je te donnerais une solution complète. Avec le code que je t'ai fourni tu devrais y arriver.
l'algo en général m'a l'air bon, mais pas à 100%.
J'ai pas encore pris mon café, je peux me tromper.
Une fois que l'utilisateur a saisi son numéro d'article, admettons il saisit 100. Le numéro est trop petit, donc on l'invite à ressaisir. Cette fois, le numéro est encore trop petit, eh bien la saisie se fait quand même dans le programme car plus de contrôle disponible (vu qu'on ne remonte pas la boucle).
Donc j'aurais fait une autre boucle disant :
demander "numero article" art <- valeur saisie par l'utilisateur si art < 1000 ou art > 9999 tant que art < 1000 ou art > 9999 demander "numéro article" art <- valeur saisie par l'utilisateur fin tant que fin si
Pour ta solution, le contrôle du "-1" se faisait au bout de 2 saisies, la première tu saisis -1, trop petit donc on recontrôle, tu ressaisis -1, on enregistre, on regarde la condition de la boucle, les conditions ne sont plus remplies, on quitte la boucle.
Avec ma solution, aucune échappatoire possible car la valeur doit toujours être comprise entre 1000 et 9999.
Pour ce contrôle, je propose ceci :
demander "numero article" art <- valeur saisie par l'utilisateur si art = -1 afficher "procédure terminée" sortir du tant que fin si si art < 1000 ou art > 9999 tant que art < 1000 ou art > 9999 demander "numéro article" art <- valeur saisie par l'utilisateur fin tant que fin si
Il faut aussi vérifier la valeur de la quantité saisie, ce que tu n'as pas fait. Après mon code, je mettrais la même structure de contrôle "si quantité produit <= 0, alors tant que quantité produit <= 0, faire saisir Q à l'utilisateur".
C'est pas très sorcier, et je pense que tu peux y arriver seul fmiram mais en aucun cas je te donnerais une solution complète. Avec le code que je t'ai fourni tu devrais y arriver.
Jodu
Messages postés
91
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
3 juin 2009 à 10:10
3 juin 2009 à 10:10
De rien Fmiram, bon courage pour ton exam (BTS ? Bac STG ?)
Brachior : j'aime pas le "tant que ( art != -1 OU ( art >= 1000 ET art <= 9999) )"
tu dois mettre un ET, car si tu saisis 10, tu rentres dans la boucle.
Et tu fais de l'anglais (do) et du français (faire), j'aime pas personnellement.
Je ne sais pas ce que tu voulais faire avec ton "tant que ( art != -1 )" à la fin.
Et après ta saisie de quantité que fais tu ?
Plus de précisions si possible :)
Brachior : j'aime pas le "tant que ( art != -1 OU ( art >= 1000 ET art <= 9999) )"
tu dois mettre un ET, car si tu saisis 10, tu rentres dans la boucle.
Et tu fais de l'anglais (do) et du français (faire), j'aime pas personnellement.
Je ne sais pas ce que tu voulais faire avec ton "tant que ( art != -1 )" à la fin.
Et après ta saisie de quantité que fais tu ?
Plus de précisions si possible :)
Jodu
Messages postés
91
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
3 juin 2009 à 10:43
3 juin 2009 à 10:43
Boarf tu sais l'algo, au premier abord ça effraie, on y comprend rien du tout... Mais d'un coup, la logique rentre, et là on se sent... une autre personne =D
Une fois que la logique est là, je te promet que c'est pas difficile.
La théorie des composants d'un ordi... C'est pas dur, c'est du par coeur =D
Une fois que la logique est là, je te promet que c'est pas difficile.
La théorie des composants d'un ordi... C'est pas dur, c'est du par coeur =D
fmiram
Messages postés
5
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
3 juin 2009
3 juin 2009 à 09:38
3 juin 2009 à 09:38
Voici ma réponse
art entier
Q entier
Begin
Art<---1000
Q<-----1
While Art=/= -1 do
"demander n° d'article"
Art<---Valeur entrée par utilisateur.
"demander quantité"
Q<-----Valeur entrée par utilisateur.
If Art<1000 do
"nombre trop petit"
"veuillez réintroduire une valeur"
Art<---valeur entrée par l'utilisateur
elseif Art>9999 do
"nombre trop grand"
"veuillez réintroduire une valeur"
Art<---valeur entrée par l'utilisateur
else
"ok"
end if
end if
end While
end
art entier
Q entier
Begin
Art<---1000
Q<-----1
While Art=/= -1 do
"demander n° d'article"
Art<---Valeur entrée par utilisateur.
"demander quantité"
Q<-----Valeur entrée par utilisateur.
If Art<1000 do
"nombre trop petit"
"veuillez réintroduire une valeur"
Art<---valeur entrée par l'utilisateur
elseif Art>9999 do
"nombre trop grand"
"veuillez réintroduire une valeur"
Art<---valeur entrée par l'utilisateur
else
"ok"
end if
end if
end While
end
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fmiram
Messages postés
5
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
3 juin 2009
3 juin 2009 à 10:03
3 juin 2009 à 10:03
Merci beaucoup pour ta réponse très complète.
J'avais en effet remarqué par après que je n'avais pas contrôle la quantité.
Ma structure générale n'est pas mauvaise, c'est déjà ça.
Je vais retraivaillé tout ça merci encore.
J'avais en effet remarqué par après que je n'avais pas contrôle la quantité.
Ma structure générale n'est pas mauvaise, c'est déjà ça.
Je vais retraivaillé tout ça merci encore.
Brachior
Messages postés
613
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
22 juin 2009
46
3 juin 2009 à 10:04
3 juin 2009 à 10:04
Moi j'le vois comme ca :
faire faire "Entrez un numero d'article (entre 1000 et 9999) : " art <- saisie tant que ( art != -1 OU ( art >= 1000 ET art <= 9999) ) /* ordre important */ si art != -1 "Entrez une quantite : " do qte <- saisie tant que ( qte >= 0 ) fin si tant que ( art != -1 )
Brachior
Messages postés
613
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
22 juin 2009
46
3 juin 2009 à 10:17
3 juin 2009 à 10:17
le "do" et le "faire" c'est une etourderie (programmation en C donc habitude ^^)
le "tant que ( art != -1 OU ( art >= 1000 ET art <= 9999) )" est la fin du faire
c'est un "do while" et non un "while"
ce qui fait que si tu est egale a -1 tu quitte la boucle
sinon si tu est compris entre 1000 et 9999 tu quitte la boucle.
et le "tant que (art != -1)" est aussi un "do while" et non un "while"
en fait j'ai aucun "while" mais que des "do while" car l'algo demande une saisie avant controle,
ca evite une saisie puis un test et une boucle de saisie ( ce qui double la saisie inutilement )
le "tant que ( art != -1 OU ( art >= 1000 ET art <= 9999) )" est la fin du faire
c'est un "do while" et non un "while"
ce qui fait que si tu est egale a -1 tu quitte la boucle
sinon si tu est compris entre 1000 et 9999 tu quitte la boucle.
et le "tant que (art != -1)" est aussi un "do while" et non un "while"
en fait j'ai aucun "while" mais que des "do while" car l'algo demande une saisie avant controle,
ca evite une saisie puis un test et une boucle de saisie ( ce qui double la saisie inutilement )
Jodu
Messages postés
91
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
3 juin 2009 à 10:23
3 juin 2009 à 10:23
D'accord, j'avais pas compris que c'était un do while ton premier.
Je m'écrase alors =)
Je m'écrase alors =)
Brachior
Messages postés
613
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
22 juin 2009
46
3 juin 2009 à 10:26
3 juin 2009 à 10:26
y a pas de mal ^^
c'est plus visible avec des accolades ^^
c'est plus visible avec des accolades ^^
fmiram
Messages postés
5
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
3 juin 2009
3 juin 2009 à 10:33
3 juin 2009 à 10:33
première année de bac en science de gestion à l'unnif (Belgique)
Le cours c'est informatique de gestion 1, c'est la première fois que je faisait ce genre de truc :)
Verdict à 13h30 :)
Le cours c'est informatique de gestion 1, c'est la première fois que je faisait ce genre de truc :)
Verdict à 13h30 :)
Brachior
Messages postés
613
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
22 juin 2009
46
3 juin 2009 à 10:35
3 juin 2009 à 10:35
et bien j'te souhait une grosse merde alors ;)
Jodu
Messages postés
91
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
3 juin 2009 à 10:35
3 juin 2009 à 10:35
D'accord, tu nous diras si c'est tout bon =D
J'espère tu as bien compris, si c'est un oral tu devras bien expliquer ;)
Bon courage.
Edit : grilled de 3 secondes =O
J'espère tu as bien compris, si c'est un oral tu devras bien expliquer ;)
Bon courage.
Edit : grilled de 3 secondes =O
fmiram
Messages postés
5
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
3 juin 2009
3 juin 2009 à 10:40
3 juin 2009 à 10:40
Heureusement c'est écrit :)
Ce qui n'empêche que ça va être chaud parce que c'est un des cours le plus dur avec le language machine mais aussi la théorie sur tous les composants de l'ordi, les logiciels,.....
Merci pour vos encouragement :D
Ce qui n'empêche que ça va être chaud parce que c'est un des cours le plus dur avec le language machine mais aussi la théorie sur tous les composants de l'ordi, les logiciels,.....
Merci pour vos encouragement :D