donc la ce que tu m'as mit c'est le programme en entier merci c'est bien sympa, je vais test ça et je te tient au courant
(1) Alors ça :
For(Z,1,Ans
...
End
C'est une boucle. C'est-à-dire que toutes les commandes contenues entre le For et le End sont répétées plusieurs fois sous certaines conditions.
Ce type de boucle marche comme ceci :
Pour une boucle For(A,X,Y) :
La variable A prend la valeur de X, puis à chaque "tour", A est incrémenté (A+1->A). Quand A=Y, la boucle s'arrête.
Dans notre exemple, on a For(Z,1,A) (car Ans=A)
Donc si A=3, la boucle est répétée 3 fois, et donc Z prend les valeurs successives 1,2,3.
(2) sub("123456789",Z,1)+"=
Ca c'est une opération (+) entre 2 chaînes de caractères (un type d'objet particulier, qui permet de retenir du texte).
L'opérateur + marche en effet pour les chaînes de caractères, et permet de concaténer 2 chaînes. Par exemple, "ABC"+"DEF"="ABCDEF"
Le membre de droite "= n'a pas de guillemets à la fin car il sont facultatifs et augmentent la taille du programme (donc il est toujours préférable de les supprimer).
Le membre de gauche est plus complexe, il est le résultat d'une fonction, sub().
Cette fonction permet de "découper" une chaîne, et de ne prendre qu'une partie de celle-ci.
En termes ésotériques, la syntaxe est : sub( [chaîne à découper] , [le rang à partir duquel il faut découper] , [la taille du morceau à découper] )
Donc ici, sub("123456789",Z,1) permet ceci :
Si Z=1, on obtient "1"
Si Z=2, on obtient "2"
...etc
Donc finalement, sub("123456789",Z,1)+"= permet ceci :
Si Z=1, on obtient "1="
Si Z=2, on obtient "2="
...etc
Je rappelle que toute opération stocke forcément le résultat dans la variable Ans (quel que soit le type de variable).
Tu peux voir qu'ensuite j'utilise 2 fois la variable Ans, et donc j'ai utilisé un calcul pour 2 commandes (donc économie de temps et de taille).
Il y a pas mal de trucs différents dans ce programme, donc n'hésite pas à demander d'autres explications.