Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Nolla tai joku muu luku(QB) (VB.NET)

Sivun loppuun

Gaxx [24.12.2003 13:04:13]

#

Kuinka pystyy tekemään sellaisen, että arvalla heitetty vastaus on joko 0 tai sitten 5?

Jos nyt olen ymmärtänyt oikein tuon RND:n toiminnan niin sen pitäisi toimia näin:

luku = (RND*1)*5
'siis käsittääkseni pelkkä randomi palauttaa joko arvon 0 tai sitten 1

Mutta kun ei toimi. Miten tämän siis saisi toimimaan?


edit: Ei sittenkään mitää... Sain toimiin jo.

RANDOMIZE TIMER
luku = (RND * 1)
luku = luku * 5

sooda [24.12.2003 23:23:24]

#

rnd kyllä palauttaa siis kyllä arvon väliltä 0 ja 1. eli se voi olla vaikka 0.6697457...

Gaxx [25.12.2003 01:04:28]

#

Joo tiesin ton mut ei käyny mieles(sillon, kun kirjotin ton), kun en oo vielä tarvinnu noita pilkkulukuja :)

PS. Noitten koodinpätkien perusteella saa kyllä sen käsityksen etten tienny tai jotai...

hunajavohveli [25.12.2003 21:43:10]

#

Joo siis toimii se jos pistät CINT(RND), joka arpoo 0 tai 1, koska jos luku on < 0.5 se pyöristyy 0 tai jos se on > tai = 0.5 se pyöristyy 1.

Edit: Ja ykkösellä ei tarvitse kertoa, koska se ei ikinä muuta mitään lukua.

Gaxx [26.12.2003 12:03:16]

#

Tosta mun esimerkistäni oli jääny epähuomiossa pois "DIM luku as integer" rivi.

lainaus:

Edit: Ja ykkösellä ei tarvitse kertoa, koska se ei ikinä muuta mitään lukua.

Nii mut kato, jos haluut saada joko luvun nolla tai sit luvun viis etkä mitään muuta ni sitte tarttee kertoa. Mää tarttin :)

rndprogy [26.12.2003 17:14:55]

#

Mä oon tehny aina näin:

A = INT(RND * 1)
A = A * 5

miksi tuo tossa oleva A pitäisi DIMmata.

Gaxx [26.12.2003 18:12:34]

#

No jaa... se on ihan maku kysymys. Jotku kato tykkää dimmata kaikki muuttujat joita käyttää(ite en kylläkään dimmaa kaikkia...) ja toiset taas ei. Pääasia on, että toimii.

Antti Laaksonen [26.12.2003 18:18:02]

#

On hyvä määritellä kaikki muuttujat ennen niiden käyttöä. QBasicissa tästä ei tosin sinänsä ole hyötyä oletustyyppiin tai muuttujan loppuun laitettavaan merkintään verrattuna. Vähintään kannattaa laittaa ohjelman alkuun "DEFINT A-Z", jolloin määrittelemättömät muuttujat ovat INTEGER-tyyppisiä ja siksi nopeampia käsitellä. Visual Basicissa (jos ohjelman alussa on Option Explicit) ja VB.NETissä muuttujat täytyy määritellä aina, ja tämä on hyvä tapa.

hunajavohveli [27.12.2003 18:18:04]

#

lainaus:

Nii mut kato, jos haluut saada joko luvun nolla tai sit luvun viis etkä mitään muuta ni sitte tarttee kertoa. Mää tarttin :)

En nyt oikein käsitä. Ykkösellä ei koskaan tarvitse kertoa. Ota mikä tahansa luku.

1*2=2
1*5.14=5.14
1*0=0

Ykkösellä kertominen (tai jakaminen) ei muuta mitään lukua ikinä.

Gaxx [28.12.2003 15:08:13]

#

No mulla oli vähän ailahduksia tos ajattelemisessa. Ajattelin kato kokoajan, että RND kerrotaan jollain muuttujalla niin se muuttuja on mahdollisesti myös yksi ;)

hunajavohveli [28.12.2003 20:38:38]

#

Joo, luulin tuota muuten itsekin kun olin vielä aloittelija, mutta RND toimii ihan yksikseen ja silloin se palauttaa aina luvun 0 ja 1 väliltä. Tuo luku voidaan sitten tietysti kertoa millä tahansa.


Sivun alkuun

Vastaus

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

Tietoa sivustosta