Table des matières
Habituellement un programme peut compter plusieurs milliers, voire plusieurs millions de lignes de code ! Pour réussir à gérer cette complexité, un programme est décomposé en unités de quelques dizaines de lignes de codes réalisant chacune une fonction particulière.
Dans les langages de programmation, ces unités s’appellent fonction, procédure, ou méthodes. Chacune est identifiée par un nom unique (comme une variable), et peut être “appelée” dans une autre unité.
A cet instant, ses instructions sont exécutées comme une seule instruction. Une unité appelée peut elle-même appeler l’exécution d’une autre unité et ainsi de suite (il n’y a pas de limite a priori).
AlgoTouch propose également un mécanisme similaire, simplifié, avec la notion de macro (pour macro-instruction). Une macro est une unité de programme soit de type simple (Do…End) soit de type boucle (From…End).
Dans ce tutoriel nous montrons comment définir une nouvelle macro, puis comment l’utiliser dans une autre macro. Dans un tutoriel suivant, nous montrerons comment, grâce à ce mécanisme, il est possible de réaliser des programmes complexes.
L’utilisateur crée une nouvelle macro en précisant s’il s’agit d’une macro simple ou d’une boucle. Cette macro sera identifiée par un nom unique et l’utilisateur pourra préciser son rôle.
Ensuite, l’utilisateur construira le code de la macro comme vu précédemment. Cependant, une nouvelle possibilité est offerte. Lors de l’enregistrement des actions, l’utilisateur peut exécuter directement le programme d’une macro par un simple clic.
i = i + 1 ; j = j + 1 ; FaireCela ;FaireCela est devenue une “nouvelle” instruction, d’où le nom de “macro-instruction”
Define SaisirNote From Read "Saisir une note supérieure à 0" note ; Until (note >= 0) Loop Read "Saisir une note supérieure à 0" note ; Terminate End
Define SommeNote Do SaisirNote ; somme = note ; SaisirNote ; somme = somme + note ; Write "La valeur de somme" somme ; End
Le programme, la macro Saisir0a20, à réaliser doit saisir dans une variable note une valeur comprise en 0 et 20. Pour réaliser ce programme, il est possible d'utiliser la macro SaisirSup0 qui oblige la saisie d'une valeur supérieure à 0 dans note. Cette macro est la copie exacte de la macro SaisirNote vue dans ce cours :
/* * Saisir une note supérieure à 0 */ Define SaisirSup0 From Read "Saisir une note supérieure à 0" note ; Until (note >= 0) Loop Read "Saisir une note supérieure à 0" note ; Terminate End
Source AlgoTouch : Saisir0a20
/* * Saisir une notre comprise entre 0 et 20 */ Define Saisir0a20 From SaisirSup0 ; Until (note <= vingt) Loop SaisirSup0 ; Terminate EndLe code solution : Saisir0a20