FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Initialiser la fonction Rnd() ? Emptypar Jack Aujourd'hui à 9:03

» Un autre pense-bête...
Initialiser la fonction Rnd() ? Emptypar Froggy One Jeu 21 Nov 2024 - 14:54

» Récupération du contenu d'une page html.
Initialiser la fonction Rnd() ? Emptypar Pedro Sam 16 Nov 2024 - 13:04

» Décompilation
Initialiser la fonction Rnd() ? Emptypar JL35 Mar 12 Nov 2024 - 18:57

» Un album photos comme du temps des grands-mères
Initialiser la fonction Rnd() ? Emptypar jjn4 Mar 12 Nov 2024 - 16:23

» traitement d'une feuille excel
Initialiser la fonction Rnd() ? Emptypar jjn4 Jeu 7 Nov 2024 - 2:52

» Aide-mémoire mensuel
Initialiser la fonction Rnd() ? Emptypar jjn4 Lun 4 Nov 2024 - 17:56

» Des incomprèhension avec Timer
Initialiser la fonction Rnd() ? Emptypar Klaus Mer 30 Oct 2024 - 17:26

» KGF_dll - nouvelles versions
Initialiser la fonction Rnd() ? Emptypar Klaus Mar 29 Oct 2024 - 16:58

» instructions panoramic
Initialiser la fonction Rnd() ? Emptypar maelilou Lun 28 Oct 2024 - 18:51

» Figures fractales
Initialiser la fonction Rnd() ? Emptypar Marc Ven 25 Oct 2024 - 10:18

» Panoramic et Scanette
Initialiser la fonction Rnd() ? Emptypar Yannick Mer 25 Sep 2024 - 20:16

» Editeur d étiquette avec QR évolutif
Initialiser la fonction Rnd() ? Emptypar JL35 Lun 23 Sep 2024 - 20:40

» BUG QR Code DelphiZXingQRCode
Initialiser la fonction Rnd() ? Emptypar Yannick Dim 22 Sep 2024 - 9:40

» fichier.exe
Initialiser la fonction Rnd() ? Emptypar leclode Ven 20 Sep 2024 - 17:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Initialiser la fonction Rnd() ?

Aller en bas 
+5
papydall
JL35
Pedro
Ouf_ca_passe
mimic
9 participants
AuteurMessage
mimic

mimic


Nombre de messages : 103
Localisation : france
Date d'inscription : 02/09/2009

Initialiser la fonction Rnd() ? Empty
MessageSujet: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyJeu 12 Jan 2017 - 10:43

BONJOUR,

Je souhaite produire une même séquence de nombres pseudo-aléatoires, cependant, comment modifier la "graine" du générateur ?

Merci d'avance.
Revenir en haut Aller en bas
Ouf_ca_passe




Nombre de messages : 285
Age : 76
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

Initialiser la fonction Rnd() ? Empty
MessageSujet: NE NOUS QUITTE PAS   Initialiser la fonction Rnd() ? EmptyJeu 12 Jan 2017 - 15:08

Bonjour Mimic

Je ne suis pas capable de répondre à ta question - que je n'ai d'ailleurs pas comprise - mais j'interviens pour pas que tu croies qu'on s'en désinteresse et que tu nous quittes. Very Happy

A mon époque, dans une autre galaxie fort lointaine, il y avait RND et RANDOMIZE mais ça n'a probablement rien à voir avec ta question.

Cordialement
Revenir en haut Aller en bas
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Initialiser la fonction Rnd() ? Empty
MessageSujet: Fonction Rnd.   Initialiser la fonction Rnd() ? EmptyJeu 12 Jan 2017 - 15:30

Bonjour.

Notre ami Klaus a créé une fonction dans ce sens:

res% = DLL_call1("RandomValue",maxi%)

maxi%
valeur maximale à retourner.
si maxi% = -1, alors la racine du système est randomisée
res%: valeur aléatoire retournée


Exemple:
Code:
dim res%
res% = DLL_call1("RandomValue",0-1)  : '  randomize
res% = DLL_call1("RandomValue",6)
message "Valeur aléatoire: "+str$(res%)
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyJeu 12 Jan 2017 - 15:36

Même en pseudo-aléatoire, je ne crois qu'on puisse obtenir la même séquence de nombres dans des appels successifs à une fonction RND, il faudrait demander à nos amis mathématiciens.
Mais si tu veux obtenir exactement la même séquence plusieurs fois successivement, pourquoi ne pas noter la séquence la première fois, dans un tableau par exemple, et la restituer ensuite dans les (pseudo) appels suivants ?
Mais je dis peut-être une bêtise par rapport à ce que tu cherches.

Effectivement en Panoramic il n'est pas prévu de commande d'initialisation comme en basic autrefois.

NB: mimic, tu pourrais peut-être trouver des idées chez notre ami papydall:
https://panoramic.1fr1.net/t3271-statistiques-sur-le-generateur-pseudo-aleatoire?highlight=al%E9atoire
et surtout:
https://panoramic.1fr1.net/t2158-la-fonction-x-rnd1-est-elle-vraiment-aleatoire?highlight=al%E9atoire
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyJeu 12 Jan 2017 - 17:52

Hello World !
Merci JL35 pour les liens, mais tu as oublié le meilleur!

Voici mon générateur : https://panoramic.1fr1.net/t4456-generateur-de-nombres-pseudo-aleatoires
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyJeu 12 Jan 2017 - 18:43

Mea culpa papydall... et en plus j'y étais intervenu, pour dire une pseudo-bêtise Very Happy

Mais que penses-tu de la demande de mimic, j'ai cru comprendre qu'il voulait obtenir la même séquence à chaque appel de la fonction...
Ou alors je n'ai rien compris du tout ! scratch
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyJeu 12 Jan 2017 - 22:50

Jl35 a écrit:
Mais que penses-tu de la demande de mimic, j'ai cru comprendre qu'il voulait obtenir la même séquence à chaque appel de la fonction...

A mon humble avis, ça ne sera pas possible.
Ça sera du prédéterminé, donc du connu à l’avance, et quel intérêt à ça ?
Mais, peut-être que si  mimic a posé la question, c’est qu’il a sa petite idée derrière la tête.
Je ne vois pas d’autre solution que celle que tu as proposée, à savoir "noter la séquence la première fois, dans un tableau par exemple, et la restituer ensuite dans les (pseudo) appels suivants".
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyVen 13 Jan 2017 - 6:54

Si c'est pour avoir des séquences déterminée, mieux vaut utiliser des formules de maths. Selon la tête de ce que l'on veut, on peut avoir des résultats intéressant en utilisant des sinus ou cosinus et des tests de bornes mais ça dépend vraiment de la "forme" des résultat que l'on souhaite obtenir. Sinon, tu peux utiliser les data ou les fichiers de données.
Revenir en haut Aller en bas
mimic

mimic


Nombre de messages : 103
Localisation : france
Date d'inscription : 02/09/2009

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyVen 13 Jan 2017 - 10:58

Merci à tous, pour votre intervention (oui, tous!)

Bien, je vois que, je n'ai pas été très clair...

Tout d'abord, c'est pour un petit jeu sans prétention, donc la qualité des séquences générées importe assez peu.

Je cherche à générer aléatoirement des grilles de chiffres ( toujours les mêmes grilles).
Les mémoriser dans un tableau me semble un peu lourd,  supposons 8 niveaux * 30 grilles par niveaux, taille de la grille jusqu'à 9*9.


Bilan :

pas de fonction dédiée dans Panoramic,
n'ayant pas besoin d'une générateur de  compétition,
je vais me contenter d'un générateur maison (simpliste).

Je garde quand même le générateur de Papydall, sous le coude...
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2395
Date d'inscription : 28/05/2007

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyVen 13 Jan 2017 - 12:16

Pour le moment, la fonction RND(X) retourne un nombre aléatoire entre 0 et X. Elle est basée sur une distribution gaussienne qui est centrée sur X/2 et dont l'écart-type est X. Pour générer un nombre aléatoire, il utilise le nombre de ticks du système. Ce n'est pas parfait comme génération, mais suffisant pour la plupart des applications.

Je peux créer des commandes:
- pour imposer la "graine" : RND_SEED X afin de réinitialiser le générateur à une certaine valeur, ce qui permettra de générer des séquences aléatoires répétitives,
- pour générer aléatoirement la "graine" : RANDOMIZE afin de générer des séquences aléatoires non prévisibles. Il faut noter que Panoramic, à son démarrage effectue l'équivalent de la commande RANDOMIZE, ce qui a pour effet de ne jamais générer les mêmes séquences de nombres aléatoires, ce qui gêne mimic.

Pour le moment, j'essaye de sortir une version de Panoramic avec sa documentation à jour.
Les commandes RND_SEED et RANDOMIZE seront ajoutées ensuite.
Patience. Very Happy  Very Happy  Very Happy

_________________
Initialiser la fonction Rnd() ? Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net En ligne
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Initialiser la fonction Rnd() ? Empty
MessageSujet: +++   Initialiser la fonction Rnd() ? EmptyVen 13 Jan 2017 - 16:47

Super !
cheers alien cheers
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Initialiser la fonction Rnd() ? Empty
MessageSujet: re   Initialiser la fonction Rnd() ? EmptySam 14 Jan 2017 - 11:55

Ca y est ! 
La TODO_LIST de Jack a repris sa taille normale.
...Environ 250 pages.
lol!
Revenir en haut Aller en bas
Ouf_ca_passe




Nombre de messages : 285
Age : 76
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

Initialiser la fonction Rnd() ? Empty
MessageSujet: TODO List    Initialiser la fonction Rnd() ? EmptyLun 16 Jan 2017 - 9:54

@ Ygeronimi

Pour finir, tu n'as pas été déconnecté si longtemps que ça. J'avais tort de m'inquiéter.

Qu'appelles-tu TODO list ? Est-ce la liste des choses qui restent à faire à JACK ?

ou bien a-t-il fini l'actualisation des mots-clés classés dans l'ordre alphabétique
and IF YES how can I download it Question
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Initialiser la fonction Rnd() ? Empty
MessageSujet: re   Initialiser la fonction Rnd() ? EmptyLun 16 Jan 2017 - 11:09

Ouf_ca_passe a écrit:
Qu'appelles-tu TODO list ? Est-ce la liste des choses qui restent à faire à JACK ?

C' est cela même.
Wink
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? EmptyLun 16 Jan 2017 - 11:19

Une todo list ( to do list) est une liste de tâches.
Elle peut être représentée par un fichier qui contient l’énumération des tâches avec une date limite de réalisation.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Initialiser la fonction Rnd() ? Empty
MessageSujet: Re: Initialiser la fonction Rnd() ?   Initialiser la fonction Rnd() ? Empty

Revenir en haut Aller en bas
 
Initialiser la fonction Rnd() ?
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: