Aller au menu - Aller au contenu

Icône D'autres fonctions

Mise à jour : 22/08/2008
315 visites depuis 7 jours , dont 10 sur ce chapitre , classé 319/777
Dans ce chapitre, vous verrez quelques fonctions usuelles qui vous seront sans doute très utiles, accompagnée d'une brève description et d'un exemple pratique. Vous connaitrez déjà peut-être certaines fonctions (sûrement dans la partie mathématiques).
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Fonctions mathématiques

Abs (=>[OPTION][F6][F4][F1])


Nous avons déjà vu cette fontion : elle renvoie la valeur absolue d'un nombre X, cela revient à faire RACINE(X²).
Code : Autre - Exemple d'utilisation de Abs
1
2
3
4
Abs (10−1)
'Ans vaut 9
Abs -Ans
'Ans vaut 9

Int (=>[OPTION][F6][F4][F2])


Cette fonction renvoie la partie entière d'un nombre (supprime les chiffres après la virgule).
Code : Autre - Exemple d'utilisation de Int
1
2
Int (5÷2)
'Ans vaut 2

Frac (=>[OPTION][F6][F4][F3])


Cette fonction renvoie la partie décimale d'un nombre. En fait, pour tout X réel, faire Frac X revient à faire X−Int X.
Code : Autre - Exemple d'utilisation de Frac
1
2
Frac (5÷2)
'Ans vaut 0.5

Ran# (=>[OPTION][F6][F3][F4])


Cette fonction renvoie un nombre réel aléatoire compris entre 0 et 1, elle vous servira probablement dans un programme de mathématiques (utilisant les probabilités) ou dans un jeu (tirer au sort le type de monstre à combattre).
Généralement, on veut un nombre entier compris dans l'intervalle [A;A+B] avec A et B deux entiers :
Code : Autre - Exemple d'utilisation de Ran#
1
Int (B+A−1)Ran# +A


log (=>[log])


Cette fonction, est très utilisée en mathématiques (on la voit par exemple en Terminale S). Pour ceux qui ne l'ont pas vue, ce n'est pas grave, il faut juste savoir qu'elle est définie sur ]0;+INFINI[ , et qu'elle est la réciproque de la fonction "puissance de 10", c'est-à-dire que si vous faites log 10^A, pour tout A réel, ou 10^(log B), pour tout B de ]0;+INFINI[, vous obtiendrez respectivement A et B.
La fonction logarithme n'est pas qu'un délire de méthématicien, et peut être utile, notamment pour mettre en forme des nombres avec les fonctions de texte (Locate ou Text). En l'utilisant avec Int , vous pourrez obtenir le nombre de chiffres composant un nombre entier strictement supérieur à 0 (merci à Aliasker pour l'astuce ;) ) :
Code : Autre - Exemple d'utilisation de log
1
2
Int log 1234+1
'Ans vaut 4

Fonctions inclassables

Dans cette sous-partie, vous verrez des fonctions très très utiles. Lisez attentivement, ça vous aidera pour la suite ;)

Getkey (=>[SHIFT][VARS][F6][F4][F2])



Cette fonction est in-dis-pen-sable, elle renvoie un nombre correspondant à la touche que presse l'utilisateur. Toutes les touches ont un code, à part la touche [AC/ON] (si on la presse, ça quitte le programme). Elle permettra à l'utilisateur d'agir sur le comportement du programme (on pouvait déjà le faire avec ?, mais ça n'est pas ce qu'il y a de plus User Friendly).

Dans beaucoup de tutos, on vous donne une image de clavier de calculatrice avec les codes associés, et celui que vous êtes en train de lire dérogera à la règle (tant que j'aurai la flemme de la faire :lol: ).

Mais cette idée d'avoir une image de référence m'ennuie un peu, je préfèrerai vous voir les connaître par coeur le plus rapidement possible. Ce n'est pas mission impossible, car il y a une logique dans ces codes : ils sont composés de deux chiffres. Plus le chiffre des dixaines est grand (le maximum est 7, le minimum est 2), plus la touche est à gauche, et plus le chiffre des unités est grand (maximum 9, minimum 1), plus la touche est haute. Quand aucune touche n'est pressée, Getkey renvoie 0.

Le Getkey pose souvent des problèmes au débutant. Pourtant, il suffit de savoir compter de la gauche vers la droite et de haut en bas :p . Pour commencer à utiliser Getkey, je vais vous proposer d'écrire un programme qui est devenu une vraie tarte à la crème : l'afficheur de Getkey. Le principe est simple : quand on appuie sur une touche, le code associé apparaît sur l'écran.
Autant vous mettre sur les rails de suite : utilisez une boucle ;) .


