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
» Détection connexion internet
par JL35 Hier à 22:59

» Le parcours du cavalier sur un échiquier 8 x 8
par pascal10000 Dim 23 Juil 2017 - 13:26

» Casse-tête : Echanger les positions des cavaliers
par papydall Sam 22 Juil 2017 - 19:42

» Compilateur FBPano
par jean_debord Sam 22 Juil 2017 - 10:54

» demande pour recuperer un text speciale
par pascal10000 Ven 21 Juil 2017 - 22:04

» KGF_dll - nouvelles versions
par Klaus Ven 21 Juil 2017 - 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 Modification de la fonction RandomValue dans KGF.dll

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

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Modification de la fonction RandomValue dans KGF.dll   Ven 18 Jan 2013 - 12:59

Suite à une remarque par message privé, j'ai légèrement modifié le fonctionnement de RandomValue.

Rappelons que cette fonction retourne une valeur entière aléatoire entre 0 et une valeur maximale.

Or, il s'avère que si la distribution des nombres tirés est bien conforme à ce qu'on attent d'un tirage aléatoire, il n'en est pas de même lors de lancements successifs: en fait, on peut retomber dans la même séquence de nombres tirés.

J'ai donc ajouté la possibilité de passer une valeur négative quelconque comme valeur maximale. Et cela provoque la réinitialisation de la base de calcul. Je suggère donc de faire systématiquement un appel avec le paramètre (-1) en début de programme, avant le premier vrai tirage. De façon interne, la routine utilise alors la fonction RANDOMIZE de Delphi pour créer une nouvelle base de calcul aléatoire.


Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5841
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Modification de la fonction RandomValue dans KGF.dll   Ven 18 Jan 2013 - 13:29

Merci Klaus (PS: une question sans doute idiote, mais pourquoi ne pas inclure un pseudo appel avec -1 dans la DLL pour avoir un tirage forcément aléatoire ? Cela entrainerait une réelle baisse de performance ?)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Modification de la fonction RandomValue dans KGF.dll   Ven 18 Jan 2013 - 14:26

Non, pas vraiment. Mais cela correspond au fonctionnement des routines de Rnd et Randomize de Delphi.

L'idée à la base, c'est de pouvoir disposer un jeu de valeurs pour des tests, globalement aléatoire, mais dont l'ordre est connu et reproductible.

Dans KGF_SUB, j'ai habillé l'appel à la fonction RandomValue par une procédure RandomValue, dont voici le source:
Code:
' ==== res% = DLL_call1("RandomValue",maxi%)
sub RandomValue(maxi%)
  if variable("RandomValue")=0 then dim RandomValue
  KGF_res% = DLL_call1("RandomValue",maxi%)
  RandomValue = KGF_res%
end_sub

Tu peux facilement définir ta propre procédure MyRandomValue, de cette manière:
Code:
sub MyRandomValue(maxi%)
  RandomValue(-1)
  RandomValue(maxi%)
end_sub

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5841
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Modification de la fonction RandomValue dans KGF.dll   Ven 18 Jan 2013 - 15:13

C'est sûr Wink Ca peut en effet être pratique aussi et ce n'est pas sorcier à mettre en oeuvre.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Modification de la fonction RandomValue dans KGF.dll   

Revenir en haut Aller en bas
 
Modification de la fonction RandomValue dans KGF.dll
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Modification point départ dans itinéraire (Résolu)
» [Administration] Possibilité de modification du message d'acceptation dans un groupe
» Modification profil dans messages
» modification affichage membres dans message
» Mettre son forum dans plusieurs langues > Modification du bouton

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: