6-8 Algorithmique
En étudiant les structures itératives et conditionnelles, vous venez de découvrir les bases de l'algorithmique. En combinant ces structures de diverses manières, vous pouvez créer une immense variété de séquences d'instructions. Par exemple, une condition permet de définir un critère de sortie prématurée d'une boucle grâce à l'instruction 'exit repeat'. Testez l'effet de la boucle ci-dessous, dans laquelle la boucle sur N2 est interrompue chaque fois que N1 = N2.
repeat with n1 := 1 to 20
repeat with n2 := 1 to 20
if n1= n2 then exit repeat
X := n1 * 20
Y := n2 * 20
Circle (-1, X , Y, X + 10, Y +10)
end repeat
end repeat
Message d'attente (suite)
Reprenez le programme 6.7 et sauvez les sous 6.10. Modifiez le message 'Patientez 0.3 secondes'. Interrompez le dessin après exactement 0.3 secondes.
Ces quelques instructions vous permettent donc d'écrire du code de programmation classique dans un programme Authorware. Authorware reste cependant très éloigné de la puissance des langages de programmation. Vous ne pouvez pas définir de procédures paramétrées retournant un produit, pas de procédures récursives, vous ne disposez pas de classes d'objets. Ajoutons encore que la syntaxe décrite ci-dessus n'est pas des plus élégantes et que le 'debugger' d'Authorware ne rend pas compte des itérations successives. Bref, Authorware ne vous offre ici qu'un sous-ensemble des fonctionnalités attendues d'un langage de programmation, ce qui limite sans conteste la puissance de l'outil par rapport à de véritables langages.
Les structures conditionnelles et itératives décrites ci-dessous sont aussi disponibles en programmation graphique, grâce à l'icône de décision étudiée dans la See Structuration du logiciel.
Pour terminer cette leçon, voici quelques informations qui vous seront utiles:
-
Si dans une boucle REPEAT vous modifiez la valeur d'une variable affichée à l'écran, vous ne verrez pas l'évolution de la valeur de cette variable, même si vous avez pertinemment choisi l'option 'Update displayed variables permanently'. La valeur affichée sera réactualisée uniquement à la sortie de la boucle.
-
Lorsque vous fermez une icône de calcul, Authorware vous demande systématiquement si vous voulez garder les changements effectués. Cette vérification systématique s'avère rapidement insupportable. Pour l'éviter, ne fermez pas la fenêtre au moyen de la souris, mais utilisez la touche ENTER (généralement placée sur le pavé numérique).
-
Dans une application réelle, il est souvent nécessaire d'utiliser de nombreuses icônes de calcul, ce qui rend le programme moins lisible. Une alternative consiste à associer du code à n'importe quelle icône. Sélectionnez une icône, puis sélectionnez l'option 'calculations' dans le menu 'Modify/Icon'. Vous pouvez alors entrer votre code comme dans une icône de calcul. Lorsque vous fermez la fenêtre, Authorware place simplement une marque '=' à côté de l'icône choisie pour vous rappeler que des instructions y ont été associées. Cette possibilité est particulièrement utile si vous désirez associer un calcul à chaque itération dans une boucle d'interaction. Il n'est en effet pas possible de placer une icône de calcul entre la flèche de retour issue des réponses 'try again' et l'icône d'interaction proprement dite. Vous pouvez par contre associer du code à l'icône d'interaction même, grâce à 'calculations'. Celui-ci sera effectué chaque fois que le sujet fournira une nouvelle réponse.