Helsingin yliopisto / tietojenkäsittelytieteen osasto / Ohjelmointitekniikka (JavaScript) / © Arto Wikla 2018

Ohjelmointitekniikka (JavaScript): sormiharjoituksia 2018

Muutettu viimeksi 29.10.2018 / Sivu luotu 29.10.2018

Tässä muutamia "peruskurssitasoisia" sormiharjoituksia kaikille halukkaille. Ensimmäisellä harjoituskerralla muodostetaan ensin opiskelijatyöryhmät ja sen jälkeen keskustellaan näiden ohjelmien toteuttamisesta.

Ajatus on että ohjelmat toteutetaan etukäteen ja työryhmien muodostamisen jälkeen harjoitusryhmässä vertaillaan toteutuksia ja toteutusvälineitä. Kannattaa varmaan kokeilla erilaisia ohjelmointivälineitä: Web Console, Node.js, Scratchpad, pieni testiympäristö, ym., ym.

  1. Laadi vuorovaikutteinen eli keskusteleva ohjelma onnenlukujen laskentaan. Onnenluku on jakojäännös, joka saadaan, kun pituuden (sentteinä) ja kengännumeron summa jaetaan luvulla 7. Ohjelma kysyy myös käyttäjän nimen ja tulostaa sen onnenluvun ilmoittavaan raporttiinsa.

  2. Tee vuorovaikutteinen ohjelma Joulukuusi, joka pyytää kuusen korkeuden ja tulostaa "*"-merkeistä muodostuvan kolmion seuraavan esimerkin tapaan. Jos korkeus on vaikkapa kuusi, ohjelma tulostaa:
          *
         ***
        *****
       *******
      *********
          *
    
    Varaudu myös virheellisiin syötteisiin.

  3. Vuosi on karkausvuosi, jos se on jaollinen 4:llä, mutta ei sadalla. 400:lla jaolliset kuitenkin ovat karkausvuosia, mutta vuosi 4000 ei silti ole karkausvuosi. Laadi vuorovaikutteinen sovellus, joka tulostaa karkausvuodet käyttäjän pyytämältä vuosilukuväliltä. Alku- ja loppuvuoden saa syöttää kummassa tahansa järjestyksessä. Järjestys määrää karkausvuosien tulostamisen nousevassa tai laskevassa järjestyksessä.

  4. Toteuta seuraava tietokonepeli: Ensin ohjelma arpoo jonkin yksinumeroisen kokonaisluvun 0, 1, 2, ..., 9 paljastamatta sitä ohjelman käyttäjälle. Sitten käyttäjä syöttää ohjelmalle kolme arvausta siitä, minkä luvun ohjelma on arponut. Lopuksi ohjelma selvittää ja ilmoittaa pelin tuloksen:

    Mikään ei estä kayttäjää syöttämästä eli arvaamasta samaa lukua useampaankin kertaan; tällöin sekä riski hävitä että mahdollinen voitto kasvavat.

    Satunnaisluvun väliltä 0-9 saa arvottua kutsulla: Math.floor(10*Math.random()).