Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Luvunarvaustekoäly

nörtti [31.08.2007 18:43:07]

#

Ohjelma on hyvin yksinkertainen tekoäly joka yritää arvata antamaasi lukua väliltä 12-100.

Voit lähetää tietoa mahdollista virheistä ja korjausehdotuksia osoiteeseen juhani.haverinen@elisanet.fi

CLS
PRINT "ESC lopettaa jos pitää"
INPUT "anna luku 12-100"; luku
yla = luku + 12
ala = 0
arvonta:
i& = i& + 1
koe = INT(RND * 100 + 12)
IF koe < ala AND koe > yla THEN GOTO arvonta
PRINT i&; "luku:"; koe; " alue"; ala; "-"; yla
a = 0
FOR a = 1 TO 20000: NEXT a
luenap$ = INKEY$
IF luenap$ = CHR$(27) THEN END
IF koe = luku THEN
PRINT "Arvasin oikein!"
PRINT "jihuu!"
PRINT CHR$(1)
ELSE
IF koe > luku THEN yla = koe
IF koe < luku THEN ala = koe
GOTO arvonta
END IF

moptim [02.09.2007 11:11:54]

#

Yääk, mitään gotoja käytetä. Huonoa koodaustapaa. Samoin voisit sisentää koodin. Melko tarpeeton koodinpätkä. Toi RND:n jälkeinen IF on myös aika huono jutska, voisit sisällyttää ala- ja ylärajat tuohon lausekkeeseen (aluksi tietysti muuttujan yla arvo tulee olla 100:

koe = INT(RND * yla + (12 + ala))

nörtti [02.09.2007 17:52:39]

#

Tämä koodi on ensimmäinen tekoälyni enkä osannut koodata siististi. Olen jo tehnyt ne omaan kooditiedostooni mutta en ole voinut korjata asiaa koska en ole huomannut mitään mistä voisin korjata asian.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta