Rss Les variables et les constantes

Sommaire:

 

Les variables



Nous allons commencer par voir ce qu'est une variable.

Mais avant cela, j'ai une question à vous poser :

Avez vous de la mémoire ?

Quelle question, bien sûr que j'ai de la mémoire !

J'en suis heureux pour vous et sachez que votre NXT possède lui aussi de la mémoire.

Cette mémoire lui sert à mémoriser un tas de chose, comme les programmes que vous lui envoyés par exemple.

Mais elle peut lui servir aussi à mémoriser autres choses que des programmes.

Elle peut également lui permettre de mémoriser des informations.

Normalement, on ne s'occupe pas trop de la mémoire du NXT. C'est lui même qu'il l'a gère tous seul comme un grand.

C'est vrai quoi, on ne va pas rentrer dans sa tête à ce garçon !

Toutefois, il peut être utile parfois de lui demander de mémoriser une information de manière à la réutiliser plus tard.

Et dans un programme NXT-G, c'est justement le rôle d'une variable que de mémoriser une information lorsque cela est nécessaire.

Expliquons donc un peu ce fameux termes de variable.

C'est vrai quoi, pourquoi un terme si bizarre que "variable" alors que "mémoire" aurait été très bien ?


Qu'est-ce qu'une variable




Imaginez-vous une variable comme un tiroir.

Le tiroir c'est votre variable.

Un jour vous ouvrez votre tiroir pour y mettre une paire de ciseaux pour pouvoir la récupérer plus tard.

Un autre jour vous ouvrez votre tiroir pour y placer un couteau et pouvoir le reprendre ensuite.

Le contenu de votre tiroir peut varier, ce n'est pas toujours le même. Un coup une paire de ciseaux et ensuite un couteau.

Et bien une variable c'est la même chose.

Une variable est une case de la mémoire du NXT, comme un petit tiroir, dans laquelle on y met une information comme un nombre par exemple.

Un coup cette variable peut contenir un nombre comme 56 par exemple et un autre coup elle pourrait très bien contenir un autre nombre comme 14,3 par exemple.

C'est justement parce que son contenu peut varier qu'elle est appelée variable.

Cette variable sert donc à mémoriser une information, comme un nombre, pour pouvoir retrouver cette même information un peu plus tard dans votre programme pour être utilisée par celui-ci.

Et chez vous, si vous avez plusieurs tiroirs de rangement contenant chacun des objets différents, vous mettez une étiquette sur chacun d'eux pour vous repérer facilement lorsque vous voudrez retrouver vos objets rapidement.

Il y aurait, par exemple, un tiroir étiqueté Couteaux, un autre Ciseaux, etc ...

Et bien on fait la même chose avec les variables, on donne un nom à chacune d'entre-elles pour reconnaître facilement quelles informations elles mémorise.

Vous pourriez très bien avoir dans vos programmes des variables nommées par exemple Capteur d'ultrasons, pour mémoriser dedans la distance mesurée par ce capteur, ou Luminosité pour mémoriser l'intensité de lumière mesuré par le capteur de lumière.

Comme vous l'aurez compris, une variable est composée d'un nom et d'une valeur :

  • Un nom : Capteur d'ultrasons, Luminosité, etc ...
  • Une valeur : 56 ou 14,3 etc ...


Notez que la valeur n'est pas forcément un nombre, mais peut très bien être une valeur logique "Vrai/Faux" ou encore un texte.

Simple, n'est ce pas.

Mais pour pouvoir utiliser un peu de la mémoire du NXT, il va falloir le demander gentiment en lui déclarant que nous souhaitons avoir pour notre programme une variable d'un certain type et ayant un certain nom.

C'est le but de la déclaration de variable que nous allons aborder maintenant.


La déclaration de variable




Cette déclaration de variable est très importante et doit être faite avant toutes utilisations des variables.

Si vous ne faites pas de déclaration de variable, vous ne pourrez tous simplement pas utiliser cette variable dans votre programme.

Pour déclarer une variable, il faut utiliser l'option "Définir les variables" du menu Modifier de votre logiciel NXT-G.



Ceci ouvrira une boîte de dialogue vous permettant de créer, modifier ou supprimer vos variables.



Vous pouvez voir dans la liste des variables que certaines d'entre-elles existent déjà !

