Auttakaa viisaammat ohjelman tekemisessä

Hei,

tehtävänäni on laatia Pascal-kielinen ohjelma, joka tulostaa N satunnaista lottoriviä, jotka poikkeavat toisistaan vähintään K:lla numerolla ( 0 < K < 7 ). Ohjelma siis kysyy käyttäjältä kuinka monta riviä halutaan ja paljonko rivien on poikettava toisistaan.

Tämän ohjelman laatiminen ei enää omatoimisten opintojeni perusteella onnistu eikä apua tahdo löytyä mistään. Auttakaa nyt viisaammat miten laadin ohjelman. Varmasti teille monelle tämä on aivan simppeliä touhua.
Kiitokset jo etukäteen.
9746
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

Kirja käteen tai googlaa.

Äänestä

mistään viisaudesta kiinni vaan VIITSIMISESTÄ!
Sorry, että oon tyly.

Äänestä

niin homma alkaa selkiintyä.
Mikä pascal (Delphikö)?
Mikä tuossa on vaikeinta sinulle?

Äänestä

Laitapas tähän alle sen verran sitä sun pascal-koodia, jonka olet saanut aikaiseksi ;)
Vai onko niin ettet ole päässyt alkua pitemmälle?

Äänestä

Rakentele ohjelman pääkohdat

7 numeron arvonta:
tässä pitää arpoa niin kauan, että saadaan 7 eri numeroa.

kun yksi rivi on saatu arvottua, mennään taas kohtaan "7 numeron arvonta" ellei ole jo saatu arvottua N määrää rivejä.

Rivien vertailu:
Kun saadaan arvottua uusi rivi, täytyy verrata tämän rivin numeroita edelliseen (edellisiin) riviin. Jos useampi kuin K numeroa ovat samat kuin edellisessä (edellisissä) rivissä, täytyy mennä arpomaan tämä rivi uudestaan.


Kun en tunne noita Pascalia(kaan), niin en tiedä mahdollisuuksísta. Mutta olettaisin, että periaate on se, että arvotaan niin kauan kuin on tarve, eli kunnes ollaan saatu N kpl 7 numeron rivejä, joissa toisistaan poikkeavia numeroita on vähintään K verran. Eli yritys ja erehdys ja uudestaan, kunnes haluttu lopputulos on saatu.
Ja K arvo ei saa olla liian suuri, muuten tehtävä on ohjelmallekin mahdoton, riippuen tietysti myös N arvosta.

7 numeron arvonnassahan joutuu arvottua numeroa vertaamaan sen rivin aiemmin arvottuihin, jos on jo tämä numero, arvotaan se uudestaan.
Eli muuttujiksihan ne 7 numeroa täytyy laittaa, vaikka numero(x) jossa x on 1...7.

Eli riviä arvottaessa ekaksi saatu numero tulisi muuttujan numero(1) arvoksi, toista numeroa arvottaessa lukua verrattaisiin muuttujaan
numero(1). Toinen saatu numero tulisi muuttujan numero(2) arvoksi. Kolmatta numeroa arvottaessa sitä pitää sitten verrata muuttujiin numero(1) ja numero(2). Kun kaikki 7 numeroa olisi saatu arvottua, olisi 7. arvottu numero muuttujassa numero(7).

Riviä 2 arvottaessa arvotut numerot asetettaisiin muuttujiin numero(8)...numero(14).

Kun rivi 2 saadaan arvottua, verrataan muuttujien arvoja 1. rivin muuttujiin numero(1)...numero(7).

Riviä 3 arvottaessa arvotut numerot asetettaisiin muuttujiin numero(15)...numero(21).

Kun rivi 3 saadaan arvottua, verrataan muuttujien arvoja 1. rivin muuttujiin numero(1)...numero(7) ja 2. rivin muuttujiin numero(8)...numero(14).

jne jne.
ÄH! noin se menee.

Äänestä

...kettuako tuolla ohjelmalla kukaan tekee :-o

Äänestä
  • mutta jos luulee lottovoiton jollain ohjelmalla saavansa, silloin luulee liikoja.
    Sen sijaan, jos ei halua miettiä mitähän numeroita lottoriviin laittaisi, panee koneen miettimään.

    Äänestä

  • vbguru kirjoitti:

    mutta jos luulee lottovoiton jollain ohjelmalla saavansa, silloin luulee liikoja.
    Sen sijaan, jos ei halua miettiä mitähän numeroita lottoriviin laittaisi, panee koneen miettimään.

    Kiitoksia kommenteistanne.
    En minäkään lottovoittoja tällä ohjelmalla usko saavani mutta harjoitustyö pitäisi saada tehtyä. En tosiaankaan ole tässä päässyt juuri alkua pidemmälle eli tehtävän juoni on ollut minulta hukassa. Toivottavasti neuvojenne avulla pääsen eteenpäin. Tenttikin on tulossa... Saa nähdä miten tytön käy?

    Äänestä

  • Krisse kirjoitti:

    Kiitoksia kommenteistanne.
    En minäkään lottovoittoja tällä ohjelmalla usko saavani mutta harjoitustyö pitäisi saada tehtyä. En tosiaankaan ole tässä päässyt juuri alkua pidemmälle eli tehtävän juoni on ollut minulta hukassa. Toivottavasti neuvojenne avulla pääsen eteenpäin. Tenttikin on tulossa... Saa nähdä miten tytön käy?

    Ihan hyvin se tentti menee. Laitat vain ne tenttikysymykset tänne ja toivot jonkun ehtivän vastaavan niihin kattavasti ennen palautusaikaa, kuten tähänkin asti on tehty.

    Äänestä

Kommentoi aloitusta


Krisse kirjoitti:

Hei,

tehtävänäni on laatia Pascal-kielinen ohjelma, joka tulostaa N satunnaista lottoriviä, jotka poikkeavat toisistaan vähintään K:lla numerolla ( 0 < K < 7 ). Ohjelma siis kysyy käyttäjältä kuinka monta riviä halutaan ja paljonko rivien on poikettava toisistaan.

Tämän ohjelman laatiminen ei enää omatoimisten opintojeni perusteella onnistu eikä apua tahdo löytyä mistään. Auttakaa nyt viisaammat miten laadin ohjelman. Varmasti teille monelle tämä on aivan simppeliä touhua.
Kiitokset jo etukäteen.

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