GENISTA (1971) : TUTORIEL "BBC BASIC FOR WINDOWS" EN FRANÇAIS : CHAPITRE 04 : MÉMORISER LES DONNÉES DANS DES VARIABLES



Logo Genista, fondé en 1971

Guide Tutoriel de BBC BASIC for Windows, Ch. 04

BBC BASIC (BB4W) Tutorial: Storing Data in Variables

Mémoriser les données (variables) (Tutoriel BBC BASIC, Ch. 04) [Genista]

Par Peter Nairn  •  Traduction : Guy Schaffner (Texte et images) (Genista)

informatique et programmation Vous avez appris à utiliser l'Éditeur de « BBC BASIC for Windows » Dans ce Chapitre 4, vous allez découvrir les 4 types de variables, commencer à calculer avec les opérateurs arithmétiques, apprendre à choisir des noms judicieux pour vos variables.
Vous allez maîtriser le calcul de la surface d'une figure géométrique.
Et vous allez corriger un premier « bug ».
Chapitre 3   •   Chapitre 4   •   Chapitre 5      

Chapitre 4 — Mémoriser les données dans des variables


Vous savez maintenant utiliser BBC BASIC pour afficher à l'écran et comme calculatrice. « Oh ! là là ! » pensez-vous, au moins ma calculatrice, elle, a une mémoire pour y stocker un résultat pour le réutiliser plus tard. Eh bien, le BASIC aussi. En fait, il a beaucoup de zones de mémoire utilisables pour stocker des résultats, et les informations peuvent être stockées dans différents formats. Cette partie introduit le concept de variables : des emplacements de mémoire dans l'ordinateur, qui peuvent être utilisés par un programme.

