Le fonctionnement d'AlgoBox est basé sur les deux principes suivants :
- Pour pouvoir utiliser une variable dans son algorithme, il faut d'abord la déclarer en utilisant le bouton Déclarer nouvelle variable qui est activable à tout moment.
- Pour ajouter un nouvel élément à l'algorithme (autre que la déclaration d'une variable), il faut d'abord insérer une nouvelle ligne en utilisant le bouton Nouvelle ligne (raccourci-clavier : Ctrl+Return). Ce bouton n'est activable que s'il est possible d'ajouter une nouvelle ligne après la position actuelle dans le code. Par exemple, l'ajout d'une nouvelle ligne après "Fin_Algorithme" n'est pas autorisé.
Avant d'insérer une nouvelle ligne, il peut donc être nécessaire de se positionner à l'endroit voulu dans la code à l'aide de la souris ou des touches "flèches" du clavier.
Une fois que l'on est positionné sur une nouvelle ligne, il suffit de cliquer sur l'un des boutons disponibles dans le panneau "Ajouter code" pour insérer l'instruction (ou le bloc d'instructions) désiré.
Autres caractéristiques du logiciel :
- Après avoir entré certaines instructions, il est possible d'en modifier les paramètres en cliquant sur le bouton Modifier Ligne (le bouton n'est activable que lorsque les changements sont possibles).
Pour les autres instructions, notamment pour la déclaration de variables, la seule possibilité est de supprimer la ligne qui ne correspond plus au code désiré.
- Il est possible à tout moment d'effacer une instruction avec le bouton Supprimer Ligne/Bloc
Attention : la suppression d'une ligne "SI ALORS", "POUR...DE...A" et "TANT QUE" entraîne la suppression de tout le bloc d'instructions qui en dépend (tout ce qui est contenu entre "DEBUT..." et "FIN...")
- Pour tester le fonctionnement de l'algorithme, il suffit de cliquer sur le bouton Tester (dans la barre d'outils ou dans le panneau de droite). Une fenêtre apparaît alors dans laquelle il suffit de cliquer sur le bouton Lancer l'algorithme pour précéder à l'exécution de l'algorithme. S'il n'y a pas d'erreurs dans le code de l'algorithme, les résultats apparaissent entre les messages "***Algorithme lancé***" et "***Algorithme terminé***".
- Les opérations standards d'ouverture et d'enregistrement sont disponibles via la barre d'outils et le menu "Fichier". Il est conseillé avant de sauvegarder son travail de remplir le champ "Présentation de l'algorithme" dans lequel on peut présenter brièvement l'algorithme sur lequel on travaille.
- Il est aussi possible d'imprimer et d'exporter le code de l'algorithme via le menu "Fichier".
- L'option "Exporter algorithme complet vers page web" du menu "Fichier" permet de sauvegarder tout ce qui apparaît dans la fenêtre de test de l'algorithme. Il est donc possible d'exécuter l'algorithme à partir de cette page web que l'on peut aisément alors transférer sur un site internet. (Attention : pour les algorithmes utilisant le repère graphique, il faut utiliser un autre navigateur qu'internet explorer ou rester dans AlgoBox - internet explorer, qui ne respecte pas les standards, ne peut en effet pas afficher les graphiques)
- Une série d'exemples d'algorithmes est fournie avec le logiciel. On peut y accéder à l'aide de l'option "Ouvrir exemples" du menu "Ficher". (les exemples dont le nom commence par "prof" servent à illustrer les capacités d'AlgoBox et ne sont pas toujours conformes aux programmes en vigueur)
Supposons que l'on veuille calculer l'image de n'importe quel réel x par la fonction f définie par f(x)=3x+4.
- On déclare d'abord la variable x en cliquant sur Déclarer nouvelle variable. On entre alors x dans le champ Nom de la variable, on s'assure que le type NOMBRE est bien sélectionné et on clique sur "OK".
- On effectue la même opération avec la variable y.
- On s'assure que la ligne courante dans le code est bien positionnée sur "DEBUT_ALGORITHME" et on clique alors sur Nouvelle Ligne.
- Pour pouvoir lire la valeur de x, on clique ensuite sur Ajouter LIRE variable et on s'assure que la variable x est bien sélectionnée avant de cliquer sur "OK".
- La ligne courante étant bien "LIRE x", on clique sur le bouton Nouvelle Ligne, puis sur le bouton AFFECTER valeur à variable. On sélectionne alors y en face de "La variable" et on entre 3*x+4 dans le champ après "prend la valeur" avant de cliquer sur "OK".
- Reste à afficher la valeur de y. Pour cela on ajoute une nouvelle ligne après "y PREND_LA_VALEUR 3*x+4" (clic sur le bouton Nouvelle Ligne). On clique alors sur le bouton Ajouter AFFICHER variable et on sélectionne y après "Afficher la variable" avant de cliquer sur "OK".
- Il n'y a plus qu'à tester l'algorithme en cliquant sur le bouton Tester. Dans la fenêtre qui s'affiche, il suffit alors de cliquer sur le bouton Lancer l'algorithme. On entre alors la valeur de x : son image par la fonction f apparaît alors dans la zone "Résultat". Pour calculer une autre image, il suffit de cliquer à nouveau sur Lancer algorithme. Pour revenir à la fenêtre principale d'AlgoBox, cliquez sur le bouton Fermer.
- Les types de variables:
AlgoBox permet l'utilisation de trois types de variables : les nombres (type NOMBRE, les listes de nombres (type LISTE) et les chaînes de caractères (type CHAINE).
Opérations avec les nombres :
En plus des 4 opérations de base (+,-,*,/), les calculs possibles sont (x étant une variable du type NOMBRE) :
- Racine carrée d'une variable x : sqrt(x)
- Mettre une variable x à la puissance n : pow(x,n)
- Obtenir un nombre pseudo-aléatoire compris en 0 et 1 : random()
- Nombre PI : Math.PI
- Partie entière d'une variable x : floor(x)
- Cosinus d'une variable x (en radians): cos(x)
- Sinus d'une variable x (en radians): sin(x)
- Tangente d'une variable x (en radians): tan(x)
- Exponentiel d'une variable x : exp(x)
- Logarithme népérien d'une variable x : log(x)
- Valeur absolue d'une variable x : abs(x)
- Arrondi d'une variable x à l'entier le plus proche : round(x)
- Reste de la division de la variable x par la variable y : x%y
Opérations avec les listes :
- Les listes AlgoBox sont des listes numérotées de nombres (il n'y a pas besoin de préciser le nombre d'éléments de la liste).
- Si vous sélectionnez pour la variable une variable du type LISTE, vous devez indiquer dans le champ rang du terme de la liste le numéro du terme de la liste auquel vous voulez affecter une valeur.
- Pour utiliser un terme d'une liste dans un calcul, il faut utiliser la syntaxe suivante : nomliste[rang]
Exemple : moy prend la valeur (maliste[1]+maliste[2]+maliste[3])/3 (la variable du type NOMBRE moy contiendra la moyenne des trois premiers termes de la liste maliste)
Opérations avec les chaînes :
- Le contenu d'une chaîne doit être encadré par des guillemets :
Exemple : a prend la valeur "bonjour" (a étant une variable du type chaine)
- Il est possible d'ajouter (concaténer) des chaînes :
Exemple : b prend la valeur a+"bonjour" (a et b étant des variables du type CHAINE)
- Il est possible d'extraire le contenu d'une chaîne avec l'instruction chaîne.substr(position_premier_caractère_à_extraire,nombre_de_caractères_à_extraire).
Attention : la premier caractère a pour position 0 (et pas 1)
Exemple : b prend la valeur a.substr(4,2) (b sera alors formé des 5ème et 6ème caractères de a ; a et b étant des variables du type CHAINE)
- Un nombre peut-être transformé en chaîne avec l'instruction nombre.toString()
Exemple : machaine prend la valeur nb.toString() (nb étant une variable du type NOMBRE et machaine étant une variable du type CHAINE)
- La longueur d'une chaine peut-être obtenue avec l'instruction chaine.length
Exemple : longueur prend la valeur machaine.length (longueur étant une variable du type NOMBRE et machaine étant une variable du type CHAINE)
- L'instruction machaine.charCodeAt(pos) permet d'obtenir le nombre égal au code ascii de la lettre figurant à la position pos dans la chaine machaine (Attention : le premier caractère a pour position 0).
- Inversement, l'instruction String.fromCharCode(nombre) renvoie une chaine contenant le caractère dont le code ascii est égal à nombre.
-
Les expressions conditionnelles (structures SI ALORS et TANT QUE) :
Exemples de syntaxe pour la condition :
- Pour vérifier si x est égal à 2, la condition à écrire est : x==2
- Pour vérifier si x est différent de 2, la condition à écrire est : x!=2
- Pour vérifier si x est strictement inférieur à 2, la condition à écrire est : x<2
- Pour vérifier si x est inférieur ou égal à 2, la condition à écrire est : x<=2
- Pour vérifier si x est strictement supérieur à 2, la condition à écrire est : x>2
- Pour vérifier si x est supérieur ou égal à 2, la condition à écrire est : x>=2
Il est possible de combiner plusieurs conditions avec ET et OU :
- La condition à écrire pour vérifier que x est strictement compris entre 1 et 5 est : x>1 ET x<5
- La condition à écrire pour vérifier que x est égal à 3 OU à 5 est : x==3 OU x==5
Il est aussi possible d'utiliser des calculs dans les expressions conditionnelles. Exemple de condition : x<sqrt(n)
Avertissement : le nombre d'itérations pour les boucles TANT QUE est limité à 200000 pour des raisons de sécurité.
- Les boucles (structure POUR ALLANT DE A)
- La variable utilisée pour la boucle (champ POUR la variable) ne peut-être que du type NOMBRE et la valeur de cette variable est automatiquement augmentée de 1 à chaque boucle.
- Les champs ALLANT DE et A peuvent contenir des nombres ou des variables du type NOMBRE. C'est à l'utilisateur de vérifier que la valeur du champ ALLANT DE est bien inférieure à celle du champ A.
- Avertissement : le nombre d'itérations des boucles est limité à 200000 pour des raisons de sécurité.
- Lecture et affichage des variables (commandes LIRE variable et AFFICHER variable)
Si on veut lire ou afficher le terme d'une liste, il faut sélectionner le nom de la liste et obligatoirement renseigner le champ Rang du terme de la liste qui peut contenir un nombre ou le nom d'une variable du type NOMBRE.
- Affichage d'une variable ou d'un message (commandes AFFICHER variable et AFFICHER message)
Si la case Ajouter un retour à la ligne est cochée, le prochain affichage d'une variable ou d'un message se fera sur une nouvelle ligne. Dans le cas contraire, le prochain affichage se fera directement à la suite du précédent.
- Utilisation d'une fonction numérique
En activant l'option Utiliser une fonction dans l'onglet "Utiliser une fonction numérique", on peut utiliser l'image de n'importe quel nombre (ou variable de type nombre) par la fonction notée F1 dans le code de l'algorithme. Il suffit pour cela d'entrer l'expression de F1(x) en fonction de x dans le champ prévu pour cela.
Pour utiliser l'image d'un nombre nb par la fonction F1 dans l'algorithme, il suffit d'utiliser le code : F1(nb) (cela peut se faire dans une affectation ou dans une expression conditionnelle).
- Tracer des points et des segments dans un repère
En activant l'option Utiliser un repère dans l'onglet "Dessiner dans un repère", un repère graphique est automatiquement ajouté dans la fenêtre de test de l'algorithme. Il est alors possible d'inclure dans le code de l'algorithme des instructions pour tracer des points et des segments dans ce repère en utilisant les boutons Ajouter TRACER POINT et Ajouter TRACER SEGMENT .
- Copier, coller et couper certaines lignes de l'algorithme
Via le menu Edition, il est possible de copier/coller/couper une ligne de code, mais cette option n'est valable que pour les lignes du type ...PREND_LA_VALEUR..., AFFICHER.... et TRACER.....
Remarque : pour coller une ligne de code, il faut d'abord créer une nouvelle ligne conformément aux règles d'édition en vigueur sur AlgoBox.
- Repliage/Dépliage du code
Le code de l'algorithme peut-être "replié" ou "déplié" en cliquant sur les triangles dans le cadre affichant l'arbre de l'algorithme.
- Menu "Fichier" :
- Nouveau : Ctrl+N
- Ouvrir : Ctrl+O
- Sauver : Ctrl+S
- Quitter : Ctrl+Q
- Menu "Edition" :
- Copier ligne : Ctrl+C
- Coller ligne : Ctrl+V
- Couper ligne : Ctrl+X
- Mise au point de l'algorithme :
- Nouvelle ligne : Ctrl+Entrée
- Déclarer nouvelle variable : Ctrl+D
- Tester algorithme : Ctrl+T
Un module en ligne d'initiation aux principes de base de l'algorithmique avec AlgoBox peut-être lancé via l'option Initiation en ligne à l'algorithmique du menu Tutoriel.
Ce module est aussi disponible directement à l'adresse suivante : http://wwww.xm1math.net/algobox/tutoalgobox/
Pour utiliser un tableau dans AlgoBox :
- On se sert d'une variable de type LISTE. Exemple : montableau est du type LISTE
- Pour affecter une valeur à l'élément du tableau correspondant à la ligne li et à la colonne col, il suffit de remplir le champ Rang du terme de la liste par : li,col. On obtient alors une ligne de la forme : montableau[li,col] PREND_LA_VALEUR...
- Pour réutiliser la valeur d'un élément du tableau dans un calcul, on utilise la syntaxe : montableau[li,col].