Manipulation des données d’un programme

Les éléments de programmation

Les éléments qui peuvent être manipulés avec AlgoTouch sont : les variables, les constantes, les tableaux, les variables index, les index.

Eléments manipulés par AlgoTouch

Les différents éléments de la figure:

  1. Les macros: une macro est une suite d’instructions (macro simple) ou une boucle unique (macro boucle) avec un nom et un rôle.
  2. Les tableaux sont représentés par une zone rectangulaire avec un nom et contenant les éléments du tableau de type entier ou caractère. Des tableaux de taille et de contenu différents peuvent être créés. Lors de la création d’un tableau, une constante représentant la longueur du tableau est créée automatiquement. Elle porte le même nom que le tableau avec l’extension .length.
  3. Les constantes sont similaires aux variables mais le système ne permet pas leur modification. Pour les différencier des variables, elles ont une couleur différente (rouge par défaut). On distingue deux types de constantes: les constantes nommées (par exemple Max valant 25) et les valeurs (par exemple -1).
  4. Les variables sont représentées par une boîte avec un nom et un contenu. Le type de la variable est entier ou caractère.
  5. Les variables index sont des variables dédiées. Une variable d’index est une variable entière attachée à un tableau spécifique. AlgoTouch montre graphiquement quel élément du tableau est effectivement pointé par chaque variable d’index.
  6. Les index: un index désigne la variable t[i] si t est un tableau et i est une variable d’index attachée au tableau t. Il peut être manipulé comme une variable standard.

Gadgets

Trois autres éléments ont un rôle important pour faciliter les interactions : la poubelle, l’écran et le clavier.

Poubelle
Pour supprimer un élément, il suffit de le déposer sur la poubelle. On peut assi effectuer la maniplation inverse: déposer la poubelle sur l’élément.
Ecran
Pour afficher le contenu d’une variable, il suffit de la déposer sur l’écran. Cette manipulation produit l’instruction d’affichage du contenu de la variable.
Clavier
Pour demander à l’utilisateur de saisir une valeur pour la placer dans une variable, il suffit de déplacer le clavier sur la variable. Cette manipulation produit l’instruction de saisie d’une valeur.

Opérations communes aux éléments

Création d’un élément

Les éléments que l’on peut créer sont des variables, des constantes, des tableaux, des variables index, des macros. Tous ces éléments portent un nom différent.

Pour créer un nouvel élément, utiliser le menu Élément ou la barre d’outils

  • Variable Variable : création avec un bouton d’icône ou par le menu Élément → Variable : une variable est créée avec un nom et un rôle fourni par l’utilisateur. Elle est de type entier ou caractère. La variable est initialisée avec 0 ou le caractère espace en fonction de son type.
  • Constante : création avec un bouton d’icône ou par le menu Elément → Constante. Soit une constante nommée est créée avec un nom, un rôle, un type et une valeur fournie par l’utilisateur. Soit une constante simple est créée en donnant uniquement sa valeur. La valeur d’une constante nommée peut être modifiée par menu mais non par programme.
  • Array Tableau (array) : création rapide d’un tableau standard. Le nom, le rôle et le type sont fournis par l’utilisateur. Un tableau de 10 éléments est créé avec des valeurs aléatoires entre 0 et 100 ou entre ‘a’ et ‘z’ suivant le type. A noter qu’une constante contenant la taille du tableau est créée automatiquement.
  • Index Variable index : un tableau doit d’abord être sélectionné car une variable index est une variable associée à un tableau. Création avec l’icône ou par le menu Elément → Index. Trois éléments sont créés : une variable utilisée comme une variable index, l’index avec une icône qui désigne a[index] et une flèche (verte par défaut) dessinée en face de la variable du tableau associée a[index] ; lorsque la valeur de la variable index est modifiée, la position de la flèche est mise à jour. Si la valeur de la variable index est hors des limites du tableau, la flèche change de couleur (rouge par défaut).
  • Variable index depuis un tableau: cette icône se trouve dans chaque tableau, à droite. Il permet de créer rapidement un index de ce tableau.
  • Création d’un tableau personnalisé : utiliser le menu Elément → Tableau général : une fenêtre de dialogue permet à l’utilisateur de créer un tableau personnalisé. Outre le tableau, une constante contenant la taille de celui-ci est créée automatiquement.
Création d'un tableau personnalisé
Version anglaise

Sélection d’un élément et dé-sélection

Certains éléments peuvent être sélectionnés pour engager une action les concernant. Clic gauche pour sélectionner : l’élément est surligné (entouré de rouge par défaut). En fonction de l’élément certains éléments des menus ou de la barre d’outils sont actifs. Clic gauche sur un autre élément ou sur l’arrière-plan pour désélectionner.

Déplacement d’un élément

Presser avec le bouton gauche de la souris, sur l’élément à déplacer, puis  le faire glisser vers un emplacement vide et enfin relâcher la souris. L’élément est déplacé à l’endroit final.

  • Dans le cas de déplacement d’une variable (de tout type), si l’emplacement final est aussi une variable, l’opération est transformée en affectation.
  • Dans le cas du déplacement d’un tableau, la constante de longueur du tableau et les index attachés se déplacent également en restant positionnés relativement au tableau.

Modification d’un élément

Les valeurs des constantes nommées et des tableaux peuvent être modifiées

  • Sélectionner l’élément
  • Menu Élément → Modifier
  • Changer la valeur de la constante ou les valeurs du tableau.

Renommage d’un élément

Les variables, les constantes nommées, les variables index, les tableaux et les macros peuvent être renommés pour définir des identificateurs plus explicites. Le rôle de l’élément peut également être redéfini.

  • Sélectionner l’élément
  • Menu Élément → Renommer
  • Taper un nouveau nom et modifier le rôle si nécessaire.

Suppression d’un élément

Tout élément peut être supprimé sauf les constantes prédéfinies. Deux façons de procéder:

  1. sélectionner l’élément puis menu Élément → Supprimer
  2. ou déplacer l’élément à supprimer sur la corbeille

Actions sur les variables

Affectation

Une affectation est une opération qui consiste à déposer une valeur dans tout type de variable. La valeur d’origine est soit une variable, soit une constante, soit une variable index (exemple i), soit une variable de tableau (exemple a[3]) ou soit un index (exemple a[i]).

  • Appuyer avec le bouton gauche sur l’élément d’origine, une boite contenant la valeur de l’objet est affichée.
  • Faire glisser la valeur sur l’élément de destination qui est alors surligné : variable, variable index, variable d’un tableau ou index d’un tableau.
  • Déposer la valeur en relâchant le bouton de la souris. L’instruction associée apparaît sur la zone de la console.

Opérations arithmétiques

Il est possible d’exécuter une opération telle que :

   p = x op y ;
  1. Dans le menu Opération, choisir l’opération (+, -, *, /, %). Un opérateur apparaît avec 2 places pour les opérandes et une pour le résultat. Une icône représentant l’opération est affichée : elle est grisée signifiant que l’opération n’est pas encore définie.
  2. Déplacez la valeur x sur l’opérande de gauche.
  3. Déplacez la valeur y sur l’opérande de droite. Le résultat apparaît et l’icône de l’opérateur (X par exemple) apparaît en vert (prêt pour validation).
  4. Déplacer la valeur du résultat sur la variable p. L’opération a été effectuée et l’opérateur disparaît.
Agt-Multiply
Opérateur de multiplication. Quand les opérandes sont placées, il est encore possible de les modifier ou bien d'affecter le résultat à une variable.

Incrément ou décrément d’une variable

Ces opérations étant très souvent utilisées, pour augmenter ou pour diminuer une variable dans une boucle par exemple, des raccourcis ont été introduits :

  • pour incrémenter une variable simple ou d’index,
    1. effectuer un appui sur le bouton gauche de la souris à gauche de la variable
    2. déplacer la souris à l’intérieur de la variable
    3. relâcher la souris.
  • pour décrémenter une variable simple ou d’index,
    1. effectuer un appui sur le bouton gauche de la souris à droite de la variable
    2. déplacer la souris à l’intérieur de la variable
    3. relâcher la souris.

Actions sur les tableaux de valeurs

Modification du contenu d’un tableau de valeurs

Effectuer un clic droit sur le tableau. Une fenêtre de dialogue proposera différentes configurations comme dans le cas de la création d’un tableau personnalisé :

  • Modifier la taille du tableau.
  • Mettre toutes les variables à la même valeur.
  • Placer des valeurs croissantes à partir d’une certaine valeur.
  • Placer des valeurs décroissantes à partir d’une certaine valeur.
  • Définir une étendue de valeur et choisir de remplir le tableau soit avec des valeurs aléatoires, soit avec des valeurs aléatoires croissantes, soit avec des valeurs aléatoires décroissantes.
  • Définir la liste des valeurs du tableau. Dans le cas des entiers, les valeurs sont séparées par des espaces ou des virgules. Dans le cas des caractères, les caractères sont listés à la suite car l’espace est un caractère. Si le nombre de valeurs est inférieur à la taille, le tableau est complété par des 0 ou des espaces suivant le cas.
  • Mélanger les valeurs actuelles.

Comparaison

L’objectif est de comparer le contenu de deux variables (variable, constante, variable index, index). Comparons par exemple x avec y. La procédure est la suivante :

  1. Cliquer sur Scale  pour faire apparaître une balance avec deux plateaux. 
  2. Glisser la valeur x sur le plateau de gauche. 
  3. Glisser la valeur y sur le plateau de droite. L’icône de la balance est modifié Activate  indiquant que la comparaison peut être effectuée. A ce stade, il est encore possible de modifier l’une ou l’autre valeur sur l’un des plateaux
  4. Cliquer surActivate  pour activer la balance. Les plateaux bougent si les deux valeurs sont différentes. La plus grande valeur est la plus lourde. Le résultat de la comparaison est affiché sur la fenêtre de la balance (par exemple x>y).
  5. L’utilisateur est invité à modifier (étendre) éventuellement la condition.
    • Par exemple, x>y peut être changé par x>=y ou par x!=y.
    • Autre exemple, x==y peut être changé par x>=y ou par x<=y.
    • Après validation, l’instruction de la condition associée est affichée sur la console. Par exemple
          if (x>y){ 
      

Opérations de saisie et d’affichage

Opération de saisie de valeur (lecture)

  1. sélectionner la variable à affecter
  2. puis le menu Opération → Saisir valeur.
  3. une fenêtre de dialogue apparaît demandant de saisir la nouvelle valeur et la question qui doit être demandée à l’utilisateur lors de la ré-exécution de cette opération. Quand le programme est exécuté, une fenêtre de dialogue affichera la question et attendra la valeur à affecter à x.

Opération d’affichage d’une valeur (écriture)

  1. sélectionner la variable à afficher
  2. puis le menu Opération → Afficher valeur
  3. une fenêtre de dialogue apparaît avec la valeur de la variable et le message qui doit être affiché lors de la ré-exécution de cette opération. Quand le programme est exécuté, une fenêtre de dialogue affichera le message et la valeur de x.