Basic Casio

De Casio Universal Wiki
Révision datée du 1 mai 2014 à 09:56 par Lephenixnoir (discussion | contributions) (Commandes avancées)
Aller à : navigation, rechercher

Présentation du Basic Casio

Le Basic Casio est un langage de programmation simple destiné à la programmation d'algorithmes basiques voir plus complexes par des étudiants ne possédant pas une formation spécialisée. C'est un langage interprété, c'est à dire qu'il est "lu" par un programme spécial pour fonctionner. Les calculatrices Casio possèdent le même langage, mais qui peut ne pas être compatibles entre certaines calculatrice, comme la Prizm (FX-CG10/20), ou encore la Classpad.

Le Basic Casio, initialement destiné aux algorithmes, a vite été détourné afin de programmer des jeux sur les calculatrices. Toutefois, l'interprétation du basic reste beaucoup plus lente que celle du Lua (voir LuaFx), et est beaucoup plus lente que l'exécution du C (voir le système de développement des SDK).

C'est pour cela que les jeux en basic les plus agréables sont les jeux de réflexion, où la lenteur du Basic n'est pas gênante.

Créer un nouveau programme

A partir du menu de la calculatrice, aller dans le menu PRGM (touche '9' pour les Graph 35+(USB) et 'B' pour les autres). Les onglets qui apparaissent en bas de la fenêtre permettent de gérer les programmes. Les commandes sont les suivantes.

  • EXE : Permet de lancer le programme.
  • EDIT : Donne accès à l'éditeur de code pour modifier le programme.
  • NEW : Crée un nouveau programme.
  • DEL : Supprime (après confirmation) le programme sélectionné. Aussi accessible par la touche "DEL" du clavier.
  • DEL-A : Supprime (après confirmation) tous les programmes.
  • SRC : Permet d'effectuer une recherhce dans la liste des programmes.
  • REN : Renomme le programme sélectionné.

En appuyant sur [F3], on crée un nouveau programme. Le bouton "BASE" permet de créer un programme dit en mode Base, qui fonctionne différement et indépendamment des programmes classiques. Le symbole de la clé donne la possibilité d'ajouter un code d'accès qui sera demandé à chaque fois que l'utilisateur tentera d'éditer le programme.

Débuter en basic Casio

Le Basic Casio possède une multitude d'instructions, les plus élémentaires étant les instructions suivantes. Celles-ci permettent de réaliser des algorithme de base (en mathématiques par exemple).


  • L'affichage de données avec le symbole DISP : DISPLAY.gif. ([SHIFT]+[PRGM]+[F5])
  • La saisie de données : ? ([SHIFT]+[PRGM]+[F4])
  • Affectation de valeurs aux variables : Arrow.gif (touche située au-dessus de [AC/ON])
  • Affichage du texte à l'écran, avec les guillemets (e.g. "Texte a afficher"). ([ALPHA]+[*10^x])

Commandes de base

  • Les conditions
If Condition                // On définit la condition                                                           => [SHIFT][VARS][F1][F1]
Then Instructions           // Les instructions à exécuter si la condition est vraie                             => [SHIFT][VARS][F1][F2]
Else Instructions           // Facultatif, instructions à exécuter si la condition est fausse                    => [SHIFT][VARS][F1][F3]
IfEnd                       // Fin de la condition                                                               => [SHIFT][VARS][F1][F4]
Condition => Instruction    // Plus rapide mais ne permet d’exécuter qu'une seule instruction                    => [SHIFT][VARS][F3][F3]


  • Les boucles
While Condition             // On définit la condition de la boucle                                      => [SHIFT][VARS][F1][F6][F6][F1]
Instructions                // Les instructions à exécuter tant que la condition est vraie  
WhileEnd                    // Fin de la boucle                                                          => [SHIFT][VARS][F1][F6][F6][F2]
Do                          // Début de la boucle                                                        => [SHIFT][VARS][F1][F6][F6][F3]
Instructions                // Les instructions à exécuter tant que la condition est vraie
LpWhile Condition           // On définit la condition de la boucle                                      => [SHIFT][VARS][F1][F6][F6][F4]

La différence entre un boucle "While/WhileEnd" et une boucle "Do/LpWhile" est que, si la condition est fausse depuis le début, une boucle "While/WhileEnd" ne fera aucune itération, tandis qu'une boucle "Do/LpWhile" en fera toujours au moins une.


For Valeur initiale Arrow.gif Variable To Valeur finale Step Pas     
Instructions                // Les instructions à exécuter pendant la boucle 
Next                        // Fin de la boucle
For                                 => [SHIFT][VARS][F1][F6][F1]
To                                  => [SHIFT][VARS][F1][F6][F2]
Step  (Facultatif, 1 par défaut)    => [SHIFT][VARS][F1][F6][F3]
Next                                => [SHIFT][VARS][F1][F6][F4]


  • Les sauts inconditionnels
Goto nombre ou lettre       // Fait un saut inconditionnel vers le "Lbl" avec le même identifiant                => [SHIFT][VARS][F3][F2]
Lbl nombre ou lettre        // Marque le point d'arrivée d'un "Goto" avec le même identifiant                    => [SHIFT][VARS][F3][F1]


  • Les opérateurs relationnels :
