Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

randomi kood?

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    randomi kood?

    ei osanud seda teemat panna kuhugi mujale kui siia, niisiis kuidas ntx taskuarvutis v6i yksk6ik kus(progemiskeeltes) "tekitatakse" random?mingi kindel valem???

    #2
    Kas selleks pole mitte eri käsud? rnd või midagi sellist. Javascript andis minuarust mingi ]0;1[ vahemikus...võin ka vahemikuga eksida.

    Comment


      #3
      On olemas jah käsk rnd.

      Tegelikult on juhusliku arvu tekitamine suhteliselt raske ülessanne, sest üldiselt ei saa olla digitehnikas ju midagi juhuslikku.
      Kasutatakse hoopis pseudojuhuslikke arve. Nii, et iga järgnev genereeritakse eelmisest. Näiteks võetakse järgmise juhusliku arvu "seemneks" käesoleva juhusliku arvu mingid keskmised numbrid (rnd annab alati vastuse 0-1 vahel) - sellest tehakse mingi matemaatiline tehe (mida mittelineaarsem, seda parem, näit siinus) - sellest lõigatakse omakorda mingid numbrid (vajadusel pööratakse järjestus ringi kah veel (olenevalt tsüklist)+ tehakse veel midagi.

      Samas saab esialgse "seemne" ette anda käsuga "randomize" ,
      Harilikult pannakse sinna taimer, kuid ei pruugi seda teha.
      Kusjuures sama "seemne" korral saab alati samad " juhuslikud arvud"
      Elu on nagu lintmakilt muusika kuulamine. Mida lõpupoole, seda kiiremini hakkab linti äraandev ketas pöörlema...

      Comment


        #4
        Linuxis on selleks kohe kernelis üks tükk, mis suvalisi arve genereerib. See siis kasutab oma arvutustes igaasugust juhuslikku infot, näiteks võrguliideste pakettide arvu, kellaaega jne.
        Tavaliselt aga jah on progemiskeele keskkonnas mingid valemid, mis genereerivad need pseudo-juhuslikud jadad. Nende hulgas tuleb teha valik, näiteks paljudes keeltes käsuga randomize. Tavaliselt kasutatakse randomize timer ehk siis valitakse jada kellaaja järgi.

        Comment


          #5
          Originally posted by brand11@Oct 19 2004, 23:55
          .. kuidas ... "tekitatakse" random?mingi kindel valem???
          Nt Excel VBA-s saab kolme reaga juhusliku täisarvu niimoodi:

          'koodi algus
          '
          mingi_vahemik=50 'selle muutujaga määratakse vahemik, antud juhul kuni 50
          Randomize 'määrab arvude genereerimisviisi
          juhuslik_arv = Int((mingi_vahemik * Rnd) + 1) 'genereerib täisarvu vahemikus 1÷50
          '
          'koodi lõpp

          Comment


            #6
            Pascalis/Delphis käib nii:

            Randomize; - Käivitatakse random numbri generaator
            i:=Random(500); - Siin antakse muutujale i suvaline väärtus vahemikus 0 kuni 500

            Pascalis vähemalt kasutatakse juhusliku numbri saamiseks System clocki.

            Comment

            Working...
            X