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.
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Pedro Aujourd'hui à 7:08

» Un autre pense-bête...
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Froggy One Jeu 21 Nov 2024 - 14:54

» Récupération du contenu d'une page html.
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Pedro Sam 16 Nov 2024 - 13:04

» Décompilation
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar JL35 Mar 12 Nov 2024 - 18:57

» Un album photos comme du temps des grands-mères
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Mar 12 Nov 2024 - 16:23

» traitement d'une feuille excel
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Jeu 7 Nov 2024 - 2:52

» Aide-mémoire mensuel
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Lun 4 Nov 2024 - 17:56

» Des incomprèhension avec Timer
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Klaus Mer 30 Oct 2024 - 17:26

» KGF_dll - nouvelles versions
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Klaus Mar 29 Oct 2024 - 16:58

» instructions panoramic
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar maelilou Lun 28 Oct 2024 - 18:51

» Figures fractales
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Marc Ven 25 Oct 2024 - 10:18

» Panoramic et Scanette
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Yannick Mer 25 Sep 2024 - 20:16

» Editeur d étiquette avec QR évolutif
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar JL35 Lun 23 Sep 2024 - 20:40

» BUG QR Code DelphiZXingQRCode
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Yannick Dim 22 Sep 2024 - 9:40

» fichier.exe
Un peu de statistique pour simuler des phénomènes aléatoires 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
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Un peu de statistique pour simuler des phénomènes aléatoires

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


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

Un peu de statistique pour simuler des phénomènes aléatoires Empty
MessageSujet: Un peu de statistique pour simuler des phénomènes aléatoires   Un peu de statistique pour simuler des phénomènes aléatoires EmptyDim 12 Mai 2019 - 0:26

Question 1 :
Deux personnes se donnent rendez-vous entre 12h et 13h.
On se demande quel sera en moyenne le temps d’attente de la 1ère personne arrivée ?

Question 2 :
Un fumeur a 2 boîtes de 40 allumettes dans ses poches.
A chaque fois qu’il fume il prend une allumette au hasard dans une des 2 boîtes.
Combien, en moyenne, restera t-il d’allumettes dans ses poches lorsqu’il aura vidé une des boites ?

Question 3
On lance 5 dés. A chaque lancer on met de côté ceux qui ont fais "As" et on relance les autres jusqu’à obtenir 5 "As".
Combien en moyenne faut-il lancer les dés ?

J’avoue qu’il n’est pas évident de répondre à ces questions ni à proposer un algorithme pour les programmer.
Mais on peut les simuler en Panoramic.
Pour cela on exécute un nombre assez élevé de simulations.
On calcule la somme des valeurs, et la somme des carrés.
On en déduit la moyenne des valeurs et la moyenne des carrés.
On calcule l’écart-type et l’intervalle de confiance à 95%.
On affiche les résultats (qui peuvent être une surprise pour quelques uns) et on … médite.


Voici ma solution:

Code:

rem ============================================================================
rem                         Simulations
rem ============================================================================
rem 1ère simulation
rem 2 personnes se donnent rendez-vous entre 12h et 13h.
rem On se demande quel sera en moyenne le temps d’attente de la 1ère personne arrivée ?
rem ============================================================================
rem 2ème simulation
rem Un fumeur a 2 boîtes de 40 allumettes dans ses poches.
rem A chaque fois qu’il fume il prend une allumette au hasard dans une des 2 boîtes.
rem Combien, en moyenne, restera t-il d’allumettes dans ses poches lorsqu’il aura vidé
rem une des boites ?
rem ============================================================================
rem 3ème simulation
rem On lance 5 dés. A chaque lancer on met de côté ceux qui ont fais "As" et on
rem relance les autres jusqu’à obtenir 5 "As".
rem Combien en moyenne faut-il lancer les dés ?
rem ============================================================================

font_bold 0 : font_name 0,"arial" : font_size 0,12
 Simulation_1()
 Simulation_2()
 Simulation_3()

