FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Gestionnaire de Projets Panoramic
par Minibug Aujourd'hui à 2:10

» Mah-Jong européen new-look
par jjn4 Hier à 16:35

» Button_picture
par pascal10000 Hier à 11:41

» Pourquoi le compilateur stagne
par Minibug Hier à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Hier à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Hier à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Hier à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Mer 13 Déc 2017 - 17:27

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Initialiser la fonction Rnd() ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
mimic

avatar

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

MessageSujet: Initialiser la fonction Rnd() ?   Jeu 12 Jan 2017 - 13: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
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

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

MessageSujet: NE NOUS QUITTE PAS   Jeu 12 Jan 2017 - 18: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
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

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

MessageSujet: Fonction Rnd.   Jeu 12 Jan 2017 - 18: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
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Initialiser la fonction Rnd() ?   Jeu 12 Jan 2017 - 18: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:
http://panoramic.free-boards.net/t3271-statistiques-sur-le-generateur-pseudo-aleatoire?highlight=al%E9atoire
et surtout:
http://panoramic.free-boards.net/t2158-la-fonction-x-rnd1-est-elle-vraiment-aleatoire?highlight=al%E9atoire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Initialiser la fonction Rnd() ?   Jeu 12 Jan 2017 - 20:52

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

Voici mon générateur : http://panoramic.free-boards.net/t4456-generateur-de-nombres-pseudo-aleatoires
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



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

MessageSujet: Re: Initialiser la fonction Rnd() ?   Jeu 12 Jan 2017 - 21: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
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Initialiser la fonction Rnd() ?   Ven 13 Jan 2017 - 1: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
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Initialiser la fonction Rnd() ?   Ven 13 Jan 2017 - 9: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
Voir le profil de l'utilisateur
mimic

avatar

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

MessageSujet: Re: Initialiser la fonction Rnd() ?   Ven 13 Jan 2017 - 13: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
Voir le profil de l'utilisateur
Jack
Admin
avatar

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

MessageSujet: Re: Initialiser la fonction Rnd() ?   Ven 13 Jan 2017 - 15: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

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
jjn4

avatar

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

MessageSujet: +++   Ven 13 Jan 2017 - 19:47

Super !
cheers alien cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 14 Jan 2017 - 14:55

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

avatar

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

MessageSujet: TODO List    Lun 16 Jan 2017 - 12: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
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 16 Jan 2017 - 14: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
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Initialiser la fonction Rnd() ?   Lun 16 Jan 2017 - 14: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
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Initialiser la fonction Rnd() ?   

Revenir en haut Aller en bas
 
Initialiser la fonction Rnd() ?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment réinitialiser mon gps
» Obligé de réinitialiser la bbox pour accéder à Internet et au tél ...
» Comment réinitialiser le bios?
» Zumo 340 Planté : comment réinitialiser ?
» Réinitialiser NUVI 3597 LMT

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: