Algorithmen mit Wiederholungen

Schachtelung von Wiederholungen

Einführungsbeispiel

Beim Spiel MENSCH-ÄRGERE-DICH-NICHT muss man zu Beginn des Spieles eine 6 würfeln, um die Figur in die Startposition zu bringen. Dazu darf man drei Mal würfeln. Wie groß ist die Wahrscheinlichkeit eine 6 zu würfeln.

 

 Struktogramm

 

RANDOM, RANDOMIZE

Zur Simulation der Würfelzahl wird die Standardfunktion RANDOM verwendet. RANDOM liefert eine Zufallszahl von 0 bis zu einer GANZZAHL - 1.

Für unser Beispiel: Zufall : = random (6) +1

RANDOMIZE sorgt dafür, dass bei jedem Programmlauf verschiedene Zufallszahlen auftreten.

Quelltext

{Mensch ärgere Dich nicht}
{Das programm ermittelt die Häufigkeit,}
{wie oft die 6 beim dreimaligen Würfeln gewürfelt wird.}
program mensch;
uses crt;
var n, z, i, k, r  :  integer;
       erfolg      :  boolean;
       h           :  real;
begin
     clrscr;
     gotoxy(18,3);textcolor(lightred); write('Mensch ärgere Dich nicht');
     gotoxy(3,6); textcolor(white);write(' Wie viele Versuche ?  ');
     readln(n);
     randomize;
     z := 0;
     for i := 1 to n do
         begin
           Erfolg := false; k:= 0;
           repeat
             inc(k);
             r := random(6) + 1;
             Erfolg := ( r = 6);
           until Erfolg or (k = 3);
           if Erfolg then inc (z);
         end;
     h := z/n * 100;
     gotoxy(12,12); Textcolor(lightgreen);
     write('Die relative Häufigkeit ');
     gotoxy(12,14);write('die 6 zu würfeln den Spielstart beträgt  ', h:2:2,'  %');
     readln;
end.

Den Wert für die Wahrscheinlichkeit, bei drei Versuchen eine 6 zu werfen, beträgt 1-(5 / 6)³ = 42 %

Primzahlen