Algebra

Analyse

Bewijzen

De grafische rekenmachine

Discrete wiskunde

Fundamenten

Meetkunde

Oppervlakte en inhoud

Rekenen

Schoolwiskunde

Statistiek en kansrekenen

Telproblemen

Toegepaste wiskunde

Van alles en nog wat


\require{AMSmath}

 Dit is een reactie op vraag 60195 

Re: Competitie systeem

Bedankt voor uw antwoord.
Helaas heb ik het programma Pascal niet, en hier ook nooit les in gehad. helaas zal ik dit dus ook niet begrijpen.

Zou dit niet op een simpeler manier kunnen?

Heb nornamlijk wel net het programma gedownlaod, Free Pascal IDE, maar begrijp er weinig van.

Met vriendelijke groet,

Sander nielen

sander
Student hbo - woensdag 23 september 2009

Antwoord

Hallo, Sander.
Je moet het hele programma heel precies intypen met de Pascal editor (of gebruik de kopieerfuncties).
Daarna compileren. Als je een typfoutje gemaakt hebt, krijg je de gelegenheid om dat te verbeteren.
Save het programma onder de naam competitie.pas .
Tenslotte runnen. De output verschijnt op je scherm (zorg dat het scherm breed genoeg is).
Het volledige programma luidt:

program competitie;
var minimum,k,l,m,n,p,k1,k2,n1,n2:integer; groep:array[1..40,1..24] of 0..8;
begin
minimum:=10000;{initialisatie}
repeat
for k:=1 to 40 do
begin
for n:=1 to 24 do groep[k,n]:=0;{initialisatie}
for l:=1 to 8 do for m:=1 to 3 do
begin repeat n:=1+random(24) until groep[k,n]=0; groep[k,n]:=l end
end;
p:=0;{teller van doublures}
for k1:=1 to 40 do for k2:=k1+1 to 40 do
for n1:=1 to 24 do for n2:=n1+1 to 24 do
if ((groep[k1,n1]=groep[k1,n2]) and (groep[k2,n1]=groep[k2,n2]))
then p:=p+1;
if not p ≥ minimum then
begin
minimum:=p;
writeln;writeln(p:7);
for k:=1 to 40 do
begin
writeln('avond',k:3);write('***');
for n:=1 to 24 do write(n:3,groep[k,n]:2,'*');
writeln
end
end
until false
end.

Succes ermee.

(Naschrift:
Na een paar uur runnen krijgen we een rooster met 1452 doublures.
Aangezien er voor elke week vierentwintig paren (k1,k2) met k1 kleiner dan k2 getrokken worden waarbij k1 en k2 in eenzelfde groep zitten, en voor een andere week de kans dat k2 in dezelfde groep komt als k1 gelijk is aan 1/8, is het verwachte aantal doublures 24*(1/8)*40*39/2 = 2340.
We krijgen door het programma dus een reductie van het aantal doublures met 38 percent ten opzichte van het verwachte aantal. Als je het programma niet gebruikt, heb je al gauw twee keer zoveel doublures.)

hr
woensdag 23 september 2009

©2001-2024 WisFaq