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
| Forme | Ce qu'elle fait | Ce qu'elle exige |
|---|---|---|
| Main / End | Pilules de début et de fin. | Une seule paire par programme. Une fonction a les siennes, à son nom. |
| Declare | Crée une variable et fixe son type. | Avant toute utilisation. Types : Integer, Real, String, Boolean. |
| Assign | Range le résultat d'un calcul dans une variable. | La variable doit exister, et le type doit convenir. |
| Input | Lit une saisie. | La variable qui reçoit doit être déclarée. |
| Output | Affiche une expression. | Rien de particulier. |
| If | Un losange, une condition. | Deux branches : False à gauche, True à droite. Elles se rejoignent. |
| While / For / Do | Répéter. | La condition doit pouvoir devenir fausse. |
| Call | Appelle une fonction qui ne rend rien. | La fonction doit être définie. |
Les règles qui bloquent l'exécution
| La règle | Ce qui arrive si on l'oublie |
|---|---|
| Déclarer avant d'utiliser | Le programme s'arrête sur la forme fautive. |
& colle du texte, + additionne | "Total : " + n échoue ; "Total : " & n fonctionne. |
/ rend toujours un réel | 7 / 2 vaut 3.5. Rangé dans un Integer, il perd sa partie décimale. |
= compare dans un If, ← affecte dans un Assign | Les deux ne s'échangent pas. |
| Une boucle doit pouvoir s'arrêter | Sinon elle tourne jusqu'à l'interruption. |
| De haut en bas, en suivant les flèches | Il n'y a pas d'autre ordre d'exécution. |
Ce qui se trompe le plus souvent
| Le piège | Ce qu'il faut faire |
|---|---|
Un Integer pour une moyenne | dé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'envers | dérouler la figure d'un pas pour le voir |
| Une variable utilisée avant d'être déclarée | toute 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
| Organigramme | Python |
|---|---|
Declare Integer n | rien à écrire, le type vient de la valeur |
Input n | n = int(input()) |
Assign total ← a * b | total = a * b |
Output "x : " & n | print("x :", n) |
If cond avec deux branches | if cond: … else: |
While cond | while cond: |
For i de 1 à n | for i in range(1, n + 1) |