Dans un entrepôt, des cartons arrivent sur un convoyeur et sont empilés sur des palettes qui supportent au plus 500 kg. Quand un carton ferait dépasser cette limite, la palette est fermée et le carton ouvre une nouvelle palette. Le programme compte les palettes et affiche la charge de la dernière.
Six cartons arrivent, de 180, 150, 120, 200, 250 et 160 kg, dans cet ordre.
L'organigramme
Les affectations portent un repère :
| Repère | Forme | Position |
|---|---|---|
| A | charge ← 0 | avant la boucle |
| B | palettes ← 1 | avant la boucle |
| C | palettes ← palettes + 1 | branche True du losange |
| D | charge ← 0 | branche True du losange, après C |
| E | charge ← charge + masse | branche False du losange |
Objectif
Prédire, carton après carton, les valeurs de charge et palettes d'après le besoin, puis dérouler l'organigramme en notant les valeurs observées. Donner le repère de la première forme après laquelle une variable prend une valeur différente de la prédiction, puis la valeur finale de charge et le nombre de palettes de cette version. Corriger enfin la forme fautive et donner le nombre de palettes affiché.
Pièges
La variable qui finit fausse n'est pas forcément la première à diverger. Chercher le premier écart dans l'ordre d'exécution, pas dans l'affichage final.