end
rem ============================================================================
SUB Simulation_1()
    dim_local Nb_simul    : ' nombre de simulations
    dim_local sv, sc      : ' somme des valeurs et somme des carrés
    dim_local arr1,arr2   : ' heures d'arrivée de la premère et de la deuxième personne
    dim_local c,e,k,mv,mc
    Nb_simul = 5000
    for k = 1 to Nb_simul
        arr1 = int(rnd(61))  : ' Heure d'arrivée de la 1ère personne (entre 0 et 60 mn)
        arr2 = int(rnd(61))  : ' Heure d'arrivée de la seconde personne (entre 0 et 60 mn)
        c = abs(arr1 - arr2) : ' Temps d'attente de la première personne arrivée
        sv = sv + c          : ' Somme totale du temps d'attente
        sc = sc + c*c        : ' Somme des carrées
    next k
    mv = sv / Nb_simul          : ' moyenne des valeurs
    mc = sc / Nb_simul          : ' moyenne des carrés
    e  = sqr((mc-mv*mv)/Nb_simul) : ' écart-type  
    print "Simulation 1 :"
    print "Estimation ponctuelle : " + str$(mv)
    print
    print "Intervalle de confiance à 95% [ " + str$(mv-1.96*e) + " , " + str$(mv+1.96*e) + " ]"
    print : print "============================================================"
END_SUB
rem ============================================================================
SUB Simulation_2()
    dim_local Nb_simul : ' nombre de simulations
    dim_local sv, sc   : ' somme des valeurs et somme des carrés
    dim_local boite1, boite2, e, k, r, mv, mc
    Nb_simul = 200 : ' pour réduire le temps d'exécution qui est assez long !    
    for k = 1 to Nb_simul
        boite1 = 40
        boite2 = 40
        while 1 = 1
            if rnd(1) < 0.5         : ' 50% de change pour utiliser ...
               boite1 = boite1 - 1  : ' ... la 1ère boîte
            else                    : ' ou
               boite2 = boite2 -1   : ' la seconde boîte
            end_if
            if (boite1 = 0) or (boite2 = 0) then exit_while : ' si l'une de deux boîte devient vide on arrête
        end_while
        r = boite1 + boite2 : ' calcul du reste (boite1 ou boite2 vaut zéro)
        sv = sv + r         : ' la somme des valeurs
        sc = sc + r*r       : ' la somme des carrés            
    next k
    mv = sv / Nb_simul      : ' la moyenne des valeurs
    mc = sc / Nb_simul      : ' la moyenne des carrés
    e  = sqr((mc-mv*mv)/Nb_simul) : ' l'écart-type
    print "Simulation 2"
    print "Estimation ponctuelle : " + str$(mv)
    print
    print "Intervalle de confiance à 95% [ " + str$(mv-1.96*e) + " , " + str$(mv+1.96*e) + " ]"
    print : print "============================================================"
END_SUB
rem ============================================================================
SUB Simulation_3()
    dim_local Nb_simul : ' nombre de simulations
    dim_local sv, sc   : ' somme des valeurs et somme des carrés
    dim_local des,lancers, k, k1, e, mv, mc
    Nb_simul = 500
    
    for k = 1 to Nb_simul
        des = 5          : ' 5 dés au départ
        lancers = 0
        while 1 = 1
            for k1 = 1 to des
                if int(1+rnd(6)) = 1 then des = des - 1 : exit_for : ' si on a obtenu un "As" on arrête la boucle
            next k1
            lancers = lancers + 1      : ' on incrémente le nombre des lancers
            if des = 0 then exit_while : ' si il n'y a plus de dés à lancer on arrête
        end_while
        sv = sv + lancers              : ' la somme des valeurs
        sc = sc + lancers * lancers    : ' la somme des carrés
    next k
    mv = sv/Nb_simul                   : ' la moyenne des valeurs
    mc = sc/Nb_simul                   : ' la moyenne des carrés
    e  = sqr((mc-mv*mv)/Nb_simul)      : ' l'écart-type
    print "Simulation 2"
    print "Estimation ponctuelle : " + str$(mv)
    print
    print "Intervalle de confiance à 95% [ " + str$(mv-1.96*e) + " , " + str$(mv+1.96*e) + " ]"
    print : print "============================================================"
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Un peu de statistique pour simuler des phénomènes aléatoires Empty
MessageSujet: Re: Un peu de statistique pour simuler des phénomènes aléatoires   Un peu de statistique pour simuler des phénomènes aléatoires EmptyDim 12 Mai 2019 - 7:28

Merci Papydall !

Les résultats peuvent effectivement surprendre.

sunny Bon dimanche ensoleillé ! sunny (En Tunisie, il est prévu 25° ! Les veinards !)
Revenir en haut Aller en bas
 
Un peu de statistique pour simuler des phénomènes aléatoires
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» nombres aléatoires
» Générateur de nombres pseudo-aléatoires
» Simuler le passage de paramètre en Panoramic
» Simuler un tableau à 3 dimensions
» Simuler l’appui d'une touche ou combinaison de touches.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: