> Théorie
PrograZine issue #8 - http://www.citeweb.net/discase/8/CASIO.htm Edito Sommaire Contribution Contacts


Programmation sur Casio
par Adrien REBUZZI - darokin@infonie.fr
Débutant Casio Basic
> fichiers attachés





     Ce texte a été créé dans le but de vous enseigner l'art de la programmation mais plus principalement vous apprendre à connaître un peu mieux le langage CASIO qui est du BASIC-Like.

     Ce texte se veut de toucher tout le monde, ayant des connaissances ou non en programmation. Ceci ne fera pas de vous un programmeur hors paire (que je ne suis pas non plus) mais au moins vous connaîtrez le B.A.BA de la program
     Si vous voulez reprendre cet ouvrage ou une petite partie de cet ouvrage (c'est un grand mot), il suffiras simplement d'en informer l'auteur REBUZZI ADRIEN par un simple e-mail à l'adresse suivante: darokin@infonie.fr

    DISCLAIMER: L'auteur ADRIEN REBUZZI (moi) ne peut en aucun cas être tenu responsable de l'auto-combustion de votre calculette CASIO a la suite de l'utilisation d'une de ces routines.
>Compatibilité:

     Tout ces programmes ont été testés sur une CFX-9940GT mais je pense que 80% de vous possèdent une Graph 30, ces programmes sont censés marcher sur une Graph 30 et normalement les Graph 20.
>1ère leçon:
>Les fonctions de bases:
>Affichage d'un texte:

     Pour afficher un texte il suffit juste de le mettre entre guillemets. Exemple:
  "SALUT"                         'affichage du mot salut
l

     Pour afficher un texte à un endroit précis en mode texte, il faut utiliser la fonction LOCATE: Exemple:
Locate 5,2,"COOL..."        'affichage du mot cool aux coordonnées     'x=5,y=2
l

     Rappel de la taille de l'écran en mode texte:
abscisse =  de 1 à 21.
ordonnée =  de 1 à 7.
l
>Manipulation des variables.
>Allocation d'une valeur à une variable:

     -> signifie Store et en programmation cela sert pour assigner une valeur à une variable en l'occurrence A.

     La valeur de la variable a sera un chiffre entre 0 et 25.

     De la même manière, 10->A signifie que l'on donne la valeur 10 à la variable A.

     Pour afficher la valeur d'une variable il faut utiliser le signe Disp sur CASIO qui est un petit triangle noir et que je représenterais moi par le signe $.

    Exemple:
    14->A          'maintenant A "contient" 14 
    A$             'n'oubliez pas que le dollar est en fait le petit signe d'escalier ou le
 			 'triangle de la CASIO : affiche la valeur de la variable A
l

     Ceci affichera la valeur de la variable A, ici 14.

    DISP signifie que la calculette est en attente d'une touche.

     On pourrait aussi avoir besoin d'incrémenter [ajouter 1] ou décrémenter [soustraire 1] à une variable. Pour ajouter 1 à une variable, il suffit de faire comme ceci.

    Exemple:
	7->C			'C = 7
	C+1->C
l

    Et maintenant, à combien correspond la variable C. Ce qui ont répondu 8 ont un bon point. Mais on pourrait faire X+5*Y->A et A serait égal à la valeur de la variable X plus la valeur de la variable Y multipliée par 5.
>Isz et Dsz :

     Ces deux fonctions servent respectivement à incrémenter et à décrementer une variable, c'est à dire ajouter ou soustraire un. C'est une bonne alternative à notre habituelle X+1->X.

    Quand on met X+1->X, on peut remplacer par : Isz X

    Quand on met X-1->X, on peut remplacer par : Dsz X
>Nombre aléatoire :

     Pour choisir un nombre aléatoire, il faut utiliser la fonction #Ran [du mot random qui signifit aléatoire en anglais] et pour que ce chiffre soit un chiffre entier, utiliser la fonction Int.

    Exemple:
Int 25#Ran->A      'Arrondir(Int) la valeur du chiffre
                   'aléatoire(#Ran)compris entre 0 et 25
                   'qui va ensuite être enregistrée dans la
                   'variable A
l
>Les 2 points :

    Les deux point ( : ) vous permette de faire suivre deux fonctions dans un programme et ceci sans interruption, les deux fonctions sot alors tapées à la suite sans aller à la ligne mais séparées par les deux points. EX : Vous pouvez faire
  " une fois " : 5->A
l
>Input :

     Pour nous reposer un peu les méninges, nous allons voir une petite fonction très simpliste et pourtant très utile. Tout d'abord, cette fonction sert à demander à l'utilisateur de rentrer une valeur pour ensuite la stocker da
    Exemple :
    ?->A				'le " ? " signifie que l'on demande une valeur et la flèche que l'on
			      	'enregistre cette valeur dans la variable a
l

    Si vous lancé ce programme, vous verrez apparaître un point d'interrogation et vous n'aurez plus qu'a rentrer une valeur.

     Ensuite libre à vous de multiplier cette valeur, de l'additionner......mais voyons plutôt le sens pratique et faisons un petit programme utile pour gagner du temps au contrôle de Maths.

     Vous faites sûrement des équations du second degré (de la forme : ax² + bx + c = 0 ), il vous est donc utile de calculer le discriminant (B²-4*(A)*(C)) d'une équations, eh bien voici un programme qui va vous aidez à le calcu
" A " ?->A
" B " ?->B
" C " ?->C
B²-4*(A)*(C)$     'le $ doit être remplacer par le
                  'petit escalier noir spécifique
                  'à CASIO
l

    Voilà, à vous de comprendre comment marche ce programme.
>Comment créer des sous parties à vos programmes:

     En programmation, on peut créer une certaine partie contenant du code que l'on peut rappeler à n'importe quel moment dans le programme, ceci est appelé une procédure en pascal, on peut faire en gros la même chose avec des labe
     Pour montrer que l'on commence une nouvelle partie, il faut utiliser la fonction Label qui est abrégé et donne Lbl sur CASIO puis il suffit juste de donner un nom à cette sous partie mais attention ce nom ne peut contenir qu'u
    Exemple
        Lbl A                	est correct
        Lbl 5                	est correct
        Lbl 12              	n'est pas correct
        Lbl Bonjour     	n'est pas correct
l

    Pour appeler une sous partie il faut utiliser la fonction Goto (de l'anglais "allez à"). Il suffit juste de faire suivre la fonction Goto du nom de votre Label (sous partie).

     Exemple
        Goto 5              'allez au label 5
        Lbl A               'définition du label A
        "TADA"             'dans le label A toujours, écrire le mot prout
        Lbl 5               'définition du label 5
        "SALUT"             'dans le label 5, écrire le mot salut
l

     Ce programme affichera le mot salut mais pourquoi pas le mot TADA eh bien parce que à la première ligne, il lit Goto 5 et recherche donc le Label 5 et l'effectue en sautant au dessus du Label A. Attention cependant car le prog
     Mais j'imagine que vous en avez assez de la théorie et que vous voulez passer à la pratique et c'est pour cela que nous allons voir comment faire un petit programme simpliste que l'on voit sur presque toutes les calculett
     Imaginons que vous vouliez faire écrire et réécrire un texte, celui-ci reviendrait à la ligne et l'on aurait alors tout simplement un scrolling vertical.

     Voici le programme:
 Lbl 1			'définition d'un label appelé 1
 "VERTICAL SCROLL" 	'texte à modifier si vous voulez
 Goto 1			'on retourne au label 1
l

     Voyons ce que fait le programme: Il va dans le label 1, il affiche les mots VERTICAL SCROLL, il lit la ligne Goto 1 et retourne donc au label 1 [le début du programme] et continue, il réinscrit les mots VERTICAL SCROLL cette f " " entre "VERTICAL SCROLL" et Goto 1, ainsi il y aura un espace entre chaque "réinscription" des mots VERTICAL SCROLL. Remplacez les mots VERTICAL SCROLL par votre prénom et vous aurez un petit programme rigolo.

     Avant de nous quittez, améliorons encore ce programme mais je vous laisse le tester et le comprendre par vous même:
 Lbl 0
 "A             A"
 " A           A "
 "  A         A  "
 "   A       A   "
 "    A     A    "
 "     A   A     "
 "       A       "
 "     A   A     "
 "    A     A    "
 "   A       A   "
 "  A         A  "
 " A           A "
 "A             A"
 "A   DAROKIN   A"    'vous pouvez remplacer darokin  =)
Goto 0
l

    Voila, vous pouvez changer A avec n'importe quel symbole disponible sur la CASIO.

     Je vous conseille fortement d'utiliser les labels car cela vous permet de bien structurer votre programme surtout lorsque c'est un long programme mais n'en abusez pas non plus.

    Voila, c'est fini pour cette première leçon.

    Maintenant des petits exercices que je vous donne pour conclure cette première leçon:
  • Faire un programme qui incrémente continuellement une variable E. Problème, ca ne s'arrête jamais donc il faudra utiliser une nouvelle fonction que l'on verra la prochaine fois..
  • Faire un programme qui en mode texte écris plein de valeur au hazard mais toujours au même endroit.

    Avant de vous quittez et pour que vous bossiez un peu, je vous donne le listing d'un petit prog et vous essayerez de devinez ce que ce programme fait.
>La prochaine fois, on verra:
  • Les tests et les boucles: If...then ; For...To ;Do..Loop ; LoopWhile ; etc ....
  • Les sources d'un jeu que vous décortiquerez.

    N'hésitez pas à m'écrire pour m'envoyer vos réponse ou si vous voulez que quelque chose soit traiter dans ce cours ou pour me poser une question.

     e-mail : darokin@infonie.fr
Cet article est la propriété de Adrien REBUZZI. L'auteur et la rédaction du magazine déclinent toutes responsabilités vis-à-vis des conséquences que pourrait entraîner ce document.