Exercise 2.7Z: C Program "z3"

From LNTwww
Revision as of 15:00, 6 March 2017 by Guenter (talk | contribs)

C-Programm z3zur Generierung einer Binomialverteilung
Das nebenstehend angegebene C-Programm $z3$ erzeugt sukzessive eine binomialverteilte Zufallsgröße mit den charakteristischen Kenngrößen $l$ und $p$. Es verwendet dabei das Programm $z1$, das bereits in Aufgabe 2.7 beschrieben und analysiert wurde.

Gehen Sie davon aus, dass das Programm mit den Parametern $l = 4$ und $p = 0.75$ aufgerufen wird. Die ersten acht vom Zufallsgenerator random() erzeugten reellwertigen Zahlen (alle zwischen 0 und 1) lauten: $$\rm 0.75, \ 0.19, \ 0.43, \ 0.08, \ 0.99, \ 0.32, \ 0.53, \ 0.02.$$


Hinweise:


Fragebogen

1

Welche der nachfolgenden Aussagen sind zutreffend?

$z3$ liefert eine binomialverteilte Zufallsgröße, weil mehrere Binärwerte aufsummiert werden.
Zur Parameterübergabee an das Programm $z1$ wird das Feld $p\_array = [1-p, \ p]$ benutzt.
Die Übergabe von „$M=2$” muss mit „$\rm 2L$” geschehen, da $z1$ einen Long-Wert erwartet.

2

Welcher Wert wird beim ersten Aufruf von $z3$ ausgegeben?

$1.\text{ Aufruf:} \ z3 \ =$

3

Welcher Wert wird beim zweiten Aufruf von $z3$ ausgegeben?

$2.\text{ Aufruf:} \ z3 \ =$


Musterlösung

1.  Alle drei Aussagen sind richtig.
2.  Die reellwertigen Zufallszahlen 0.75, 0.19, 0.43 und 0.08 werden jeweils mit 0.25 verglichen und führen zu den Binärwerten 1, 0, 1, 0. Das ergibt im ersten Aufruf die Summe z3 = 2.
3.  Analog zum Ergebnis von b) treten wegen der Zufallswerte 0.99, 0.32, 0.53 und 0.02 nun die Binärwerte 1, 1, 1 und 0 auf. Dies führt zum Ausgabewert z3 = 3 (Summe der Binärwerte).