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.
{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 %