Exercise 2.7Z: C Program "z3"

From LNTwww
Revision as of 18:09, 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übergabe 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 Teilaufgabe (2) treten nun wegen der Zufallswerte $0.99$, $0.32$, $0.53$ und $0.02$ die Binärwerte $1, 1, 1, 0$ auf.
Dies führt zum Ausgabewert $\underline{z3 = 3}$ (wiederum Summe der Binärwerte).