Koulutehtävä

Minun pitäisi suorittaa seuraava tehtävä koulua varten, mutta en ymmärrä tästä sanaakaan, koodia en ainakaan osaa Visual Basicille muodostaa tästä tekstistä. Kaikki helppi, kiitos. Tehtävä kuuluu näin:

"Testataan Visual Basicin satunnaislukugeneraattoria arpomalla tuhat kappaletta kokonaislukuja väliltä 1-6 ja laskemalla kuinka monta kutakin arvottiin. Toisto tehdään for-toistolauseella
for i=1 to 1000
next i
Luvun arvonta ja kappalemäärien laskentalauseet tulevat edellisten väliin, Visual Basicin funktio Rnd antaa satunnaisen luvun väliltä [0,1].
Funktiolla Int desimaaliluku katkaistaan kokonaisluvuksi, satunnainen kokonaisluku väliltä [1,6] saadaan kaavalla
x = int(rnd * 6) 1
Suorita x:n vertailu Select Case -lauseella. Tarvitset lisäksi kuusi muuttujaa, joihin lasket lukumääriä, esim. jos haluan ykkösten lukumäärän muuttujan lkm1 niin kasvatan sitä yhdellä aina, kun arvottava luku on 1. Muuttuja kasvaa yhdellä lauseella lkm1 = lkm1 1"

Niin ja mitään en ymmärtänyt. Mukana on kuva, jossa on piirretty kyseinen ohjelma. Siinä on siis yksi painonappula jossa lukee "Laske!", kuusi tekstilootaa joissa lukee "Ykkösiä:", "Kakkosia:" jne. sekä noista kaikkien vieressä oma tekstiloota, johon pitäisi siis tulla esim. ykkösten lukumäärä, kun arvotaan 1000 kokonaislukua.

Apua?
4272
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

dim i as integer
dim x as integer
dim
for i=1 to 1000
x = int(rnd * 6) 1
select case x
case 1
lkm1 = lkm1 1
case 2
lkm2 = lkm2 1
case 3
lkm3 = lkm3 1
case 4
lkm4 = lkm4 1
case 5
lkm5 = lkm5 1
case 6
lkm6 = lkm6 1
next i

sitten vaan liität ton laske napin taakse ja teet tekstilaatikot joihin tulostat lukumäärät
esim. Text1.Text = lkm1

Äänestä
  • jäi vähän kesken noi muttujien määrittelyt mut ihan helposti ne tehdään loppuun

    Äänestä

procedure TForm1.Button1Click(Sender: TObject);
var satunnaisluku,kierros:integer; s:string;
begin
   for kierros := 1 to 1000 do
      begin
         satunnaisluku:= Random(6) 1; // satunnaisarvoja väliltä 1-6
         case satunnaisluku of
            1: Edit1.Text:= IntToStr((StrToInt(Edit1.Text) 1));
            2: Edit2.Text:= IntToStr((StrToInt(Edit2.Text) 1));
            3: Edit3.Text:= IntToStr((StrToInt(Edit3.Text) 1));
            4: Edit4.Text:= IntToStr((StrToInt(Edit4.Text) 1));
            5: Edit5.Text:= IntToStr((StrToInt(Edit5.Text) 1));
            6: Edit6.Text:= IntToStr((StrToInt(Edit6.Text) 1));
         end; // case of
      end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   Randomize;
   Edit1.Text:='0';
   Edit2.Text:='0';
   Edit3.Text:='0';
   Edit4.Text:='0';
   Edit5.Text:='0';
   Edit6.Text:='0';
end;

Äänestä

että teet tehtävät vasta kun kieleksi vaihdetaan KUNNOLLINEN ohjelmointikieli

Äänestä

Kommentoi aloitusta


Täysnewbie kirjoitti:

Minun pitäisi suorittaa seuraava tehtävä koulua varten, mutta en ymmärrä tästä sanaakaan, koodia en ainakaan osaa Visual Basicille muodostaa tästä tekstistä. Kaikki helppi, kiitos. Tehtävä kuuluu näin:

"Testataan Visual Basicin satunnaislukugeneraattoria arpomalla tuhat kappaletta kokonaislukuja väliltä 1-6 ja laskemalla kuinka monta kutakin arvottiin. Toisto tehdään for-toistolauseella
for i=1 to 1000
next i
Luvun arvonta ja kappalemäärien laskentalauseet tulevat edellisten väliin, Visual Basicin funktio Rnd antaa satunnaisen luvun väliltä [0,1].
Funktiolla Int desimaaliluku katkaistaan kokonaisluvuksi, satunnainen kokonaisluku väliltä [1,6] saadaan kaavalla
x = int(rnd * 6) 1
Suorita x:n vertailu Select Case -lauseella. Tarvitset lisäksi kuusi muuttujaa, joihin lasket lukumääriä, esim. jos haluan ykkösten lukumäärän muuttujan lkm1 niin kasvatan sitä yhdellä aina, kun arvottava luku on 1. Muuttuja kasvaa yhdellä lauseella lkm1 = lkm1 1"

Niin ja mitään en ymmärtänyt. Mukana on kuva, jossa on piirretty kyseinen ohjelma. Siinä on siis yksi painonappula jossa lukee "Laske!", kuusi tekstilootaa joissa lukee "Ykkösiä:", "Kakkosia:" jne. sekä noista kaikkien vieressä oma tekstiloota, johon pitäisi siis tulla esim. ykkösten lukumäärä, kun arvotaan 1000 kokonaislukua.

Apua?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu