Kerto- ja jakolasku muuttujien avulla

Kerto- ja jakolasku muuttujien avulla



Tämä simulaatio havainnollistaa kerto- ja jakolaskua muuttujien välillä. Kopioi alla oleva koodi ja aja ohjelma. Älä tee koodiin muutoksia.

// Ohjelman tehnyt e-Oppi Oy
// 30.1.2018
int a = 620; // Laskurin alkuarvo 
int b = 510; // Laskurin alkuarvo 
int c = 95; // Laskurin alkuarvo 
int d = 95; // Laskurin alkuarvo 
int e = 285; // Laskurin alkuarvo 
void setup () {
     size(1000,700); // ikkunan koko
     stroke(0); // Musta viivan väri
     textSize(30); // Tekstin koko
}

void draw() {
     background(255); // Tyhjennä tausta
     float a2 = round(map(a,0,950, -99,99));
     float b2 = round(map(b,0,950, -99,99));
     int c2 = round(map(c,0,950,0,500));
     int d2 = round(map(d,0,950,0,500));
     int e2 = round(map(e,0,950,0,500));
     fill(255);
     rect(500,200,500,500);
     stroke(200);
     for (int t=1; t <= 10; t++) {
        line(500+t*50,200,500+t*50,700);
        line(500,200+t*50,1000,200+t*50);
     }
     fill(0);
     textSize(30);
     stroke(0);
     float h1 = a2*b2;
     float h2 = a2/b2;
     text(a2+"\u00B7"+b2+"="+h1,500+c2,200+e2);
      text(a2+":"+b2+"="+h2,500+d2,300+e2);
     fill(240);
     noStroke();
     rect(0,200,500,500);
     rect(0,0,1000,200);
  
     stroke(0);  
     strokeWeight(1);
  
     fill(255,255,0); // Keltainen täyttöväri
     rect(0,0,999,40); // Piirrä keltainen suorakulmio
     rect(0,40,999,40); // Piirrä keltainen suorakulmio
     rect(0,80,999,40); // Piirrä keltainen suorakulmio
     rect(0,120,999,40); // Piirrä keltainen suorakulmio
     rect(0,160,999,40); // Piirrä keltainen suorakulmio
     fill(255,0,0); // Punainen täyttöväri
     rect(a,0,50,40); // Piirrä punainen neliö
     rect(b,40,50,40); // Piirrä punainen neliö
     rect(c,80,50,40); // Piirrä punainen neliö
     rect(d,120,50,40); // Piirrä punainen neliö
     rect(e,160,50,40); // Piirrä punainen neliö
     int x1 = mouseX; // Selvitä hiiren vaakakoordinaatti
     int y1 = mouseY;
     if (mousePressed == true) {
      if ((y1 > 0) && (y1 < 40)) {
          if ((x1>a) && (a < 950)) { // 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 > 40) && (y1 < 80)) {
          if ((x1>b) && (b < 950)) { // 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 > 80) && (y1 < 120)) {
          if ((x1>c) && (c < 950)) { // Jos hiiri on oikealla puolen
                c++; // niin kasvata laskuria
          }
          if ((x1<c) && (c > 0)){ // Jos hiiri on vasemmalla puolen
                c--; // niin pienennä laskuria
          }
      }
      if ((y1 > 120) && (y1 < 160)) {
          if ((x1>d) && (d < 950)) { // Jos hiiri on oikealla puolen
                d++; // niin kasvata laskuria
          }
          if ((x1<d) && (d > 0)){ // Jos hiiri on vasemmalla puolen
                d--; // niin pienennä laskuria
          }
      }
      if ((y1 > 160) && (y1 < 200)) {
          if ((x1>e) && (e < 950)) { // Jos hiiri on oikealla puolen
                e++; // niin kasvata laskuria
          }
          if ((x1<e) && (e > 0)){ // Jos hiiri on vasemmalla puolen
                e--; // niin pienennä laskuria
          }
      }
     }
     fill(0); // Musta tekstin väri
     textSize(20); // Tekstin koko
     text(nfc(a2,0),a+5,30);
     text(nfc(b2,0),b+5,70);
     text(c2,c+5,110);
     text(d2,d+5,150);
     text(e2,e+5,190);
      
     textSize(25); // Tekstin koko
     text("void setup () {",10,240);
     text("size(500,500); ",50,270);
     text("textSize(30);",50,300);
     text("background(255);",50,330);
     text("fill(0);",50,360);
     text("}",10,390);
     text("void draw () {",10,420);
     text("float a = "+a2+";",50,450);
     text("float b = "+b2+";",50,480);
     text("float c = a*b;",50,510);
     text("float d = a/b;",50,540);
     text("text(a+\"\\u00B7\"+b+\"=\"+c,"+c2+","+e2+");",50,570);
     text("text(a+\":\"+b+\"=\"+d,"+d2+","+(100+e2)+");",50,600);
     text("}",10,630);
    
}