Suhde prosentteina

Suhde prosentteina



Tämä simulaatio esittää suhdeluvun prosentteina. Ohjelman koodi on seuraava. Kopioi tämä koodi kokonaisuudessaan ohjelmointiympäristöön ja suorita koodi. Sinun ei tarvitse tehdä koodiin mitään muutoksia.

// Ohjelman tehnyt e-Oppi Oy
// 28.3.2018
int a = 400; // Laskurin alkuarvo (ikkunan keskellä)
int b = 400; // Laskurin alkuarvo (ikkunan keskellä)

void setup () {
 size(850,500); // ikkunan koko
 stroke(0); // Musta viivan väri
 strokeWeight(3);
 textSize(30);

}

void draw() {
 background(255); // Tyhjennä tausta
 fill(255,255,0); // Keltainen täyttöväri
 rect(0,0,849,50); // Piirrä keltainen suorakulmio
 rect(0,50,849,50); // Piirrä keltainen suorakulmio
 fill(255,100,100); // Punainen täyttöväri
 rect(a,0,50,50); // Piirrä punainen neliö
 rect(b,50,50,50); // Piirrä punainen neliö

 int x1 = mouseX; // Selvitä hiiren vaakakoordinaatti
 int y1 = mouseY;
  if (mousePressed == true) {
 if ((y1 > 0) && (y1 < 50)) {
 if ((x1>a) && (a < 800)) { // Jos hiiri on oikealla puolen
 a++; // niin kasvata laskuria
 }

 if ((x1<a) && (a > 0)) { // Jos hiiri on vasemmalla puolen
 a--; // niin pienennä laskuria
 }
 }
 if ((y1 > 50) && (y1 < 100)) {
 if ((x1>b) && (b < 800)) { // Jos hiiri on oikealla puolen
 b++; // niin kasvata laskuria
 }

 if ((x1<b) && (b > 0)){ // Jos hiiri on vasemmalla puolen
 b--; // niin pienennä laskuria
 }
 }
}

 fill(0); // Musta tekstin väri
 float a2 = round((map(a,0,800,0,10)));
 float b2 = round((map(b,0,800,0,10)));
 float summa= a2+b2;
 float a3 = round((map(a2,0,summa,0,600)));
 float b3 = round((map(b2,0,summa,0,600)));
 
 text(round(a2),a+10,35);
 text(round(b2),b+10,85);
 
 text("Suhde "+round(a2)+" : "+round(b2),100,200);
 text(round(100.0*(round(10*a2)/10.0)/summa)+" %",10,285);
 text(round(100.0*(round(10*b2)/10.0)/summa)+" %",710,285);
 noFill();
 rect(100,250,600,50);
 fill(255,100,100);
 rect(100,250,a3,50);
 fill(100,100,255);
 rect(100+a3,250,b3,50);
}