Verranto
Verranto

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 = 200; // Laskurin alkuarvo (ikkunan keskellä)
int b = 400; // Laskurin alkuarvo (ikkunan keskellä)
int c = 600; // Laskurin alkuarvo (ikkunan keskellä)
void setup () {
size(850,650); // ikkunan koko
stroke(0); // Musta viivan väri
strokeWeight(3);
}
void draw() {
background(255); // Tyhjennä tausta
textSize(30);
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
rect(0,100,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ö
rect(c,100,50,50); // Piirrä punainen neliö
fill(200,255,0);
noStroke();
rect(130,310,100,60);
rect(530,310,120,60);
stroke(0);
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
}
}
if ((y1 > 100) && (y1 < 150)) {
if ((x1>c) && (c < 800)) { // Jos hiiri on oikealla puolen
c++; // niin kasvata laskuria
}
if ((x1<c) && (c > 0)){ // Jos hiiri on vasemmalla puolen
c--; // niin pienennä laskuria
}
}
}
fill(0); // Musta tekstin väri
int a2 = round((map(a,0,800,1,10)));
int b2 = round((map(b,0,800,1,10)));
int c2 = round((map(c,0,800,1,100)));
float d2 = (c2*b2*10.0/(a2*10.0));
float e2 = (a2*b2*10.0)/(c2*10.0);
text(round(a2),a+10,35);
text(round(b2),b+10,85);
if (c2 == 100) {
textSize(20);
}
text(round(c2),c+10,135);
textSize(30);
text("Suoraan verranto",50,200);
text("Kääntäen verranto",450,200);
text("x",50,250);
text("y",150,250);
text("y:x",260,250);
text("x",450,250);
text("y",550,250);
text("x\u00B7y",700,250);
text(a2,50,300);
text(b2,150,300);
text(a2,450,300);
text(b2,550,300);
text(c2,50,350);
text(round(d2),150,350);
text(c2,450,350);
text(e2,540,350);
text((b2*10.0)/(a2*10.0),250,300);
text((d2*10.0)/(c2*10.0),250,350);
text(a2*b2,700,300);
text(round(c2*e2),700,350);
text(a2+"\u00B7x = "+c2+"\u00B7"+b2,60,500);
text("x =",60,560);
text(c2+"\u00B7"+b2,115,550);
text(a2,140,585);
text(" = "+round(d2),210,560);
line(120,555,205,555);
text(c2+"\u00B7x = "+a2+"\u00B7"+b2,460,500);
text("x =",460,560);
text(a2+"\u00B7"+b2,520,550);
text(c2,520,585);
text(" = "+round(e2*100)/100.0,610,560);
line(520,555,605,555);
noFill();
rect(40,170,350,240);
rect(440,170,350,240);
line(40,260,390,260);
line(440,260,790,260);
line(40,220,390,220);
line(440,220,790,220);
line(120,220,120,410);
line(520,220,520,410);
line(250,220,250,410);
line(680,220,680,410);
}