Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Zufallsgenerator Kategorie: Programmierung Basic (von Kay - 2.11.2005 21:17)
 Als Antwort auf Zufallsgenerator von Eckhard - 2.11.2005 14:45
Kay nutzt:  CC1-Unit V1.1, CC1-Station V1.1
> Randomize timer
> i = rand mod 4
>
> liefert immer das gleiche Ergebnis.
>
> Ein pause Befehl oder eine Schleife vor Randomize nutzt auch nichts.

relativ klar - was willst du auch mit dem gammligen rest der division?
du musst den gesamten wertebereich des zufallsgenerators durch
division einschränken.
in dem fall so, dass du 4 einheiten berücksichtigst, um eine gleichmässige
verteilung zu erhalten. wobei es mit der normalverteilung eh ein problem gibt,
da du das ergebnis zwangsweise manipulieren musst,  um eine positive
zufallszahl zu erhalten.
entweder alles per ABS positivieren oder aber mathematisch richtiger
nur positive zahlen verwenden und den kontroller veranlassen, bei erhalt
einer negativen zufallszahl  so lange eine neue zu generieren, bis
er eine positive erzeugte.
im übrigen ist es völlig normal,  dass auch nach randomize
die ersten (ich glaube 8) erzeugten zufallszahlen stets die selben sind.
um das loszuwerden, muss man also am programmstart zunächst
randomize timer schreiben, dannach "sinnlos" 10 zufallszahlen
per schleife erzeugen lassen und dann hat man garantiert welche,  wenn man
den kontroller nicht per autostart losrennen lässt, denn der timer hätte ja dann
auch immer den selben wert.
also: -32768 / 4 macht -8192  -----> 32767 / 8192 is demnach immer kleiner als 4
demnach gibt das folgende programm auch nur zahlen 0 <= x <= 3 aus.


define x word
define i byte

randomize timer

for i = 1 to 8
   x = rand
next i

#RNDTST
   x = rand
   if x < 0 then RNDTST
   x = x / 8191
   print x
goto RNDTST


 Antwort schreiben

Bisherige Antworten:

Re: Zufallsgenerator (von Eckhard - 4.11.2005 18:15)
    Re: Zufallsgenerator (von Kay - 5.11.2005 1:03)
        Re: Zufallsgenerator (von Topmail - 6.11.2005 14:34)