Nous avons besoin d'un petit programme pour faire cette démonstration. Si vous avez quelque chose dans l'éditeur, débarrassez-vous en en pressant la touche New (icône d'une page vierge). La machine vous préviendra si vous n'avez pas sauvegardé votre chef-d'œuvre précédent, aussi sauvegardez-le ou supprimez-le, comme vous voudrez. Maintenant, tapez :


      REM Aire d'un cercle
      Rayon=5
      Aire=3.14159*Rayon*Rayon
      PRINT "La surface de votre cercle est ";Aire
      END
    

Lancez le programme avec Run, juste pour contrôler qu'il fonctionne. Sauvegardez-le parce que nous en aurons beaucoup besoin plus tard. Tous ceux qui sont allés à l'école un jour doivent comprendre les principes utilisés ici : c'est un peu comme de l'algèbre. Si on change la deuxième ligne en mettant différentes valeurs de Rayon et qu'on relance le programme, il vous donnera un résultat différent à chaque fois. Que se passe-t-il ? Quand le programme tourne, il arrive à la deuxième ligne et voit que nous essayons d'affecter la valeur 5 à « quelque chose » qui s'appelle Rayon. Le BASIC conserve une liste d'emplacements de mémoire et il la recrée chaque fois qu'un programme est lancé. Comme c'est ici la première ligne active, il n'a pas d'emplacement mémoire qui porte le nom de Rayon, aussi il en fabrique gentiment un pour nous. Après avoir fait cela, il écrit la valeur 5 dans le nouvel emplacement.

Sur la ligne suivante, il se passe quelque chose de similaire concernant la valeur de Aire. L'affectation, cependant, est une expression, aussi a-t-il besoin de faire d'abord le calcul. Quand le BASIC en arrive à la partie qui contient Rayon, il va dans sa liste de variables et il y trouve la valeur. D'après la ligne précédente, cette valeur est 5, aussi lui substitue-t-il la valeur 5 dans l'expression. Quand cela est fini, le résultat est affecté à la variable Aire qui vient d'être créée. La quatrième ligne fait récupérer la valeur au BASIC qui l'affiche après avoir écrit un habillage de texte pour rendre tout plus clair.


Création d'une variable et stockage de sa valeur

Si vous avez ouvert l'un des programmes qui est livré avec BBC BASIC, vous y aurez vu de nombreuses lignes comme celles qui précèdent, aussi ces « choses » qu'on appelle des variables doivent être très importantes. Nous allons nous y appesantir un moment. Les variables par défaut sont des nombres à virgule flottante, c'est-à-dire avec des décimales, mais il y en a d'autres. BBC BASIC accepte quatre types différents de variables. Elles sont définies par le dernier caractère de leur nom :


TypeDescriptionExemples LimitesCaractère
Virgule flottanteNombres décimaux 3.142,
0.001,
1E10-2
–5.9E–39 jusqu'à 3.4E38# ou aucun
EntierNombres entiers32000,
4,
–66
–2147483648 jusqu'à +2147483647%
OctetNombres entiers0,  128,  255 0 jusqu'à 255&
ChaîneTexte"BBC BASIC",
"Bonjour"
N'importe quel nombre de caractères de 0 à 65535$

Il est possible de changer la résolution de nombres à virgule flottante pour obtenir une plus grande précision – voyez les fichiers d'aide pour des détails complémentaires.

Le nom d'une variable peut commencer par n'importe quelle lettre de l'alphabet (en capitales ou en minuscules), par un souligné ( _ ) ou un  accent grave ( ` ). Le nom peut ensuite avoir n'importe quelle combinaison de lettres en capitales ou en minuscules (sauf les caractères accentués), de chiffres et de soulignés. La longueur du nom n'est pas limitée, mais habituellement les noms sont gardés assez courts pour économiser la frappe. À la fin, il y a le caractère qui indique le type de variable, comme indiqué dans le tableau ci-dessus. S'il n'y a aucun caractère, la machine suppose qu'il s'agit d'un nombre à virgule flottante.

Les noms sont sensibles à la casse typographique, aussi AIRE, aire et AiRe sont différentes pour BBC BASIC (il n'en est pas forcément ainsi pour d'autres formes du langage, mais quand vous aurez utilisé celui-ci, vous n'aurez plus besoin d'aucun autre). Également, « BB4W » accepte sans rechigner des variables de types différents qui ont le même nom, ainsi Aire%, Aire et Aire$ ne lui causeraient aucune confusion, mais pourraient vous en causer à vous. C'est votre choix : soyez prudent !

Il existe une dernière limitation : les noms de variables ne doivent pas commencer par le nom d'une commande ou d'un mot-clé du BASIC comme PRINT, TAB ou CLS. Aussi, voici des noms valides :


      _ma_variable
      UnEntier%
      Prenom$
      NUM1
    

... et en voici qui ne le sont pas :


      1_homme_allait_aux_champs : REM un chiffre au début
      Il s'en allait faucher    : REM contient des espaces
      PRINT_TOTAL               : REM un mot-clé au début
    

C'est déjà un art en soi de donner un nom à une variable. À une certaine époque, on restreignait les noms à une ou deux lettres, ce qui tendait à transformer les programmes en un fouillis incompréhensible. Il n'en est pas ainsi aujourd'hui. BBC BASIC reconnaîtra des noms de variables de (pratiquement) n'importe quelle longueur. Ces deux noms seraient considérés comme différents :


      unnomveritablementtrestrestreslong1
      unnomveritablementtrestrestreslong2
    

Pourtant, vous en auriez vite assez de taper ces noms chaque fois que vous en auriez besoin et avec beaucoup de noms longs, il y aurait des conséquences sur les performances de votre programme en termes de vitesse. Dix à quinze lettres sont un bon compromis. Moins si cela est possible, mais conservez-y une certaine signification pour que les lecteurs puissent savoir ce que représentent les données. Il y a deux conventions :

• l'une met des soulignés entre les divers mots pour les séparer et les rendre plus faciles à lire, puisque les espaces ne sont pas autorisés .

• l'autre met une lettre capitale au début de chaque mot. Ainsi :


      nombre_de_fois
      NombreDeFois
    

J'ai tendance à utiliser la seconde méthode, mais c'est vous qui décidez. Comme on l'a vu, les variables sont créées la première fois que le BASIC les rencontre dans une déclaration. Elles doivent se trouver à gauche du signe « égale » ( = ). Une variable non déclarée à la droite du signe « égale » amènera une erreur. Essayez-le, en changeant la troisième ligne comme ceci :


      Aire=3.14159*Rayon*rayon
    

et lancez le programme. Faites toujours attention à la casse typographique (capitales et minuscules) !

Corrigez notre petit bug ci-dessus et faites tourner le programme du cercle. Au lieu de fermer la fenêtre, tapez-y (suivi de  Entrée  ) :

      PRINT Rayon
      PRINT Aire
    

Les variables sont toujours en mémoire et ne sont éliminées que quand la fenêtre de sortie est refermée ou que le programme est relancé. Tapez :


      CLEAR
      PRINT Rayon
    

Et nous obtenons maintenant une erreur. CLEAR force le BASIC à effacer l'ardoise et à oublier toutes ses variables. On peut s'en servir dans des programmes pour le réinitialiser avant de le faire tourner à nouveau.




Un truc : Pour lancer votre programme depuis la fenêtre de sortie PRINT

Éloignons-nous juste un instant du sujet, puisque nous parlons d'utiliser la fenêtre de sortie. Vous pouvez relancer votre programme sans fermer la fenêtre. À la suite du curseur, tapez :


          RUN
        

suivi de  Entrée . (Le mot-clé RUN est l'équivalent de la touche Run).

Et hop ! le programme démarre. C'est un tout petit peu plus rapide que de fermer la fenêtre et d'attendre qu'elle s'ouvre à nouveau.




Variables statiques


BBC BASIC fait une déclaration préalable de 26 variables entières nommées A% jusqu'à Z%. Leurs propriétés sont les mêmes que celles des autres variables entières, mais elles ont une utilisation spéciale. Elles ne sont pas effacées quand on relance le programme, même si le programme fait appel à la commande CLEAR dont il vient d'être question. Elles ne sont même pas effacées si le programme en appelle un autre. Quand on ferme BBC BASIC, bien évidemment, toutes les valeurs sont perdues. L'utilisation de cette fonctionnalité relève probablement de la catégorie supérieure, mais ça vaut la peine d'être noté.



Exercices


Maintenant que nous avons une idée précise des variables et de leur utilisation, essayez les exercices suivants :

04.1
Modifiez le programme d'aire pour donner la circonférence d'un cercle avec 3.14159*diametre (on ne met jamais d'accent sur les variables).

04.2
Affichez la surface d'un rectangle dont on connaît la longueur et la largeur.

04.3
Définissez une variable chaîne pour contenir votre prénom, et affichez à l'écran :


      Bonjour, xxxx
    

où « xxxx » est, bien sûr, votre prénom.



Fin du Chapitre 4





Haut de Page  •  [Top of Page]

Page suivante (Ch. 5)  •  [Next Page (Ch. 5)]

Page précédente (Ch. 3)  •  [Previous Page (Ch. 3)]

Page d'entrée : BASIC, BBC BASIC et BB4W  •  [BASIC, BBC BASIC and BB4W  Entry Page]

Début du Guide pratique du BBC BASIC  •  [The Beginning of the BBC BASIC Tutorial]

Autres sujets  •  [Other subjects]