Basic Casio
Le wiki nécessite l'aide de tout le monde pour pouvoir être complété !
Si vous pouvez aider, n'hésitez pas ! Pour contribuer, inscrivez-vous et soyez connecté. Si ce n'est pas le cas, inscrivez vous !
|
Sommaire
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.
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 : . ([SHIFT]+[PRGM]+[F5])
- La saisie de données : ? ([SHIFT]+[PRGM]+[F4])
- Affectation de valeurs aux variables : (touche située au-dessus de [AC/ON])
- Affichage du texte à l'écran, avec les guillemets (e.g. "Texte a afficher"). ([ALPHA]+[*10^x])
- Les commentaires de texte avec le symbole " ' ", jusqu'à la fin de la ligne
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 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
Locate, x, y, "Texte" // Affiche du texte aux 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 // Est vrai ssi les deux paramètres sont non nuls => [OPTN][F6][F6][F4][F1] C1 Or C2 // Est vrai ssi au moins l'un des deux paramètres est non nul => [OPTN][F6][F6][F4][F2] Not C // Est vrai ssi le paramètre est nul => [OPTN][F6][F6][F4][F3] C1 Xor C2 // Est vrai ssi un et un seul des deux paramètres est non nul => [OPTN][F6][F6][F4][F4]
Les paramètres non nuls sont soit des variables dont la valeur est différente de 0, soit des expressions conditionnelles vraies. On peut donc utiliser le résultat d'une condition logique en paramètre d'une autre.
- 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 (16) // Permet d'accéder à une chaîne à la manière des listes => [VARS][F6][F5]
Commandes graphiques
Les repères d'affichage
Le Basic Casio permet de gérer deux écran. Le premier est l'écran de texte, qui a 21 colonnes, 7 lignes, et dans lequel on 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.
L'écran graphique utilise deux repères pour l'affichage.
- Le premier est le repère du graphique, dans lequel sont tracées les courbes. Ce repère est défini par la commande ViewWindow.
- Le second est le repère statique de l'écran. Chaque pixel a des coordonnées entières, et la valeur pour y=0 se trouve en haut de l'écran. Toutes les coordonnées y sont positives.
Préparer l'écran pour le programme
Les commandes utilisées pour préparer l'écran graphique sont les suivantes.
ViewWindow Xmin, Xmax, Xscale, Ymin, Ymax, Yscale => [SHIFT][F3][F1]
La commande ViewWindow définit les dimensions du repère graphique. Comme de nombreuses fonctions l'utilisent plutôt que le repère statique, il est utile de le définir au plus près de ce dernier.
ViewWindow 1,127,1,1,63,1
Il est aussi recommandé d'enlever les axes, la grille et autres afin d'avoir un écran blanc.
CoordOff => [SHIFT][MENU][F2][F2] GridOff => [SHIFT][MENU][F3][F2] AxesOff => [SHIFT][MENU][F4][F2] LabelOff => [SHIFT][MENU][F5][F2]
Dessiner à l'écran graphique
Les fonctions utilisées pour dessiner à l'écran graphique sont les suivantes.
Cls // Efface l'écran graphique => [SHIFT][F4][F1] PlotOn x, y // Allume le pixel aux coordonnées spécifiées => [SHIFT][F4][F6][F1][F2] PlotOff x, y // Éteint le pixel aux coordonnées spécifiées => [SHIFT][F4][F6][F1][F3] PlotChg x, y // Inverse l'état du pixel aux coordonnées spécifiées => [SHIFT][F4][F6][F1][F4] Line // Trace une ligne entre 2 pixels allumés avec PlotOn => [SHIFT][F4][F6][F2][F1] F-Line x1, y1, x2, y2 // Trace une ligne entre les points spécifiés => [SHIFT][F4][F6][F2][F2] PxlOn x, y // Allume le pixel aux coordonnées spécifiées => [SHIFT][F4][F6][F6][F3][F1] PxlOff x, y // Éteint le pixel aux coordonnées spécifiées => [SHIFT][F4][F6][F6][F3][F2] PxlChg x, y // Inverse l'état du pixel aux coordonnées spécifiées => [SHIFT][F4][F6][F6][F3][F3]
Les commandes Plot, Line ainsi que F-Line utilisent le repère du graphe.
Les commandes Pxl utilisent le repère statique de l'écran.
Utiliser les Pictures
Il est possible de stocker le contenu d'un écran graphique dans la mémoire sous la forme d'une Picture, puis de le rappeler. Ceci n'efface pas l'écran.
StoPict p // Stocke l'écran graphique dans la Picture p => [OPTN][F6][F6][F2][F1] RclPict p // Affiche à l'écran graphique le contenu de la Picture p => [OPTN][F6][F6][F2][F2]
Utiliser les Captures
Les Captures sont des captures d'écran réalisées par le système lorsque vous appuyez sur [SHIFT][7]. Vous pouvez les utiliser pour afficher des images également, et elles ont l'avantage d'être deux fois mois lourdes que les Picture.
RclCapt p // Affiche à l'écran graphique le contenu de la Capture p => [OPTN][F6][F6][F5][F1]
Cependant, on ne peut dessiner par-dessus une Capture.