Esimerkki: Pylväsdiagrammi (extra)

Tehdään ohjelma, joka laskee kuinka monta prosenttia 50 on 400:sta. Piirretään ilmiötä havainnollistava pylväsdiagrammi. Ohjelma on seuraavanlainen.

SANALLINEN ALGORITMI
  1. Aseta ikkunan kooksi 520 px vaakaan ja 520 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta tekstin kooksi 28.
  4. Aseta viivan paksuudeksi 5.
  5. Määrittele desimaalilukumuuttuja a ja anna sille arvo 50. a on pylvään korkeus.
  6. Määrittele desimaalilukumuuttuja b ja anna sille arvo 400. b on pylvään maksimi koko.
  7. Määrittele desimaalilukumuuttuja c ja anna sille arvo, joka saadaan laskukaavasta: (a:b)∙100. Lasketaan montako prosenttia a on b:stä.
  8. Asetetaan tekstin väriksi musta.
  9. Tulostetaan muuttujan a arvo paikkaan (10,30). a on osoittaja.
  10. Piirretään jakolaskun poikkiviiva pisteiden (10,35) ja (60,35) välille.
  11. Tulostetaan muuttujan b arvo paikkaan (10,60). b on nimittäjä.
  12. Tulostetaan muuttujan c arvo paikkaan (60,42). c on laskettu prosenttiosuus.
  13. Tulostetaan teksti: "100%" paikkaan (250,500-b) eli mitä pidempi on keltainen pylväs (=b), niin sitä korkeammalle teksti tulostuu.
  14. Tulostetaan muuttujan c arvo eli prosenttiosuus paikkaan (250,520-a) eli mitä pidempi on punainen pylväs (=a), niin sitä korkeammalle teksti tulostuu.
  15. Tulostetaan muuttujan b arvo paikkaan (420,500-b) eli mitä pidempi on keltainen pylväs (=b), niin sitä korkeammalle teksti tulostuu.
  16. Tulostetaan muuttujan a arvo paikkaan (420,520-a) eli mitä pidempi on punainen pylväs (=a), niin sitä korkeammalle teksti tulostuu.
  17. Aseta keltainen väri.
  18. 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.
  19. Aseta punainen väri.
  20. 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);
}