Tehdään ohjelma, joka laskee kuinka monta prosenttia 50 on 400:sta. Piirretään ilmiötä havainnollistava pylväsdiagrammi. Ohjelma on seuraavanlainen.
SANALLINEN ALGORITMI
- Aseta ikkunan kooksi 520 px vaakaan ja 520 px pystyyn.
- Aseta ikkunan taustaväriksi valkoinen.
- Aseta tekstin kooksi 28.
- Aseta viivan paksuudeksi 5.
- Määrittele desimaalilukumuuttuja a ja anna sille arvo 50. a on pylvään korkeus.
- Määrittele desimaalilukumuuttuja b ja anna sille arvo 400. b on pylvään maksimi koko.
- Määrittele desimaalilukumuuttuja c ja anna sille arvo, joka saadaan laskukaavasta: (a:b)∙100. Lasketaan montako prosenttia a on b:stä.
- Asetetaan tekstin väriksi musta.
- Tulostetaan muuttujan a arvo paikkaan (10,30). a on osoittaja.
- Piirretään jakolaskun poikkiviiva pisteiden (10,35) ja (60,35) välille.
- Tulostetaan muuttujan b arvo paikkaan (10,60). b on nimittäjä.
- Tulostetaan muuttujan c arvo paikkaan (60,42). c on laskettu prosenttiosuus.
- Tulostetaan teksti: "100%" paikkaan (250,500-b) eli mitä pidempi on keltainen pylväs (=b), niin sitä korkeammalle teksti tulostuu.
- Tulostetaan muuttujan c arvo eli prosenttiosuus paikkaan (250,520-a) eli mitä pidempi on punainen pylväs (=a), niin sitä korkeammalle teksti tulostuu.
- Tulostetaan muuttujan b arvo paikkaan (420,500-b) eli mitä pidempi on keltainen pylväs (=b), niin sitä korkeammalle teksti tulostuu.
- Tulostetaan muuttujan a arvo paikkaan (420,520-a) eli mitä pidempi on punainen pylväs (=a), niin sitä korkeammalle teksti tulostuu.
- Aseta keltainen väri.
- Piirrä keltainen suorakulmio, jonka nurkkapiste on (350,500), leveys on 50 ja korkeus on -b eli lähtee alareunasta ylöspäin muuttujan b verran.
- Aseta punainen väri.
- Piirrä punainen suorakulmio, jonka nurkkapiste on (350,500), leveys on 50 ja korkeus on -a eli lähtee alareunasta ylöspäin muuttujan a verran.
|
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup () {
size(520,520); // Ikkunan koko
background(255); // Taustaväri valkoinen
textSize(28); // Tekstin koko 28
strokeWeight(5); // Viivan paksuus 5
}
void draw () {
// Anna alkuarvot
float a = 50; // Muuta tämä arvo
float b = 400; // Pylvään maksimiarvo
// Laske
float c = ((a/b)*100);
// Tulosta prosenttilasku
fill(0); // Musta tekstin väri
text(round(a),10,30);
line(10,35,60,35);
text(round(b),10,60);
text(" = "+round(c)+" %",60,42);
// Tulosta pylvään tekstit
text("100%",250,500-b); // Keltaisen pylvään % osuus
text(round(c)+" %",250,520-a); // Punaisen pylvään % osuus
text(round(b),420,500-b); // Keltaisen pylvään lukuarvo
text(round(a),420,520-a); // Punaisen pylvään lukuarvo
// Piirrä
fill(255,255,0); // Keltainen
rect(350,500,50,-b);
fill(255,0,0); // Punainen
rect(350,500,50,-a);
}
