C# :: Aufgabe #201 :: Lösung #4
 
                       
        4 Lösungen
         
        
        
      
                
      #201
kleine simulation zweier zufallsereignisse
        Anfänger - C#
        von hollst
         - 21.03.2018 um 21:25 Uhr
      
       
      
        Gegeben seien zwei unabhängige Zufallsereignisse A und B, wobei A mit einer
Wahrscheinlichkeit von 70 % eintritt und B mit eine Wahrescheinlichkeit von 10 %.
Durch (MontoCarlo-) Simulation schätze man ab, mit welchen Wahrscheinlichkeiten das Doppelereignis (A, B)
vorkommt für die Fälle
a) weder A noch B sind eingetreten,
b) entweder A oder B (oder beide) ist (sind) eingetreten.
Man kann das natürlich auch ausrechnen, aber grau ist bekanntlich alle Theorie.
                                         
           
                     
        
           
           
        
           
        
        
        
        
        
        
        
        
        
      
           
    Wahrscheinlichkeit von 70 % eintritt und B mit eine Wahrescheinlichkeit von 10 %.
Durch (MontoCarlo-) Simulation schätze man ab, mit welchen Wahrscheinlichkeiten das Doppelereignis (A, B)
vorkommt für die Fälle
a) weder A noch B sind eingetreten,
b) entweder A oder B (oder beide) ist (sind) eingetreten.
Man kann das natürlich auch ausrechnen, aber grau ist bekanntlich alle Theorie.
#4
von hollst (13980 Punkte)
         - 15.05.2018 um 13:00 Uhr
      
using static System.Console;
namespace aufgabe_201
{
    class Program
    {
        static void Main()
        {
            int trails_max = (int)1E+8;
            System.Random rand = new System.Random();
            int counter_Case_a = 0; //weder A noch B sind eingetreten
            int counter_Case_b = 0; //entweder A oder B (oder beide) ist (sind) eingetreten.
            double a = 0.7, b = 0.1;
            for (var i = 0; i < trails_max; i++)            {
                double xa = rand.NextDouble();
                double xb = rand.NextDouble();
                if ((xa >= a) && (xb >= b)) counter_Case_a++;
                if ((xa < a) || (xb < b)) counter_Case_b++;
            }
            WriteLine($"case_a: {((double)counter_Case_a / trails_max).ToString("p")}");
            WriteLine($"case_b: {((double)counter_Case_b / trails_max).ToString("p")} ready");
            ReadKey();
        }
    }
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
          
          
                 Seite 1 von 0
          
                 1
          
          
             
       
    
    
    
