La référence Basic Casio

Nom : Isz

Localisation :

[ PRGM ] [ JUMP ]
[ SHIFT ] + [ VARS ] + [ F3 ]

Syntaxe de la fonction :

Isz (variable)

Description de la fonction :

Permet d'incrémenter de 1 une variable A à Z....
Beaucoup plus rapide que (variable)+1->(variable).

Ne marche pas avec les matrices sur g<100

Si la variable vaut 0 après cette incrémentation, la fonction qui suit sera sautée.
-1->A
Isz A
"Coucou"

"Coucou" ne sera pas affiché à l'écran.


Voir aussi Dsz.

Compatibilité :

  • Graph 20/25(+)
  • Graph 35/65/80(+)
  • Graph 100(+)
  • Graph 25+ PRO
  • Graph 85 (SD) OS 1.xx
  • Graph 85 (SD) OS 2.xx
  • Graph 35+ USB/75/95 SD
  • Graph OS 2.04
  • Fx-CG 10/20 OS 1.xx
  • Fx-CG 10/20 OS 2.xx


<<< Retourner à la liste des fonctions


ZezombyeEn ligneRédacteurPoints: 1594 Défis: 12 Message
Posté le 08-08-2017 à 21:53 | #
Il est possible d'enlever la contrainte en mettant un commentaire quelconque juste après Isz (ou Dsz).
Comme ça on incrémente/décrémente plus rapidement sans que ce soit un bug potentiel
LephenixnoirEn ligneAdministrateurPoints: 14120 Défis: 136 Message
Posté le 08-08-2017 à 21:54 | #
Le commentaire ralentit le code par contre ! As-tu comparé la vitesse des deux méthodes du coup ? Ce serait dans quel rapport de vitesse ?
ZezombyeEn ligneRédacteurPoints: 1594 Défis: 12 Message
Posté le 08-08-2017 à 22:00 | #
Pour 2000 itérations :
- Isz sans commentaire : 1950 ms
- Isz avec 'a juste après : 2050 ms
- Incrémentation normale (I+1->I) : 2330 ms
- Incrémentation normale avec 4 lignes de commentaires : 4380 ms
À +/- 50ms.

Donc les commentaires ralentissent le code, mais un petit commentaire tel que 'a ne fera pas grand chose comparé au temps passé à chercher pourquoi ça bug quand I atteindra 0.
LephenixnoirEn ligneAdministrateurPoints: 14120 Défis: 136 Message
Posté le 08-08-2017 à 22:01 | #
Voilà, ça c'est ce dont on a besoin dans la référence Basic !
HackcellEn ligneMembrePoints: 978 Défis: 6 Message
Posté le 13-08-2017 à 00:13 | #
Et pourquoi Casio c'est dis que quand Isz atteint 0 ils fallait sauter la ligne suivante ? Est-ce un comportement standard ?
ZezombyeEn ligneRédacteurPoints: 1594 Défis: 12 Message
Posté le 13-08-2017 à 00:20 | #
Ceci est pure spéculation, peut être que cake pourra confirmer :

Dans les anciennes calculatrices il n'y avait aucun opcode avec 2 octets. Si tu regardes ici : https://bible.planet-casio.com/simlo/chm/v20/fxCG20_OPCODES.htm tu verras que ça inclue :
- La double flèche (⇒), l'assignement (→), Goto, Lbl, Isz, Dsz

Mais pas :
- If, While, For, Break, etc

Du coup, au lieu de faire :
For 1->I To 100
A◢
Next


Il fallait faire :
100->I
Lbl 1
A◢
Dsz I
Goto 1


Et les instructions Isz/Dsz devaient sauter l'instruction suivante, comme office de Break.
Après, pourquoi ils n'ont pas directement mis les If/For/While, aucune idée.
DrakHors ligneRédacteurPoints: 1922 Défis: 38 Message
Posté le 10-07-2018 à 23:11 | #
Il semblerait que ces commandes ne fonctionnent pas dès lors que les variables manipulées sont des nombres complexes.

1+i →A
//Done
Isz A
//provoque Error Ma


Assez dommage, si vous voulez mon avis. Il y a bien sûr toujours des alternatives.
Shadow15510Hors ligneAdministrateurPoints: 2888 Défis: 15 Message
Posté le 11-07-2018 à 07:39 | #
Je tiens à précisé que les liste ne peuvent pitre incrémentées de cette manière :
Isz List 1[20] //renvoie une erreur
DrakHors ligneRédacteurPoints: 1922 Défis: 38 Message
Posté le 11-07-2018 à 11:07 | #
Comme indiqué dans la description...
Permet d'incrémenter de 1 une variable A à Z

Les commandes Isz et Dsz ne s'appliquent effectivement qu'aux variables alphanumériques


Retour liste des commandes

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 53 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd