MILC logo

IndexVorigeVolgendeLeeg

Programmeertips
Genic Clubguide, 00-00-00


    
                P R O G R A M M E E R T I P S
               ===============================

                          INLEIDING

Programmeertips is een  nieuwe  rubriek,  voor  en  door  de
lezers van de ClubGuide. In deze rubriek horen handige PEEKs
en POKEs, kleine programmaatjes en handige programmeertruuks
thuis.

Omdat ClubGuide #9 nog maar net uit is als  ik  dit  schrijf
heb ik nog geen reakties ontvangen. Ik heb daarom zelf  maar
een tip geschreven. Vanaf ClubGuide #11 hoop ik bergen  tips
van u te kunnen plaatsen. Alles is van harte welkom.

               Stuur uw programmeertips naar:

                       Stichting GENIC
                     T.a.v. Stefan Boer
                         Postbus 258
                       8470 AE Wolvega


               WILLEKEURIGE GETALLEN IN BASIC

Het komt vaak voor  dat  u  toevalsgetallen  nodig  hebt  in
Basic. Basic heeft daarvoor de functie RND(X). Er zit echter
een nadeel aan het RND commando: bij verkeerd gebruik  geeft
hij elke keer dezelfde "toevals"getallen.  Probeert  u  maar
eens:

10 FOR I = 1 TO 10
20 PRINT RND(1)
30 NEXT

Als u het voor de tweede keer RUNt, dan zult u zien dat  het
weer precies dezelfde getallen zijn.

Er is echter wel een oplossing. Voordat ik die geef, zal  ik
eerst even de syntax van het RND commando behandelen.

U kunt bij RND(X) voor X de waarde 0, een positieve  of  een
negatieve waarde invullen. Die waardes hebben  het  volgende
gevolg:

0:  U krijgt het vorige RND getal nog eens.
+:  U krijgt het volgende RND getal uit de lijst.
-:  U krijgt het getal met nummer X uit de lijst.

We maken gebruik van de variabele TIME. Dat  is  een  teller
die 50 of 60 keer  per  seconde  (afhankelijk  van  VDP(10))
wordt verhoogd. Een heleboel Basic handboeken raden u aan de
instruktie RND(-TIME) herhaaldelijk te gebruiken. Dat  geeft
echter geen mooie gespreide  toevalsgetallen.  Beter  is  de
computer aan het begin van het programma op een willekeurige
plaats in de lijst te  zetten  met  R=RND(-TIME)  en  daarna
willekeurige getallen op te vragen met RND(1).

Tot slot nog even dit: de functie  RND(X)  geeft  een  getal
tussen 0 en 1. U kunt daar een ander bereik van  maken  door
het met het juiste getal te vermenigvuldigen.

Voorbeeld:  u  wilt  een  geheel  getal  tussen  50  en   75
(inclusief grenzen, dus [50,75] ). De volgende  Basic  regel
is dan van toepassing:

A = 50 + INT(26*RND(1))

En niet (zoals je zou  verwachten)  25*RND(1)!  25*.99999999
levert namelijk een getal op dat kleiner is dan 25,  en  dus
door INT afgerond wordt naar  24.  A  zou  dan  als  hoogste
waarde 74 aan kunnen nemen.

                                                Stefan Boer

    

Index

Vorige

Volgende