Authorware utilise une interface de programmation graphique qui est très conviviale. Néanmoins, vous avez peut être déjà ressenti certaines limitations de cette forme de programmation. Prenons un exemple. Typiquement, si vous voulez dessiner un rectangle, vous éditez un icône de présentation et tracez simplement le dit rectangle avec l'outil de dessin approprié. Vous êtes cependant obligé de fixer la taille et la couleur de ce rectangle. Dans un langage de programmation classique, vous auriez introduit dans le code une instruction indiquant au logiciel le type de forme à dessiner et ses différents paramètres (position, dimensions, couleur,...). Cette possibilité vous est également offerte. Nous vous la présentons en pas-à-pas.
Le but est de faire dessiner un rectangle au programme.
Premier pas. Prenez une icône de présentation et dessinez-y un rectangle noir et blanc comme vous l'avez fait jusqu'à présent.
Deuxième pas. Prenez une icône de calcul
.Placez-la sous l'icône de présentation.
Double-cliquez sur cette icône. Elle s'ouvre sur une page blanche dans laquelle vous allez écrire les lignes de programme. Tapez la ligne suivante:
Troisième pas. Fermez le fenêtre de cette icône de calcul. Authorware vous demande de confirmer vos choix, dites OK. En cas de message d'erreur, vérifiez bien si vous n'avez pas commis d'erreur en recopiant la ligne ci-dessus. Attention sur certains systèmes, le séparateur (le symbole utilisé pour distinguer deux arguments dans une commande) n'est pas la virgule mais le point-virgule. Faites un run de votre programme.
Quatrième pas. L'exécution du programme fait apparaître deux rectangles, celui que vous avez tracé manuellement dans l'icône de présentation et celui que vous avez fait dessiner par Authorware dans l'icône de calcul. Modifiez les paramètres de ce dernier afin que les deux rectangles se superposent exactement. Le premier paramètre (1) détermine l'épaisseur du trait en pixels, les paramètres suivants définissent les coordonnées de la diagonale du rectangle, dans notre cas, du point (100,100) au point (200, 200). Le système de coordonnées graphiques dans un écran est représenté par la figure 6.1.
Dans l'exercice 6.1, l'ajustement des paramètres de la fonction pour obtenir exactement le rectangle désiré peut s'avérer fastidieux. Dans ce cas en fait, la programmation graphique est plus rapide que l'utilisation de fonctions. Par contre, une des limitations de la programmation graphique est le manque d'abstraction: vous dessinez un rectangle particulier, dont tous les paramètres sont fixés. Si vous utilisez la fonction `box' comme ci-dessus, vous pouvez utiliser des variables comme paramètres de la fonction (au lieu des valeurs utilisées précédemment).
Demandez au sujet de cliquer sur un bouton " dessin ". Comme feed-back dessinez un rectangle dont la largeur est proportionnelle au temps de réponse de l'utilisateur. Ensuite, l'utilisateur recommence. Mettre un temps de réponse maximal de 10 secondes.
Comme pour les variables, Authorware met à votre disposition environ 200 fonctions, réparties en différentes catégories: gestion des fichiers, navigation, traitement de chaînes de caractères, fonctions mathématiques, fonctions de base de programmation, etc.
Les arguments d'une fonction (par exemple les coordonnées du rectangle dans la fonction 'box') sont placés entre parenthèses et séparés par un séparateur, la virgule ou le point-virgule selon les réglages de votre système.
Intéressons-nous à une fonction très utile: l'affectation. Affecter signifie donner une valeur à une variable ou, selon la métaphore utilisée ci-dessus, placer une information dans un tiroir. On parle de la valeur d'une variable pour désigner son contenu. Le contenu d'un tiroir peut être un nombre (variables numériques), des caractères (variables alphanumériques) ou simplement l'information vrai/faux (variables booléennes). L'affectation s'écrit comme dans les exemples ci-dessous:
Prénom := "Albert" écrire les caractères A-l-b-e-r-t dans le tiroir 'Prénom'
Prix := 167 + 54 Faire la somme de 167 et 54 et mettre le résultat (221) dans
le tiroir 'prix'
Prix := Prix * 10 Prendre le contenu du tiroir 'prix' (221), le multiplier (*)
par 10 et mettre le résultat (2210) dans le tiroir prix.
Il est très important de bien comprendre le dernier exemple. L'opérateur d'affectation(:=) ne correspond pas à 'égal', bien que de nombreux langages utilisent simplement '=' pour exprimer l'affectation. Il faut donc lire l'opérateur 'A:=B' comme 'mettre B dans A'. Il serait plus correct d'écrire quelque chose comme prix * 10 ⇒ prix', si cette flèche était un caractère aisément accessible sur les claviers. Ici, l'expression se lit dans le sens inverse, de la droite vers la gauche, comme une formule mathématique: 'prix ⇐ prix * 10 '.
J'attire votre attention sur le fait qu'un tiroir ne peut comprendre qu'une valeur et que par conséquent, l'ancienne valeur de la variable 'prix' est perdue, seule la dernière valeur affectée est stockée. Dit autrement, la nouvelle valeur de la variable écrase la valeur précédente. Dans de nombreux cas, on augmente progressivement la valeur d'une variable. On parle alors d'incrémenter la variable.