Aller au contenu principal

Aide-mémoire Organigrammes

Les formes de Flowgorithm, les règles qui bloquent, et des schémas qui se déroulent.

Les sept formes, et ce que chacune impose

FormeCe qu'elle faitCe qu'elle exige
Main / EndPilules de début et de fin.Une seule paire par programme. Une fonction a les siennes, à son nom.
DeclareCrée une variable et fixe son type.Avant toute utilisation. Types : Integer, Real, String, Boolean.
AssignRange le résultat d'un calcul dans une variable.La variable doit exister, et le type doit convenir.
InputLit une saisie.La variable qui reçoit doit être déclarée.
OutputAffiche une expression.Rien de particulier.
IfUn losange, une condition.Deux branches : False à gauche, True à droite. Elles se rejoignent.
While / For / DoRépéter.La condition doit pouvoir devenir fausse.
CallAppelle une fonction qui ne rend rien.La fonction doit être définie.

Les règles qui bloquent l'exécution

La règleCe qui arrive si on l'oublie
Déclarer avant d'utiliserLe programme s'arrête sur la forme fautive.
& colle du texte, + additionne"Total : " + n échoue ; "Total : " & n fonctionne.
/ rend toujours un réel7 / 2 vaut 3.5. Rangé dans un Integer, il perd sa partie décimale.
= compare dans un If, affecte dans un AssignLes deux ne s'échangent pas.
Une boucle doit pouvoir s'arrêterSinon elle tourne jusqu'à l'interruption.
De haut en bas, en suivant les flèchesIl n'y a pas d'autre ordre d'exécution.

Ce qui se trompe le plus souvent

Le piègeCe qu'il faut faire
Un Integer pour une moyennedéclarer Real dès qu'une division intervient
= au lieu de , ou l'inverse= compare dans un If, affecte dans un Assign
+ pour coller du texte&, le + n'additionne que des nombres
Une condition de boucle écrite à l'enversdérouler la figure d'un pas pour le voir
Une variable utilisée avant d'être déclaréetoute variable passe par un Declare
Le cas limite oubliévérifier pour zéro, pour un, et pour un négatif

Du dessin au code

OrganigrammePython
Declare Integer nrien à écrire, le type vient de la valeur
Input nn = int(input())
Assign total ← a * btotal = a * b
Output "x : " & nprint("x :", n)
If cond avec deux branchesif cond:else:
While condwhile cond:
For i de 1 à nfor i in range(1, n + 1)
Les démonstrations qui s'exécutent, les exemples et les explications sont surpagevive.fr/ressources/organigrammes