Post by willembever on Aug 28, 2024 18:51:50 GMT
Dick Francis was een jockey, piloot/eigenaar luchttaxibedrijf en auteur van vele boeken. Hij stond er om bekend dat hij van een onderwerp dat hij in een boek gebruikte niet genoeg wist, dat hij deskundige hulp inschakelde.
In het boek Twice Shy - Een gewaarschuwd man (uitgegeven 1981) is het onderwerp perikelen rond een programma dat de uitslag van bepaalde races op een renbaan kon voorspellen. Er staan stukjes basic in het boek, maar vooral een aantal vragen welke het programma stelt.
De uitdaging is via de minimale stukjes een programma te schrijven dat a.h.w. een serieuze poging doet om, met de gegevens van een renbaan en de bekende races welke daar worden gehouden, een uitslag van de race op dat racecourse te bepalen.
'In het boek 'Een gewaarschuwd man'('Twice Shy') van Dick Francis uit 1981 wordt
'een computer programma beschreven dat volgens het verhaal de uitkomst van
'bepaalde races op de paardenrenbanen kan voorspellen.
'Als de nodige gegevens zijn ingevoerd dan geeft het programma's de paarden
'welke als 1, 2 en 3 over de streep gaan met de verwachtte winstfactoren.
'het onderstaande komt uit diverse delen van het verhaal. Slechts enkele
'programma regels zijn werkelijk genoemd. Het grootste deel bestaat uit voorbeelden
'van vragen welke het programma stelt om tot het resultaat te komen.
'Verder zijn er verschillende racecourses en verschillende races gebruikt.
'HET ONDERSTAANDE IS DUS GEEN ECHT PROGRAMMA, maar alleen kleine losliggende
'stukjes van een programma.
'Om een waarschijnlijk programma er van te maken zou per racecourse een aantal constanten
'moeten worden vastgeteld, evenals voor de races welke er worden gehouden.
'Een voorbeeld, een race heeft een bepaalde lengte in Mijl en Furlong.
'Furlong = 220 yard = 201,168 meter.
'Mijl = 8 furlong = 1760 yard = 1,609344 km.
'Ook de lengte van de bepaalde baan telt mee, eventuele bochten en hellingen.
'zie bijvoorbeeld https://www.attheraces.com/course-guides/epsom-downs
'In het boek staat dat er per racecourse een programma is geschreven.
'Dat kan niet anders, het speelt in de tijd dat de programma's op
'compact cassette tapes stonden en de gemiddelde computer 32k RAM had,
'een getal dat in het verhaal wordt genoemd. De taal wordt genoemd als
'Grantley-BASIC, voor een Grantley computer.
'Het eerste programma dat wordt beschreven is dat voor het racecourse Epsom Downs.
'Daarna komen een paar voorbeelden voor andere racecourses, welke hetzelfde
'systeem gebruiken als dat van Epsom.
'Van Dick Francis is bekend dat hij zich bij onderwerpen waar hij zelf niet mee bekend was
'zich uitgebreid liet voorlichten en adviseren.
'Als ex-jockey wist hij natuurlijk voldoende van de races om een idee te hebben
'wat er nodig was om een enigzins betrouwbare voorspelling over de uitslag van een
'race te kunnen geven.
print "welke race in Epsom? Type naam van race en druk 'enter'in"
input A1$
if A$ = "Derby" then goto [L330] '12 furlongs
if A$ = "Oaks" then goto [L340] '12 furlongs
if A$ = "Coronation Cup" then goto [L350]
if A$ = "Blue Riband Stakes" then goto [L360]
[L130]
print "typ naam van paard en druk 'enter'in"
input A2$
'bij de volgende vragen zouden vragen kunnen ontbreken of worden overgeslagen,
'afhankelijk van bepaalde antwoorden - in het boek staat dit alleen als de tekst welke op
'het scherm staat - in dit voorbeeld zijn het losse vragen, geen echt programma deel.
print "antwoord op alle vragen met Ja of Nee en druk 'enter' in."
input "Heeft paard dit jaar gewonnen"; JN$
input "Heeft paard als tweejarige gewonnen"; JN$
input "Heeft paard als driejarige gewonnen"; JN$
input "Hoeveel dagen dat paard voor het laatst gelopen heeft";DGN
input "Heeft paard gewonnen op de afstand: een mijl en zes furlongs"; JN$
input "Heeft paard gelopen op de afstand: een mijl en zes furlongs"; JN$
input "Typ langste afstand in furlongs waarop paard gewonnen heeft"; AFS
input "Heeft paard op renbaan gelopen"; JN$
input "Typ bedrag aan prijzengeld dat in lopend seizoen gewonnen is"; PZG
input "Heeft vader van paard winnaars op deze afstand voortgebracht";JN$
input "Heeft moeder van paard winnaars op deze afstand voortgebracht";JN$
input "staat paard Ante-Post 25 of lager genoteerd"; JN$
input "heeft jockey al eerder een klassieker gewonnen"; JN$
input "heeft trainer al eerder een klassieker gewonnen"; JN$
input "nog meer paarden J/N";JN$ ' voor elk paard dat mee doet aan de betreffende race
if JN$="J"then goto [L130] ' moet de vragenlijst worden doorlopen.
'de volgende regels geven constanten voor de betreffende race,
'dus een set van 4 regels voor elke race in het systeem
'de regels vanaf 520 lijken deze constanten te gebruiken.
[L330] A = 10 :B = 8 : C = 6 : D = 2 : DI = 2
'regels 332, 334, 336 lijken op regel 330
'regel 338 naar we mogen aannemen een goto of gosub [L...]
'aangezien regel 340 voor een volgende race de constanten geeft, etc.
[L520] if N$ = "N" then goto [L560]: x = x + B 'dit werkte in die Basic als if then else
input N$; AB = AB + 1
if N$ = "N" then goto [L560]: x = x + M
T = T + 62
[L560] gosub [L4000]
[L1200] print "typ prijzengeld in lopend seizoen"
'resultaten hieronder zijn in verhaal als foutief aangemerkt
'het zou van t = t tot aan t = t + 20 moeten lopen
input w
if w < 1000 then t = t + 20
if w > 1000 then t = t
if w > 5000 then t = t
if w > 10000 then t = t
if w > 15000 then t = t
[L1240] gosub [L6000]
'Voor de verschillende renbanen waren programma's. Dus per programma slechts een racecourse.
'genoemd worden in het boek:
'Epson Downs (ook Epsom)
'Edinburg
'Doncaster
'Folkstone (Gesloten in 2012)
'Fontwell Park
'Goodwood
'Hamilton Park
'Haydock Park
'Hereford
'Hexham
'Redcar
'Newmarket
'York
'zie https://en.wikipedia.org/wiki/List_of_British_racecourses voor huidige racecourses.
'Een aantal racecourses vallen on der de Jockeyclub https://www.thejockeyclub.co.uk/
'De uitdaging is probeer te bedenken hoe het programma dat ongetwijfelt als test voor het boek
'is geschreven kan hebben gewerkt en schrijf een versie of in hedendaags Basic of in Basic
'van rond 1979.
'Kies zelf een racecourse uit en zoek de informatie daarover op internet,
'welke races er worden gehouden, welke afstanden daar bij horen, voorwaarden
'waaraan de paarden moeten voldoen, handycaprace of niet, etc.
Vragen? Wie weet waar Willem Bever woont die stuurt eventueel een e-mail. En anders zet je hem in deze thread.