web-dev-qa-db-fra.com

Organigramme "pour chaque" boucle sans incrément variable

Je suis conçu un organigramme pour décrire à un niveau élevé comment fonctionne un processus de programmation. Une partie de ce processus consiste à parcourir un ensemble d'éléments. Je me demande s'il existe un moyen standard ou semi-standard de représenter une boucle de style "pour chaque" dans un organigramme, qui n'implique pas de rendre l'itération explicite avec une boîte d'itération comme m = m + 1 (par exemple ici ). La plupart des langages de programmation modernes ont une sorte de construction "pour chaque" pour énumérer un ensemble ou une séquence d'éléments, sans avoir à penser aux indices. Je cherche essentiellement une construction visuelle similaire pour un organigramme, pour éviter de gaspiller de l'espace avec un incrément de compteur explicite.

20
Bryce Thomas

J'avais la même question et j'ai trouvé la réponse ici .

enter image description here

16
Ray Hulha

Voici un exemple que j'ai trouvé qui semble assez intuitif. Je ne sais pas si c'est une pratique standard, mais ça me semble bien.

For each loop

4
NateW

Sooo je sais que ce sujet a maintenant 3 ans, mais il pourrait aider les autres. J'ai trouvé une petite astuce pour représenter une boucle "pour chaque" dans un organigramme UML. Je ne pense pas que ce soit standard, même si je le trouve assez instinctif.

C'est ici :

processus intégré

3
user21715

Mendix est une plate-forme de développement d'applications rapide où la majeure partie de la logique réside dans ce qu'on appelle des "microflux", qui sont représentés par un organigramme. Ici est un exemple de la façon dont il représente une boucle "pour chaque":

enter image description here

Il est similaire à réponse de @ user21715 , mais il utilise le même pentagone "paramètre" qui est également utilisé pour désigner les paramètres d'entrée pour un flux, avec une icône "boucle". Le petit cercle gris est la fin de l'itération de la boucle (similaire à continue dans la plupart des langues); ils en ont un orange pour un break (une fin prématurée de la boucle). Les première et dernière instructions d'une boucle sont reconnaissables par l'absence de resp. Entrante. flèche sortante.

1
Glorfindel

Je l'ai fait en définissant une variable initiale N = numberOfItems, et le reste est historique;) (c'est-à-dire une boucle "for" conventionnelle).

0
antonimmo