Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Toinen harjoitustyö Sokkelon ratkaiseminen oikean käden säännöllä.

Samankaltaiset esitykset


Esitys aiheesta: "Toinen harjoitustyö Sokkelon ratkaiseminen oikean käden säännöllä."— Esityksen transkriptio:

1 Toinen harjoitustyö Sokkelon ratkaiseminen oikean käden säännöllä.

2 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala2 Yleistä Tehtävä: tee Javalla sokkelon (oikean käden säännöllä) ratkaiseva ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. − Ideoita voi vaihtaa – koodia ei. − Henkilökohtaista ohjausta mikroluokissa ennen joulua ja tammikuussa. − Ohjaajilta voi kysyä sähköpostilla. Palautus WETOon viimeistään perjantaina 22.1.2016. Testaus tuttuun tapaan julkisilla ja salaisilla testeillä. Tarkka tehtävänanto julki tällä viikolla.

3 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala3 Sokkeloista Sokkelo koostuu seinistä ja käytävistä. Sokkelon ulkoseinässä on yleensä yksi sisäänkäynti ja yksi uloskäynti. − Matkalla voidaan kohdata esimerkiksi umpikujia. − Labyrintissä on vain yksi yksikäsitteinen reitti alusta loppuun. Harjoitustyössä käsiteltävät sokkelot ovat täydellisiä. − Käytävät eivät muodosta silmukoita eikä sokkeloissa ole saavuttamattomia osia.

4 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala4 Oikean käden sääntö Pidä kulkiessa seinästä kiinni oikealla kädellä ja käänny oikealle aina, kun vastaan tulee risteävä käytävä. if (voit kulkea oikealle) Käänny oikealle; else if (voit jatkaa kulkemista) Jatka nykyiseen suuntaan; else if (voit kulkea vasemmalle) Käänny vasemmalle; else Käänny takaisin; Oikealle, eteen, vasemmalle ja takaisin suhteessa kulkusuuntaan. − Jos kuljetaan esimerkiksi etelään (alas), vasemmalle on itään. Sääntö toimii vain täydellisissä sokkeloissa.

5 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala5 Sokkelon esittäminen Merkit symboloivat sokkelon osia. Käytävät ovat yhden merkin levyisiä. − Umpikujassa on pakko kääntyä. Sisään ensimmäisen rivin toisesta paikasta, ulos viimeisen rivin toiseksi viimeisestä paikasta. Sokkelossa tulee olla rivejä ja sarakkeita vähintään kolme kappaletta. − Rivi- ja sarakemäärien oltava parittomia. − Esimerkiksi 5 x 11 sallittu, mutta 10 x 4 ei. Tietorakenne kaksiulotteinen taulukko. − Vain taulukot ovat sallittuja, muita tietorakenteita (lista, puu jne.) ei saa käyttää..o....o..V......... Kulkematonta käytävää symboloi välilyönti. Sokkelon seinät esitetään pisteillä. Kuljettua käytävää merkitään pienellä o-kirjaimella. Nykyisessä paikassa on kulkusuunnan mukaan joko iso a-kirjain (pohjoinen), suurempi kuin merkki (itä), iso v-kirjain (etelä) tai pienempi kuin merkki (länsi).

6 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala6 Esimerkki Ohjelma käynnistetään kolmella komentoriviparametrilla: − satunnaislukugeneraattorin siemenluku sekä − rivien ja sarakkeiden lukumäärät. Apuluokka luo siemenluvun määräämällä satunnaisella tavalla halutun kokoisen sokkelon. Pelaaja valitsee toiminnon: kuljetaan yksi askel, ratkaistaan ilman askellusta tai lopetetaan. − Ohjelma pysähtyy myös, kun päästään uloskäynnin paikkaan joko askeltaen tai suoraan..V........... 1) Lähtötilanne. Ollaan sisään- käynnillä nykyisenä suuntana etelä. 2) Otetaan askel. Pieni o-kirjain osoittaa, että lähtöpaikka on käyty. Suuntana etelä. Aloitetaan peli siemenluvulla 2 ja luodaan 5  5 -kokoinen kenttä: java Maze 2 5 5.o....V........

7 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala7 Esimerkki.o....o..V......... 3) Otetaan toinen askel. Oikealle (länteen) ei ole voitu tähän mennessä kääntyä, suuntana siten edelleen etelä ja umpikuja..o....o..o...V...... 4) Kolmas askel etelään. Päädytään umpikujaan..o....o..o...A...... 5) Neljäs askel kääntää ratkaisijan tulosuuntaa vastaan (etelään liikuttaessa pohjoiseen), koska ei voitu jatkaa nykysuuntaan. Suunnanosoitin vaihtuu suureksi a- kirjaimeksi..o....o..A...o...... 6) Viides askel otetaan pohjoiseen.

8 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala8 Esimerkki.o....A..o...... 7) Kuudes askel vie vielä takaisin pohjoiseen..o....o>..o...... 8) Seitsemännellä askeleella havaitaan, että voidaan kääntyä oikealle, joka on pohjoiseen liikuttaessa idässä. Suunnanosoitin vaihtuu suurempi kuin merkiksi..o....oo>..o...... 9) Kahdeksas askel vie ratkaisijan taas vasten seinää..o....ooo..o.V..o...... 10) Yhdeksäs askel. Tällä kertaa voidaan onneksi kääntyä oikealle, joka on itään liikuttaessa etelässä. Suunnanosoitin muuttuu isoksi v- kirjaimeksi.

9 Lausekielinen ohjelmointi II | Syksy 2015 | Jorma Laurikkala9 Esimerkki.o....ooo..o.o..o.V..... 11) Kymmenes askel kuljettaa etelään suoraan kohti uloskäyntiä..o....ooo..o.o....V. 12) Yhdennellätoista askeleella päästään uloskäynnille. Ohjelma päättyy.


Lataa ppt "Toinen harjoitustyö Sokkelon ratkaiseminen oikean käden säännöllä."

Samankaltaiset esitykset


Iklan oleh Google