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
» Gestion d'un système client-serveur.
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Un peu de statistique pour simuler des phénomènes aléatoires Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
ETB Pokémon Fable Nébuleuse : où acheter le coffret dresseur ...
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 : 7009
Age : 73
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 - 2: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 : 2397
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 - 9: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
-
» Simuler le passage de paramètre en Panoramic
» Générateur de nombres pseudo-aléatoires
» Simuler un clic gauche souris
» 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: