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.
- 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.
- 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.
- 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ä.
- 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:
- Jos luvuista ensimmäinen on sama kuin koneen arpoma, käyttäjä voittaa 400 virtuaalieuroa.
- Jos luvuista toinen on sama kuin koneen arpoma, käyttäjä voittaa 200 virtuaalieuroa.
- Jos luvuista kolmas on sama kuin koneen arpoma, käyttäjä voittaa 100 virtuaalieuroa.
- Jos mikään luvuista ei ollut sama kuin koneen arpoma, käyttäjä häviää 100 virtuaalieuroa.
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()).