Simulation de boucles POUR ou TANT QUE avec des GGBScript

Gauvain Joël shared this question 4 years ago
Answered

Bonjour

Je me suis amusé à simuler des boucles POUR et TANT QUE avec des scripts GeoGebra.

Pour cela j'ai utilisé la commande Répéter[ ], je suis arrivé à créer deux fichiers qui fonctionnent parfaitement hors ligne, hélas l'un des deux ne fonctionne pas en ligne:

Le premier : Simulation d'une boucle Pour Fonctionne en ligne

Le deuxième: Simulation d'une boucle TANT QUE ne fonctionne pas en ligne

Je joins les fichiers ggb.

Avez-vous une explication ?

Merci d'avance

Joël

Comments (3)

photo
1

Bonsoir Noël et Joël. J'ai essayé mille choses (remplacé le N' par NN, retiré des variables, LaTeX puis remis, etc) car cela ne marchait pas pour exporter depuis ma version de bureau. Mais ça a fini par marcher en exportant depuis l'application sous chrome et en étant patient avant d'obtenir un résultat :


https://www.geogebra.org/o/q7y25p7S


  1. #"Initialisation de la valeur qui précéde N"
  2. SoitValeur[NN,0]
  3. #"Création de variables provisoires"
  4. Exécute[{"k=Slider[0,1000,1]","continuer=(f(k)<m)"}]
  5. #"La commande Répéter[] n'acceptant pas comme argument les commande Si[]"
  6. #"l'expression (!continuer)*N'+continuer*k vaut N' ou k suivant que continuer vaut true(1) ou false (0)"
  7. Répéter[1000,SoitValeur[NN, NN+continuer*(k-NN)], SoitValeur[k,k+1]]
  8. SoitValeur[N,NN+1]
  9. Effacer[k]
  10. Effacer[continuer]
  11. SoitValeur[texte2,LaTeX["N="+N+"\text{ car }f("+NN+")="+f(NN)+"\text{ et }f("+N+")="+f(N)]]

photo
1

Merci à vous deux

J'ai aussi testé plusieurs fichiers et au final j'ai réussi à faire ce que je voulais:

Voir le résultat

Il n'y avait pas que le problème de la définition de k, mais aussi l'opération (!continuer)*N' qui ne fonctionnait pas et je l'ai remplacé par (1-1*continuer)*N'

J'ai regardé ton fichier Michel et retiens k=Slider[0,1000,1] : Merci

Joël

photo
1

  1. il ne me semble pas que le qualificatif de "simulation de tant que" soit approprié

Tu as raison, mais il n'y a pas vraiment de moyen de faire ce que fait un Tant Que avec des scripts GeoGebra.

Ce qui m'a paru intéressant c'était de s'approcher au mieux de ce que fait un Tant Que avec la commande Répéter[ ], sauf que je n'ai pas trouvé d'autre moyen que de faire plus de calculs que nécessaire (je cherche encore :-) ).

Merci pour la commande Compactée[ ] que je n'ai encore jamais utilisée (comme bien d'autres commandes de GeoGebra)

© 2021 International GeoGebra Institute