Création d'une liste particulière

Maussion shared this question 2 years ago
Answered

Bonjour, j'aimerais créer une séquence de 2n+1 nombres aléatoires vérifiant les conditions suivantes (je choisis n) :

Je choisis un premier nombre au hasard entre -5 et 5. (ce qui correspond à l1(1)

Et je répète ces deux instructions n fois :

J'ajoute à la valeur précédente un nombre aléatoire entre 1 et 5, j'obtiens mon nouveau nombre que j'ajoute à la liste.

Je retire à la valeur précédente un nobmre aléatoire entre 1 et 5, j'obtiens mon nouveau nombre que j'ajoute à la liste.


Comment s'y prendre ? Je commence à comprendre l'utilisation des boutons qui permettent de simuler un module à exécuter. Mais là, j'ai clairement besoin d'une boucle pour, et j'ignore comment contourner ça en geogebra. S'il existe des moyens de faire des boucles pour, je veux bien savoir comment également faire une boucle while :) )

Sinon, est-ce que la solution passe nécessairement par javascript ? Si oui, que mettre dans le bouton javascript ?

Merci pour vos réponses,

Thomas Maussion.

Comments (4)

photo
1

Bonjour ,

la commande Séquence permet de faire l'équivalent d'une boucle pour


Cordialement

photo
1

Bonjour,


Sur que cette liste est bien particulière ...


On peut s'aider du tableur et obtenir ceci (pour n de 1 à 30)

photo
1

Bonjour,

Étudier les commandes dans le manuel

Évitez les scripts GGB et évitez JS

------------------------

Note: Noel a été plus rapide avec une solution. Il y a différentes solutions pour la récursion.

photo
1

Bonjour, merci pour les réponses, d'autant plus avec les fichiers geogebra pour me montrer. (Et pardon pour la lenteur de ma réponse, j'avais oublié mon post :) )

J'ai entre temps procédé à un tableur similaire (moins bien, j'incrémentais sur 2 colonnes (colonne "-" et colonne "+").

@frndmrsl : Possible, j'ai quand même l'impression au vu des réponses qu'on doit bidouiller parfois pour obtenir ce qu'on aurait fait plus facilement en quelques instructions.

@Noel Lambert :


Sur le fichier, je n'arrive pas à voir où est défini l1, c'est normal ?

Et sinon, je rencontre le problème le même problème qu'avec mon fichier : impossible de faire un outil avec en entrée n et en sortie la liste des valeurs aléatoires. Il met error of processing. Lié au fait que la liste l1 est crée à partir des éléments du tableur ?

@rami

La solution marche pour la création d'outil également ! Je n'avais pas pensé à la commande premiers et avec somme en effet ça répond au problème posé.

C'est chouette le itération liste. Après j'ai naïvement penser que ça marcherait avec un itérationliste(x+aléaentrebornes(-5,5),0,10) mais il répète 10 fois le même nombre aléatoire. (si je comprends bien, il fixe la fonction f(x)=x+aléaentrebornes puis fait du un+1=f(un) ). Il y a une astuce pour générer la liste recherchée avec itération malgré tout ? (j'ai essayé d'aller piocher dans une liste de nombre aléatoires pour la seconde variable, sans succès).


Merci vraiment pour les réponses.


Je suis cependant un peu frustré contre geogebra.

C'est pénible de ne pas avoir de boucles while, non ?

Dans un programme, j'ai cherché à générer n nombres aléatoire tous différents (abscisses d'une fonction) entre a et b, mais j'ai renoncé car je passais trop de temps à chercher à relancer les points ayant la même abscisse. J'ai fait unique(liste). Sans vouloir faire offense à geogebra qui est un outil absolument magique, quelque soit la solution existante sous geogebra que j'ai renoncé à chercher, cela aurait été plus carré et moins bidouille dans n'importe quel langage de programmation classique. Du coup, j'ai préféré supprimer les doublons, et éventuellement rajouter les abscisses b+1, b+2, ..., b+p pour être bien sûr de n'avoir aucun doublon (ou encore faire n subdivisions, puis choisir un entier au hasard dans chaque subdivision). Mais je n'ai pas trouvé comment régler mon problème alors qu'en Python par exemple (mais je ne me porterais pas garant pour beaucoup d'autres exemples, n'ayant fait que scilab python et les logiciels pédagogiques scratch xcas ...) cela aurait pris quelques lignes (un peu plus s'il faut trier soi-même) de code, et surtout, on peut prédire assez facilement à l'avance la faisabilité d'un problème, ce qui sur géogebra n'est parfois pas le cas.

Je vous joins le fichier où j'ai rencontré tous ces problèmes : créer une fonction aléatoire qui passe par n extremums(d'où ma liste monter-descendre à l'origine du topic). L'objectif étant d'en faire un outil qui permet de générer des exos de lecture graphique.

Suis-je le seul à ressentir cette frustration parmi ceux qui essaient petit à petit de faire de plus en plus élaboré dans les fichiers ? Ou bien, êtes vous tous passé aux scripts javascript pour faire les boucles ? (Est-ce qu'on peut alors créer un outil si on génère un objet par script javascript ou bien ça peut bloquer comme pour le tableur ?).

Et du coup, pourquoi recommander d'éviter les scripts ggb et js ? (A part que pour les scripts js, c'est horriblement long ggpApplet.setValue("a",ggbApplet.getValue("a")+1) pour un simple a=a+1 ).


Merci encore pour vos réponses :)

© 2022 International GeoGebra Institute