12.4 Kalkuli proksimumon de π

Efektive, konata rezulto de entjerteorio asertas ke la probablo ke du entjeroj hazarde elektitaj estas primoj inter si estas 6π2 0,6079. Por provi konstati tiun rezulton, jen tio kion ni faros:

por test  
# Komencu la variablon nombrilo je 0  
provizu "nombrilo 0  
ripetu 1000  
  [se (pgkd hazardon 1000000 hazardon 1000000) = 1 [provizu "nombrilo :nombrilo + 1]]  
skribu [frekvenco:]  
skribu :nombrilo / 1000  
fino

Rimarko: Kiel antaŭe, oni devas meti la parentezojn ĉirkaŭ pgkd hazardon 1000000 hazardon 1000000; se ne, l’ interpretilo provos evalui 1000000 = 1. Por ne skribi parentezojn, skribu tiel: se 1 = pgkd hazardon 1000000 hazardon 1000000.

Rulu la programon test.

test  
0.609  
test  
0.626  
test  
0.597

Oni akiras valorojn proksimaj de la teoria valoro 0.6097. Rimarkindas ja ke tiu frekvenco estas valoro proksima al  6
π2-.

Se mi indikas per f la trovitan frekvencon, oni do havas: f 6--
π2.

Do π2 6
f- kaj do π ∘ --
  6
  f-.

Mi aldonu tiun proksimumigon en mia programo; mi transformu la finon de la proceduro test:

por test  
# Komencu la variablon nombrilo je 0  
provizu "nombrilo 0  
ripetu 1000  
  [se 1 = pgkd hazardon 1000000 hazardon 1000000 [provizu "nombrilo :nombrilo + 1]]  
# Kalkulu la frekvencon  
provizu "f :nombrilo/1000  
# Skribu la valoron proksimuman al pi  
skribu frazon [proksimumigo de pi:] radikon (6/:f)  
fino  
test  
proksimumigo de pi: 3.164916190172819  
test  
proksimumigo de pi: 3.1675613357997525  
test  
proksimumigo de pi: 3.1008683647302115

Nu, mi modifu mian programon tiel ke kiam mi rulos ĝin, mi indiku la nombron de provoj deziratan. Mi intencas provi per 10000 provoj; jen tio kion mi akiras en miaj tri unuaj ruladoj:

por test :provoj  
# Komencu la variablon nombrilo je 0  
provizu "nombrilo 0  
ripetu :provoj  
  [se 1 = pgkd hazardon 1000000 hazardon 1000000 [provizu "nombrilo :nombrilo + 1]]  
# Kalkulu la frekvencon  
provizu "f :nombrilo/:provoj  
# Skribu la valoron proksimuman al pi  
skribu frazon [proksimumigo de pi:] radiko (6/:f)  
fino  
 
test 10000  
proksimumigo de pi: 3.1300987144363774  
test 10000  
proksimumigo de pi: 3.1517891481565017  
test 10000  
proksimumigo de pi: 3.1416626832299914

Ne malbone, ĉu?