Exercise 2.7Z: C Program "z3"

From LNTwww
Revision as of 17:02, 7 August 2018 by Guenter (talk | contribs)

C-Programm $z3$ zur 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 $\text{random()}$ erzeugten reellwertigen Zahlen (alle zwischen Null und Eins) 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 $\text{p_array} = \big [1-p, \ \ p \big]$ 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?

$z3 \ = \ $

3

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

$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 $\underline{z3 = 2}$.

(3)  Analog zum Ergebnis der vorherigen Teilaufgabe der treten wegen der Zufallswerte $0.99$, $0.32$, $0.53$ und $0.02$ nun die Binärwerte $1, 10, 1, 0$ auf. Dies führt zum Ausgabewert $\underline{z3 = 3}$ (Summe der Binärwerte).