Bonjour,
Sur Wikipedia on trouve ça:
Mais si le traitement 1 (ou un autre) modifie les termes de la condition, cette représentation est-elle pertinente:
![]()
Bonjour,
Sur Wikipedia on trouve ça:
Mais si le traitement 1 (ou un autre) modifie les termes de la condition, cette représentation est-elle pertinente:
![]()
Ton dessin évoque plus ou moins un comportement du type :
Mais il faudrait supprimer le trait qui sort de traitement1 vers le bas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TantQue <condition> exécuter traitement1 Fin TantQue Exécuter traitement2.
Après traitement1, on retourne systématiquement vers le losange qui symbolise le test 'Si <Condition>'.
Un rectangle qui a 2 sorties, ça n'existe pas dans ce genre de représentation. Il faut un test qui dit quelle sortie emprunter.
Les lignes sont donc obligatoirement des branchements ?
Et on ne peut pas représenter de lien entre une modification des termes d'une condition et cette condition ?
J'ai l'impression que tu racontes un peu n'importe quoi, mais comme je ne pratique pas du tout ces logigrammes, je passe la main.
Bonjour
Non. Elle n'est pas pertinente, car tu n'as que 2 branchements possibles. Fabriquer une troisième voie n'a de sens que si tu pointes vers un troisième bloc de traitement.cette représentation est-elle pertinente ?
De plus, la condition est évaluée à une date donnée. Ce qui se passe avant ou après n'est pas pris en compte.
Bonjour,
Non, si ta condition est modifiée par ton traitement, alors elle ne peut plus être affectée à la même représentation. Il s'agit donc d'un nouveau test...
@ Flodelarab et Galet:
Vous êtes clairs, mais c'est quand même étonnant qu'on ne puisse pas relier une condition à une commande qui lui envoie du paramètre, en considérant qu'une condition a une sortie (à droite) et une entrée (à gauche).
Donc la gauche et la droite d'une condition sont des sorties ? Et n'y a pas d'entrée autre que par le haut ?
Ce n'est pas une question de pouvoir ou non, c'est une question de savoir quelle signification donner à ça. Tout va dépendre de ce que tu entends par «relier une condition à une commande qui lui envoie du paramètre», hormis le fait bien sûr de rajouter un lien dans un organigramme. Que signifie ce lien dans ton esprit ? Peut-être pourrais-tu nous donner un exemple de ce que tu penses pouvoir exprimer avec ça ?
Est-ce que ça serait quelque chose du genre :
Si c'est cela alors cela revient à faire une boucle tant que.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 calc_cond: condition = f(param1, param2, ) si condition alors modifier(param1, param2, ) aller en calc_cond sinon faire autre chose fin si
Mais c'est peut-etre autre chose dans ton esprit ?
- Ah bon ? Parce que, toi, tu lis un texte autrement que de haut en bas ? Le programme informatique, c'est pareil, et le logigramme qui en découle aussi. Du haut, vers le bas.
- D'ailleurs, tu n'as pas indiqué le sens de circulation sur tes traits, ce qui enlève toute signification.
- Il ne faut pas voir l'entrée comme une donnée unique mais comme un faisceau de données. Tu peux bien avoir un millier d'informations en entrée.
Si une condition subit l'influence d'un paramètre, tout cela est déterminé avant le dessin que tu as posté. Ce sont les éléments précédents.relier une condition à une commande qui lui envoie du paramètre,
Par exemple conserver une valeur d'un premier passage
...prog Clic et re-clic
Si flag=1 aller à [passer]
...prog prises de cotes xa, ya
...prog
flag=1
[passer]
...prog prise de cotes xb, yb
Après n clics j'aurai les premières cotes et les dernières.
Suite du 15h17
Si je fais ça, c'est compréhensible ?
Et qu'est-ce qu'on comprend ?
![]()
Tu as essayé de rentrer dans une pièce par le mur et tu as écrasé ton petit nez.
Un schéma valide serait celui-ci :
![]()
Bonjour,
Le but du logigramme est de formuler une méthode sans être sujet à interprétation. Si tu dois le compléter par une explication, c'est que la représentation n'est pas claire...donc que la compréhension n'est pas claire.
Si tu n'arrives pas à schématiser une idée, c'est, soit qu'elle n'est pas claire, soit qu'elle est géniale au point de remettre en cause les bases. Il faut reconnaitre que c'est souvent le premier cas qui s'applique.
Les règles ont donc 2 grands avantages :
- faire remonter des incompréhensions (qui risquent de se transformer en problèmes ou en bug)
- servir de communication avec d'autres programmeurs (pour partager une tâche ou simplement avoir de l'aide)
Belle journée...
Ah Ok.
Et est-ce que ça c'est valide ? (le petit rectangle est l'endroit ou la variable de test est modifiée)
![]()
Les graphes sont déformables. Dans la boucle, que tu mettes 1, 2 ou 3 blocs, à gauche en montant, ou à droite en descendant, c'est pareil. Tu pourrais même résumer tes 3 blocs en un. C'est comme les données évoquées précédemment : un bloc n'est pas 1 instruction, mais un ensemble d'instructions.
Quand on voit ce dessin, on comprend qu'on sera prisonnier de la branche qui boucle, jusqu'à ce qu'on s'enfuit à droite. Et on s'enfuira à droite quand la condition sera remplie ( ou non remplie, si un "faux" est nécessaire ).
On appelle ça «une boucle tant que» …
Et on le retrouve même sur la page wiki citée par le PO.
Connais-tu le brainfuck ? C'est un langage de programmation qui a, en tout et pour tout, 8 instructions :
- avancer dans la mémoire
- reculer dans la mémoire
- incrémenter la mémoire
- décrémenter la mémoire
- début de boucle
- fin de boucle
- entrée
- sortie
Et avec ces instructions, on pourrait refaire tous les logiciels du monde. Je rappelle cela pour montrer que la "boucle" sert de condition, de boucle "for", de boucle "tant que", etc. Tout ça, c'est pareil. Et il faut le comprendre.
Tu dis ne pas aimer la boucle "tant que". Mais quand on écrit for (i=0;i<n;i++), c'est bien une boucle "tant que" avec une initialisation (i=0), une condition d'arrêt (i<n) qui est l'échappatoire de la boucle. Et un incrément (i++).
Code brainfuck : Sélectionner tout - Visualiser dans une fenêtre à part ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
Pourquoi je n'aime pas les "Tant que"
Méthode avec "If":
Méthode avec "Tant que":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 clic et re-clic Si flag =1 alors-->passer--> Lecture cote xa, ya -->Passer lecture xb, yb suite du prog ... prog...
Où tu place le Fin tant que ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 clic et re-clic Tant que flag=0 Lire xa,ya Flag =1 Lire xb, yb Suite du prog ... prog...
Partager