Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
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


ZezombyeHors ligneRédacteurPoints: 1756 Défis: 13 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
LephenixnoirHors ligneAdministrateurPoints: 24261 Défis: 170 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 ?
ZezombyeHors ligneRédacteurPoints: 1756 Défis: 13 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.
LephenixnoirHors ligneAdministrateurPoints: 24261 Défis: 170 Message
Posté le 08-08-2017 à 22:01 | #
Voilà, ça c'est ce dont on a besoin dans la référence Basic !
HackcellHors ligneMaître du PuzzlePoints: 1524 Défis: 11 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 ?
ZezombyeHors ligneRédacteurPoints: 1756 Défis: 13 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: 1925 Défis: 40 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: 5501 Défis: 18 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: 1925 Défis: 40 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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 41 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