Elle sont au nombre de trois et sont chacune une variable par défaut pour chaque type de données.

Vous pouvez donc les utiliser, mais n'y êtes pas obligé.

Pour créer une nouvelle variable, il faut d'abord et avant tout cliquer sur le bouton "Créer".



Vous pouvez voir dans la liste votre nouvelle variable ainsi créée.

Il ne vous reste plus qu'à lui donner un nom et le type de données quelle va devoir contenir à l'aide des deux champs éponyme de cette fenêtre.

Dans cet exemple, nous créons une variable nommée "Ma variable" qui est de type "Numérique".



Vous pouvez ainsi créer autant de nouvelles variables que nécessaire dans votre programme.

Notez que vous pouvez changer le nom d'une variable à tous moment, après sélection de celle-ci dans la liste des variables, et même la supprimer à l'aide du bouton "Supprimer".

Sauf pour les trois variables par défaut qui ne peuvent être ni modifiée, ni supprimée.

Une fois vos variables déclarées, un dernier clic sur le bouton "Fermer" finalisera cette déclaration de variable.

Maintenant nous pouvons utiliser la variable que nous venons de déclarer.


Utilisation des variables




Pour utiliser une variable, il existe dans la palette données du logiciel NXT-G un bloc "Variable".

Voici à quoi il ressemble :




Vous pourrez distinguer dans son panneau de configuration la ou les variables que vous venez de déclarer.

Sélectionnez ainsi la variable que vous voulez utiliser dans la liste affichée sur la droite, comme sur l'image ci-dessus avec la variable nommée "Ma variable".

Notez enfin les deux boutons côté gauche du panneau de configuration qui vous permettent de configurer votre bloc "Variable" pour "Lire" la valeur contenue dans celle-ci ou pour "Ecrire" une valeur dans cette même variable.

Lorsque vous choisissez l'option "Ecrire", le bloc "Variable" mémorise la valeur que vous entrez dans le champ nommé "Valeur" juste en dessous.

Si un fil de données est connecté au bloc "Variable", la valeur transporté par ce fil de données est mémorisé dans la variable.

Et si une précédente valeur été déjà présente dans la variable, cette ancienne valeur se retrouve effacée et remplacée par la nouvelle valeur.

Lorsque vous choisissez l'option "Lire", le bloc "Variable" vous restitue la valeur de cette variable par l'intermédiaire d'un fil de données que vous pouvez utiliser dans votre programme.

Notez que lors de la lecture de cette variable, la valeur de celle-ci reste inchangée et vous retrouverez la même valeur si vous utilisez à nouveau un autres bloc "Variable" pour lire sa valeur.

Voyons maintenant l'utilisation pratique d'une variable.


Premier programme d'exemple




Comme premier programme d'exemple, je vous propose de voir le concept d'utilisation d'une variable.

Pour cela je vous invite à connecter votre capteur d'ultrasons sur le port 4 de votre NXT.

Commencez donc par déclarer une variable numérique que vous nommerez "Distance".



Cette variable contiendra ainsi l'information de distance mesurée par votre capteur d'ultrason.

Ensuite, réalisez le programme suivant :










Ce programme tous simple fonctionne de la manière suivante.

Le bloc "Ultrasons" effectue une mesure de distance à l'aide du capteur d'ultrasons.

La valeur de cette mesure est ensuite mémorisée dans la variable "Distance".

Un bloc "Attendre" permet de faire une première pause de 5 secondes pour qu'ensuite la valeur de cette même variable soit lu et affichée sur l'écran du NXT par l'intermédiaire des blocs "Nombre en texte" et "Afficher".

Enfin, une dernière pause de 10 secondes vous permet de lire l'écran du NXT avant que le programme ne prenne fin.

Rien de sorcier jusque là me direz-vous ...

Nous aurions très bien pu relier directement le bloc "Ultrasons" au bloc "Nombre en texte".

Mais ce programme permet de mettre en avant le concept d'utilisation d'une variable.

Ici, une valeur est mémoriser dans une variable pour être réutilisée plus loin dans le programme.

Nous avons donc vu comment écrire une valeur dans une variable et comment lire cette même valeur par la suite.

Mais quelques-fois vous aurez besoin de modifier la valeur de cette variable après avoir effectuer un calcul quelconque.

C'est l'objectif de démonstration du second programme d'exemple ci-dessous.


Second programme d'exemple




Dans ce second programme, le but est de compter le nombre de fois que vous allez appuyer sur le bouton orange de votre NXT.

Ici, nous n'aurons pas besoin de déclarer une nouvelle variable car nous utiliserons une des variables par défaut et que celle-ci est donc déjà déclarée.

Nous nous contenterons d'utiliser la variable de type numérique nommée Nombre 1.

Cette variable contiendra ainsi le nombre de fois que nous avons déjà appuyé sur le bouton orange du NXT.

Réalisez donc le programme suivant :











Voyons maintenant le fonctionnement de ce programme.

Concernant la variable Nombre 1, le programme comporte deux partie distincte que sont d'une part ce que l'on appelle l'initialisation de la variable et d'autre part la modification de la variable.


L'initialisation d'une variable




Lorsque vous programmez avec des variables, il est très important d'initialiser celles-ci en leurs donnant une valeur initiale.

C'est la seule façon d'être sûr que votre programme s'exécutera toujours de la même manière.

Sinon, le fonctionnement du programme sera indéterminé !

Ici nous initialiserons la variable Nombre 1 en lui donnant dès le début du programme une valeur de 0.



Vous pourriez penser que vu qu'elle doit être à zéro, il n'y a donc pas besoin de le faire puisqu'elle le sera automatiquement.

Ce serait commettre une erreur des plus classiques.

En effet, au démarrage de votre programme, vous ne pouvez pas être sûr de la valeur initiale d'une variable.

Celle-ci peut contenir n'importe quel valeur autre que zéro. C'est pour cela que même s'il vous faut une variable d'une valeur égale à zéro, vous devez l'initialiser pour être sûr de sa valeur.

La meilleur manière de faire les initialisations de vos variables est de le faire au tout début de votre programme, spécialement dans des grands programmes.


Modification d'une variable




Le programme débute, après l'initialisation de la variable, par une boucle sans fin comme d'habitude.

A l'intérieur de cette dernière, le programme va attendre que l'utilisateur appui sur le bouton orange du NXT à l'aide du bloc "Attendre".

Une fois l'appui détecté, la valeur de la variable Nombre 1 est lu grâce au premier bloc "Variable".

Et, initialement, cette valeur est égale à 0.

Cette valeur est alors transmise par un fil de données à un bloc "Math" chargé d'incrémenter cette valeur, c'est à dire de lui additionner la valeur de 1.

Le résultat de ce calcul est envoyé, par l'intermédiaire d'un fil de données, à deux endroit différent.

D'une part, ce résultat est renvoyé dans la variable Nombre 1 à l'aide du second bloc "Variable".

Ce qui fait que l'ancienne valeur présente dans la variable Nombre 1, la valeur initiale de 0, est supprimée et remplacée par la nouvelle valeur issue du résultat du calcul précédent.

En fait, nous venons de faire l'opération suivante : variable~Nombre~1~=~variable~Nombre~1~+~1

Il y a donc eu modification de la valeur de la variable Nombre 1.

D'autre part, ce même résultat est envoyé à un bloc "Nombre en texte" qui, avec l'aide du bloc "Afficher", va fournir le résultat de ce comptage sur l'écran du NXT.

Le programme bouclant sur lui-même, le programme se retrouvera au bloc "Attendre" à patienter jusqu'à un nouvel appui sur le bouton orange du NXT et l'opération se répétera à nouveau.

Toutefois, cette fois-ci, la variable Nombre 1 contient maintenant la valeur 1.

L'opération suivante : variable~Nombre~1~=~variable~Nombre~1~+~1 donnera donc 1 + 1 = 2.

Donc, après se second appui sur le bouton orange du NXT, l'afficheur indiquera bien la valeur 2.

Et ainsi de suite ...

Vous voyez donc bien que dès que vous envoyez une valeur dans une variable à l'aide d'un fil de données, l'ancienne valeur de celle-ci est remplacée par la nouvelle valeur.

Voila donc pour les variables.

Intéressons nous maintenant aux constantes.

 
 « Page précédente
Introduction
 1  2  3  4 
Page suivante »
Les constantes 
 
 
1 Note
Ecrit par: FRED_80 Le: 29/03/12