Ik probeer een array te vullen met random getallen die 0 of 1 zijn. Onjuist of juist. Het probleem is nu dat de toets die ik probeer na te maken altijd een ongeveer gelijk aantal juist als onjuist items heeft. Dus allebei ongeveer 110. Er zit wel wat variatie in, dus het kan zeg maar 110+/- 2 zijn voor zowel juist als onjuist
Ik weet niet hoe ik dit moet maken, want nu krijg ik de ene keer wel 109 en 111 maar de andere keer krijg ik dan weer zeg maar 97 en 123.
Nou kan ik wel elke keer controleren als ik er 220 gemaakt heb of # juist ongeveer 110 is, maar dit lijkt me erg omslachtig, zo kan het dan voorkomen dat ik 10 keer achter elkaar de loop moet laten draaien, en aangezien het een statistisch programma moet worden, waarbij ik de mogelijkheid moet hebben om op lange termijn (1000 keer of meer) dit uit te voeren, lijkt het me erg inefficiënt.
Daarom zal ik misschien een willekeurige array moeten maken ofzo en dan op de een of andere manier een set opeenvolgende data moeten plukken die voldoen aan die 110 +/-2 regel. Iemand een idee?
array antwoorden is gewoon van type byte en kan 220 waarden bevatten.
Ik weet niet hoe ik dit moet maken, want nu krijg ik de ene keer wel 109 en 111 maar de andere keer krijg ik dan weer zeg maar 97 en 123.
Nou kan ik wel elke keer controleren als ik er 220 gemaakt heb of # juist ongeveer 110 is, maar dit lijkt me erg omslachtig, zo kan het dan voorkomen dat ik 10 keer achter elkaar de loop moet laten draaien, en aangezien het een statistisch programma moet worden, waarbij ik de mogelijkheid moet hebben om op lange termijn (1000 keer of meer) dit uit te voeren, lijkt het me erg inefficiënt.
Daarom zal ik misschien een willekeurige array moeten maken ofzo en dan op de een of andere manier een set opeenvolgende data moeten plukken die voldoen aan die 110 +/-2 regel. Iemand een idee?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| procedure vulantwoorden;
var
jo: byte;
i: byte;
begin
juist := 0;
onjuist := 0;
randomize;
for i := 1 to 220 do
begin
jo:= random(2);
antwoorden[i] := random(2);
if jo = 1 then
begin
inc(juist);
end
else if jo = 0 then
begin
inc(onjuist);
end;
end;
end; |
array antwoorden is gewoon van type byte en kan 220 waarden bevatten.