Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Algorithme problème TANT QUE.

Posté par
Vid
26-04-13 à 13:06

Je voudrais vous posez une question concernant un algorithme.
Je voudrais recréer une sorte de code d'entrée avec un identifiant sur ALGOBOX.
J'ai choisi une variable chaîne que j'ai nommé ID qui correspondra à l'identifiant d'une des personnes autorisées à accéder à la suite de l'algo.
Peut être que le problème vient du fait que j'ai choisi la variables chaine.
Si leur ID est bon l'algo les laisse passer mais si il est mauvais on lui demande d'en rentrer un à nouveau. Comme lorsque que
je m'identifie pour venir sur ce site par exemple.
Le problème c'est que mon algorithme ne marche pas.
Quand je rentre un ID (A ou B dans mon exemple, je mettrai des noms plus tard.) faisant partit de la liste autorisée ça me met quand même "erreur".

J'ai recopié ici rapidement l'algo :

Variables:
ID du type CHAÎNE

Début ALGO :
1:  LIRE ID
2:  TANT QUE(ID!="A" OU ID!="B")FAIRE              (Tant que l'identifiant n'est pas A ou B)
3:  DEBUT TANT QUE
4:  AFFICHER "Erreur. Réessayer!"
5:  LIRE ID
6:  FIN TANT QUE
7:  SI(ID=="A" OU ID=="B") ALORS
8:  DEBUT SI
9:  AFFICHER "Bienvenue!!"
10: Afficher ID
11: FIN SI
12: FIN ALGO

J'ai simplifié mon algo au maximum pour qu'il soit compréhensible. Cependant si vous ne comprenez pas ce que je demande n'hésitez pas à me
faire répéter.
Je précise aussi que lorsque que je ne défini qu'un seul identifiant l'algorithme marche à merveille.
C'est à dire que si j'enlève le "B" aux lignes 2 et 7 l'algo marche parfaitement.
Est ce qu'il est tout simplement impossible d'entrer plusieurs paramètres dans le TANT QUE?
Y'a t il une solution plus simple avec du SI/SINON (j'ai essayé mais ça ne semble pas marcher beaucoup plus)
Est ce que si je choisis une variables LISTE mon problème pourrait être résolu?

Merci d'avance pour votre réponse.
PS : J'ai mis une capture d'écran ci joint mais je ne suis pas sur qu'elle apparaisse.
Vid'

Algorithme problème TANT QUE.

Posté par
Iamat
re : Algorithme problème TANT QUE. 26-04-13 à 13:21

Salut,

je ne connais algobox mais une solution pourrait être de faire un identifiant numérique, ce serait plus un code d'accès comme une carte bleue

Posté par
lafol Moderateur
re : Algorithme problème TANT QUE. 26-04-13 à 15:35

Bonjour

ton problème vient de ce que l'id ne peut pas être égal à la fois à A et à B : autrement dit, tu es toujours dans la condition du "tant que"....

Posté par
Yzz
re : Algorithme problème TANT QUE. 26-04-13 à 15:39

Salut,
...Autrement dit, il suffit de remplacer la ligne 2 par :
2:  TANT QUE(ID!="A" ET ID!="B")FAIRE

Posté par
J-P Posteur d'énigmes
re : Algorithme problème TANT QUE. 26-04-13 à 16:08

Faire ce qu'a écrit Yzz, c'est bien là qu'est l'os.

J'ajouterai que la condition "Si" de la ligne 7 est inutile.
Tu peux, à mon sens, virer les lignes 7, 8 et 11 sans modifier le fonctionnement de l'algo.

Posté par
lafol Moderateur
re : Algorithme problème TANT QUE. 26-04-13 à 16:52

l'autre possibilité étant de mettre le si au début, avec retour au début dans le cas "sinon"

Posté par
Yzz
re : Algorithme problème TANT QUE. 26-04-13 à 16:55

Salut J-P

Citation :
Faire ce qu'a écrit Yzz, c'est bien là qu'est l'os.
Comprend pas...
Ca ne marche pas si on fait ça, c'est ce que tu veux dire ?
(Question sincère ! j'ai pas essayé...)

Posté par
J-P Posteur d'énigmes
re : Algorithme problème TANT QUE. 26-04-13 à 18:08

Il faut faire ce que Yzz a écrit.
Et cela va marcher.

Mais en plus, tu peux supprimer les lignes que j'ai indiquées qui sont inutiles.

Posté par
Vid
re : Algorithme problème TANT QUE. 27-04-13 à 11:52

Merci à tous.
En effet comme l'avez dit Yzz le problème vient du OU qu'il faut remplacer par un ET.
Depuis ça marche très bien! Merci pour vos réponses rapides et claires!



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !