Kertausta
Kertaustehtäviä
Tähän on koottu kertaustehtäviä kappaleista 5–7. Nämä tehtävät on tarkoitettu omatoimiseen harjoitteluun. Näitä tehtäviä ei tarvitse palauttaa.
| KOMENTO | MERKITYS |
|---|---|
| void setup () { } | Lohko, joka suoritetaan kerran. |
| void draw () { } | Lohko, joka on ikuisessa silmukassa. |
| size(x,y); | Komento määrää ikkunan/koordinaatiston koon. |
| point(x,y); | Komento joka piirtää pisteen paikkaan (x, y). |
| line(x1,y1,x2,y2); | Komento piirtää viivan pisteiden (x1, y1) ja (x2, y2) välille. |
| strokeWeight(koko); | Asettaa viivan paksuuden. |
| background(R,G,B); | Asettaa ikkunan taustavärin. R = punainen, G = vihreä ja B = sininen. Arvot voivat vaihdella välillä 0...255. |
| fill(R,G,B,alpha); | Asettaa tekstin tai kuvion täyttövärin. R = punainen, G = vihreä, B = sininen ja alpha = läpinäkyvyys. Arvot voivat vaihdella välillä 0...255. |
| stroke(R,G,B); | Asettaa kuvion reunaviivan värin. R = punainen, G = vihreä ja B = sininen. Arvot voivat vaihdella välillä 0...255. |
| noFill(); | Asettaa asetuksen, joka poistaa täytön. |
| noStroke(); | Asettaa asetuksen, joka poistaa reunaviivan |
| text(”Teksti”,x,y); | Kirjoittaa tekstiä paikkaan (x, y). |
| textSize(koko); | Asettaa tekstin koon pikseleinä |
| textFont(createFont("Fontti",koko)); | Asettaa tulostettavan fontin ja fontille oletuskoon, jos se on asennettuna käyttöjärjestelmässä. |
| ellipse(x,y,leveys,korkeus); | Piirtää ellipsin, missä (x, y) on ellipsin keskipiste. |
| rect(x,y,leveys,korkeus,pyöristys); | Piirrä suorakulmion, missä (x, y) suorakulmion vasemman yläreunan nurkkapiste. |
| triangle(x1,y1,x2,y2,x3,y3); | Piirtää kolmion pisteiden (x1, y1), (x2, y2) ja (x3, y3) välille. |
| quad(x1,y1,x2,y2,x3,y3,x4,y4); | Piirtää nelikulmion pisteiden (x1, y1), (x2, y2), (x3, y3) ja (x4, y4) välille. |
| beginShape(); vertex(x1,y1); … vertex(xn,yn); endShape(CLOSE); |
Piirtää monikulmion. |
| arc(x,y,leveys,korkeus,alkukulma,loppukuma,tyyppi); | Komento piirtää kaaren ellipsiin. Ellipsin keskipiste on (x, y) ja ellipsin koko määräytyy leveyden ja korkeuden avulla. Kaaren koko määräytyy alkukulman ja loppukulman avulla. Kaaren tyyppi voi saada arvoja: OPEN, CHORD, PIE. |
| radians(kulma); | Muuttaa kulman radiaaneiksi. |
| bezier(x1,y1,x2,y2,x3,y3,x4,y4); | Piirtää Bezier-viivan pisteiden (x2, y2) ja (x3, y3) välille kahvojen (x1, y1) ja (x4, y4) avulla. |
| int,float,String,char,boolean | Muuttujien määrittelyjä (kokonaisluku, desimaaliluku, merkkijono, merkki, totuusarvo). |
| textWidth(“teksti”); | Kertoo tekstin leveyden kokonaislukuna. |
| random(luku); | Arpoo desimaaliluvun väliltä [0, luku]. |
| round(desimaaliluku); | Pyöristää desimaaliluvun kokonaisluvuksi. |
| int(desimaaliluku); | Ilmoittaa desimaaliluvun kokonaisosan. |
| int(‘merkki’); | Muuttaa merkin kokonaisluvuksi. |
| char(kokonaisluku); | Muuttaa kokonaisluvun merkiksi. |
| float(kokonaisluku); | Muuttaa kokonaisluvun desimaaliluvuksi. |
| a%b | Ilmoittaa luvun a:b jakojäännöksen. |
| frameRate(taajuus); | Asettaa lohkon päivitysnopeuden. |
| noLoop(); | Komento muuttaa void draw () -lohkon kertapäivitteiseksi. |
| if (ehto) { komennot1; } else { komennot2; } | Ehtolause |
| >, <, >=, <=, ==, != | Vertailuoperaattorit (suurempi kuin, pienempi kuin, suurempi tai yhtä suuri kuin, pienempi tai yhtä suuri kuin, yhtä suuri kuin, eri suuri kuin). |
| &&, ||, ! | Loogiset operaattorit (JA, TAI, EI). |
| mouseX, mouseY | Lukee hiiren koordinaattiarvot. |
| translate(x,y); | Siirtää origoa x:n verran oikealle ja y:n verran alapäin. |
| scale(x,y); | Muuttaa koordinaatiston skaalausta. x tarkoittaa vakaasuuntaista skaalausta ja y tarkoittaa pystysuuntaista skaalausta. |
| rotate(radians(kulma)); | Pyörittää koko koordinaatistoa, joko myötäpäivään (kulma >0) tai vastapäivään (kulma < 0). Huomaa, että kulmat on muutettava radiaaneiksi. |
| pushMatrix(); | Komento ottaa muistiin tämän hetkisen koordinaatiston. |
| popMatrix(); | Komento palauttaa muistissa olevan koordinaatiston. |
| int a=0; void draw () { a++; } |
Laskurin käyttöönotto. Määritä kokonaisluku muuttujalle ensin alkuarvo (int a=0) heti ohjelman alussa ja käytä sen jälkeen laskuria (esim. a++) void draw ()-lohkon sisällä. |
| for (alkuarvo; ehto; laskuri) { Komennot; } Esimerkiksi: for (int a=1; a<=10; a++) { } |
For-silmukka, jossa voidaan tehdä vakiomäärä toistoja. |
| void aliohjelma(muuttujat) { Komennot; } |
Ohjelma rakenne, jonka avulla voidaan luoda omia aliohjelmia eli funktioita. |
| tietotyyppi aliohjelma(muuttujat) { Komennot; return muuttuja; } |
Ohjelma rakenne, jonka avulla voidaan luoda arvon palauttavia aliohjelmia eli funktioita. |
| map(muuttuja,min1,max1,min2,max2); | Komento muuttaa muuttujan arvon asteikolta [min1, max1] asteikolle [min2, max2]. |
| smooth(); | Asetus poistaa nykimistä animaatioissa ja tekee liikkeestä pehmeämpää. |
1. Tehtävä

Tee ohjelma, jossa ikkunan koko on 400 x 400 ja keltainen taustaväri. Muodosta aluksi matematiikan xy-koordinaatisto siirtämällä origo ikkunan keskelle ja peilaamalla y:n arvot. Piirrä ikkunan keskelle sininen neliö, jonka koko on 200 x 200 ja sen sisälle vihreä ympyrä. Lopuksi piirrä ympyrän sisälle punainen kolmio.
2. Tehtävä

Tee ohjelma, joka laskee ympyrän pinta-alan kaavalla A = π ∙ r2, missä muuttuja r on laskuri, joka saa arvoja 10, 20, 30, .., 100. Lisää ohjelmaan if-lause, joka laske laskurin avulla ympyrän pinta-alan 10 ensimmäistä arvoa. Pyöristä vastaus kokonaisluvuksi.
Ohjelmoinnissa on käytössä komento: PI, joka antaa piin tarkan arvon.
3. Tehtävä

Tee ohjelma, jossa musta ympyrä menee keltaisen ympyrän ylitse. Käytä laskuria.
4. Tehtävä
5. Tehtävä
6. Tehtävä

Tee ohjelma, jossa elektroni kiertää atomin ydintä. Käytä laskuria.
7. Tehtävä

Tee ohjelma, jossa laskurin avulla aurinko kulkee taivaan poikki.
8. Tehtävä
9. Tehtävä
10. Tehtävä
11. Tehtävä
12. Tehtävä
13. Tehtävä

Tee ohjelma, jossa 36 pientä ympyrää menee kohti ulkoreunaa.
14. Tehtävä

Tee ohjelma, joka piirtää hämähäkin verkon. Vinkki: Mieti aluksi kuinka yhdellä for- silmukalla ja arc()-komennolla saadaan aikaiseksi seuraava kuvio. Sektorin suuruus tässä on 30 astetta.

Kun saat yllä olevan kuvion aikaiseksi, niin piirrä nyt vain pelkät kaaret ja lisää toinen for- silmukka, jonka avulla pyöräytät kaaret ympäri 12 kertaa ja saat aikaiseksi hämähäkinverkon.
15. tehtävä
16. Tehtävä
17. Tehtävä
18. Tehtävä
19. Tehtävä
Tee ohjelma, joka piirtää suorakulmaisen kolmion ja laskee kolmion pinta-alan aliohjelmien avulla. Aliohjelma: kolmio(a,b); piirtää vihreän kolmion, missä a on kanta ja b on korkeus. Aliohjelma: pinta_ala(a,b) laskee kolmion pinta-alan ja palauttaa sen takaisin pääohjelmaan muuttujalle, jossa on kolmion pinta-alan arvo. Alla on ohjelman esimerkkitulostus, kun kanta 250 ja korkeus 200.


20. Tehtävä

Tee ohjelma, joka piirtää neliön ja laskee neliön pinta-alan kaavalla: ala = a ∙ a ja piirin kaavalla piiri = 4 ∙ a, missä a on neliön sivun pituus. Laita muuttuja a laskuriksi, jolloin neliön pitäisi alkaa kasvaa. Voit lisätä komennon: frameRate(10); jolloin ruudun päivitys tapahtuu hitaammin eli 0,1 sekunnin välein.
21. Tehtävä

Tee ohjelma, jossa on aliohjelma naama(x,y), joka piirtää 100 x 100 kokoisen hymynaaman paikkaan (x, y). Hymynaaman saat piirrettyä ellipse() ja arc()-komennoilla. Lisää pääohjelmaan for-silmukka, jossa on 12 toistoa ja silmukan sisällä aliohjelman kutsu. Laita hymynaamat kiertämään ympyrän kehälle kuten kuvassa.
22. Tehtävä

Tee omat aliohjelmat eli funktiot vaakaviiva(x); ja pystyviiva(y);. Vaakaviiva(x) komennolla piirretään vaakaviiva haluttuun paikkaan ja pystyviiva(y) komennolla piirretään pystyviiva haluttuun paikkaan. Tässä ohjelmassa ei käytetä matematiikan xy-koordinaatistoa, vaan ohjelmoinnin peruskoordinaatistoa, jossa origo on ikkunan vasemmassa yläreunassa. Kutsu nyt aliohjelmia komennoilla: vaakaviiva(mouseX); ja pystyviiva(mouseY); , jolloin viivojen pitäisi seurata hiiren liikettä. Lisää lisäksi ehto, että kun hiiren painike on pohjassa, niin silloin piirretään ympyrä viivojen leikkauspisteeseen.