Premier terme = Second terme                                                                                 => [SHIFT][VARS][F6][F3][F1]
Premier terme  Second terme                                                                                 => [SHIFT][VARS][F6][F3][F2]
Premier terme < Second terme                                                                                 => [SHIFT][VARS][F6][F3][F4]
Premier terme > Second terme                                                                                 => [SHIFT][VARS][F6][F3][F3]
Premier terme  Second terme                                                                                 => [SHIFT][VARS][F6][F3][F6]
Premier terme  Second terme                                                                                 => [SHIFT][VARS][F6][F3][F5]


  • Les commandes de contrôle
Prog Nom du programme       // Exécute un autre programme dont on spécifie le nom comme une sous-routine         => [SHIFT][VARS][F2][F1]
Return                      // Ramène dans le programme appelant                                                 => [SHIFT][VARS][F2][F2]
Break                       // Force la sortie d'une boucle                                                      => [SHIFT][VARS][F2][F3]
Stop                        // Arrête l'exécution du programme                                                   => [SHIFT][VARS][F2][F4]


  • Autres
La répartition du Getkey sur Fx-9860
Locate, coordonnée en x (1;21), coordonné en y (1;7), "Texte"
                            // Affiche du texte au coordonnées spécifiées             => [SHIFT][VARS][F6][F4][F1]
GetKey                      //Prend une valeur selon la touche pressée                => [SHIFT][VARS][F6][F4][F2]

Commandes avancées

  • Les opérateurs logiques:

Ceux-ci servent à relier deux conditions ou plus pour n'en faire qu'une. Elles se situent dans l'onglet "LOGIC".

C1 And C2 // La condition est vraie ssi les deux conditions sont vraies                  =>  [OPTN][F6][F6][F4][F1]
C1 Or C2  // La condition est vraie ssi au moins l'une des deux conditions est vraie     =>  [OPTN][F6][F6][F4][F2]
Not C     // Inverse la condition                                                        =>  [OPTN][F6][F6][F4][F3]
C1 Xor C2 // La condition est vraie ssi une et une seule des deux conditions est fausse  =>  [OPTN][F6][F6][F4][F4]


  • Les chaînes de caractères (Strings)

Disponibles uniquement sur les calculatrices disposant d'une version de l'OS supérieur à 2

Les chaînes de caractères permettent d'insérer du texte dans des variables spéciales, les Strings (Str). Le Basic Casio dispose aussi de fonctions permettant de les manipuler.

Str Identifiant (1Arrow.gif6)       // Permet d'accéder à une chaîne à la mnière des listes                                     => [VARS][F6][F5]

Commandes graphiques

On pourrait dire que dans le Casio-BASIC il y a deux écrans, le premier est l'écran texte, qui a 21 colonnes, 7 lignes, et affiche du texte avec la commande "Locate". Le second est l'écran graphique, qui permet de contrôler chaque pixel indépendamment. Il a 127 colonnes et 63 lignes (les dimensions de l'écran, dont une colonne et une ligne sont inaccessibles). Ces deux écrans sont indépendants et on peut pas afficher le contenu des deux en même temps. Les commandes utilisées pour afficher dans cet écran sont les suivantes:

ViewWindow valeur minimale en x, valeur maximale en x, échelle en x, valeur minimale en y, valeur maximale en y, échelle en y       //Défini les dimensions de l'écran graphique. Pour pouvoir obtenir toutes les coordonnées des pixels sous la forme de nombres entiers, il est recommandé de la définir comme ceci: ViewWindow 1, 127, 0, 1, 63, 0 => [SHIFT] [F3] [F1]

Il est aussi recommandé d'enlever les axes, la grille et autres afin d'avoir un écran blanc

Cls       //Efface l'écran graphique => [SHIFT] [F4] [F1]
PlotOn coordonnée en x, cordonnée en y       //allume un pixel aux coordonnées spécifiées => [SHIFT] [F4] [F6] [F1] [F2]
PlotOff coordonnée en x, cordonnée en y       //éteint un pixel aux coordonnées spécifiées => [SHIFT] [F4] [F6] [F1] [F3]
PlotChg coordonnée en x, cordonnée en y       //change l'état d'un pixel aux coordonnées spécifiées, c'est à dire que s'il est éteint il l'allume et s'il est allumé il l'éteint => [SHIFT] [F4] [F6] [F1] [F4]
PxlOn coordonnée en x, cordonnée en y       //allume un pixel aux coordonnées spécifiées => [SHIFT] [F4] [F6] [F6] [F3] [F1]
PxlOff coordonnée en x, cordonnée en y       //éteint un pixel aux coordonnées spécifiées => [SHIFT] [F4] [F6] [F6] [F3] [F2]
PxlChg coordonnée en x, cordonnée en y       //change l'état d'un pixel aux coordonnées spécifiées, c'est à dire que s'il est éteint il l'allume et s'il est allumé il l'éteint => [SHIFT] [F4] [F6] [F6] [F3] [F3]

La différence entre les commandes Plot et les commandes Pixel est que, dans l'axe des ordonnées pour les commandes Plot l'origine est au en bas de l'écran, et pour les commandes Pixel il est en haut de l'écran. De plus, dans les commandes Plot le repère est la ViewWindow, Tandis que les commandes Pixel ont un repère indépendant

Aller plus loin

Tutoriels de qualité


Page non finie...