Si vous avez du mal, regardez ce code ^^ :
Code : Autre - L'afficheur de Getkey
1
2
3
4
5
6
7
8
9
10
11
12
ClrText
-1->G
Locate 4,4,"LE GETKEY VAUT"
While 1
'boucle infinie, car 1 reste toujours un booléen "vrai"
Do
Getkey
LpWhile G=Ans
Ans->G
Locate 20,4," "
Locate 19,4,G
WhileEnd


Comme c'est une boucle infinie, et qu'il n'y a ni Stop ni Break, la seule solution pour quitter est d'appuyer sur [AC/ON]. Ce programme est un peu lourd par rapport à ce que certains auraient pu faire, mais il n'est pas trop moche, il est fonctionnel, et ne clignote pas (quand on fait trop de rafraichissement d'écran, c'est-à-dire affichage plus ClrText en boucle).


FMEM (=>[OPTION][F6][F6][F3])


A vrai dire, FMEM n'est pas une fonction, mais un sous-menu, contenant des fonctions. Ces fonctions vous permettront d'interagir avec les emplacements mémoire qui sont au nombre de 20 sur Graph 85, chacun étant désigné par "f" plus leur numéro.
Les fonctions du sous-menu FMEM vous serviront principalement pour le copier-coller. Pour copier, faites STO (=>[F1]) pour "stock" et pour coller, faites RCL (=>[F2]) pour "recall", en choisissant à chaque fois l'emplacement mémoire qui vous convient.
Malheureusement, ce copier-coller n'est pas des plus fonctionnels : quand on édite un programme et qu'on choisit de faire un copier, cela copie la totalité du programme.
Avant de coller, assurez-vous que vous êtes bien en mode INS, afin de ne pas "écraser" le code de votre programme.

La Graph 85 dispose d'un bien meilleur copier-coller : on peut sélectionner du code. Ensuite, on peut soit supprimer la sélection, soit la copier, soit la couper. La Graph 100+ dispose aussi d'un copier-coller fonctionnel, mais un peu moins que celui de la 85 (pas de couper ni de suppression possible de la sélection).


On peut utiliser FMEM pour autre chose : vous pouvez stocker une expression littérale dans un un programme. Par exemple, vous pouvez demander à l'utilisateur de rentrer une formule littérale, qui sera enregistrée. Cette méthode peut être très utile si vous voulez faire un traceur de graphiques, par exemple. Cette utilisation ne fonctionne pas sur Graph 35+/65 (essayez, vous verrez ;) ).
Pour stocker une expression toute faite dans un emplacement mémoire, tapez l'expression entre guillemets, et attribuez-la à l'emplacement qui vous convient (en tapant son nom : =>[F3] sur Graph 85). Pour demander à l'utilisateur de taper sa formule, c'est encore plus simple : vous mettez le point d'interrogation puis l'attribution à un emplacement mémoire.

Voici un code récapitulatif (ne fonctionne que sur 85 !) :
Code : Autre - Exemple d'utilisation des emplacements mémoire
1
2
3
4
5
6
7
8
0->A~B
"2A+3B"->fn1
fn1
'Ans vaut 0 (2×0+3×0=0)
10->A
A÷2->B
fn1
'Ans vaut 35 (2×10+3×5=35)


Bref, évitez quand même d'utiliser FMEM comme ci-dessus, vu que ce n'est pas compatible avec Graph 35+/65 (même si je vais l'utiliser en TP :-° ).

Stop (=>[SHIFT][VARS][F2][F4])


Cette fonction permet de quitter instantanément le programme. Voici un exemple un peu plus concret que les précédents :
Code : Autre - Exemple d'utilisation de Stop
1
2
3
4
5
6
7
8
9
10
Do
ClrText
"LE JEU EST EN PAUSE"
"1. CONTINUER"
"2. QUITTER"
"VOTRE CHOIX "?->A
Int Abs A->A
A=2=>Stop
LpWhile A!=1
'Suite du programme...


N'hésitez pas à tester ce code. Personnellement, j'aime bien Stop, car ça permet de se libérer de conditions inutiles, et ça simplifie le code ;) .
Dans le chapitre suivant, on va aborder quelque chose de plus rigolo : des TP :D !
Chapitre précédent Sommaire Chapitre suivant

Partager

Il n'y a pas encore de commentaire pour ce tuto.