Pinta-alan yksiköt

Pinta-alan yksiköt



Tällä simulaatiolla voidaan harjoitella pinta-alan muutoksia yksiköstä toiseen. Nuoli näyttää, mihin pilkku siirtyy kysytyssä yksikössä. 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
// 19.3.2018
float a = 275; // Laskurin alkuarvo (ikkunan keskellä)
float b = 400; // Laskurin alkuarvo (ikkunan keskellä)
float c = 137; // Laskurin alkuarvo (ikkunan keskellä)
float d = 375; // Laskurin alkuarvo (ikkunan keskellä)
void setup () {
     size(800,600); // ikkunan koko   
}

void draw() {
     background(255); // Tyhjennä tausta
     stroke(0); // Musta viivan väri
     strokeWeight(3);
     textSize(20);
     int x1 = mouseX; // Selvitä hiiren vaakakoordinaatti
     int y1 = mouseY;
     if (mousePressed == true) {
     if ((y1 > 0) && (y1 < 50)) {
     if ((x1>a) && (a < 750)) { // Jos hiiri on oikealla puolen
         a++; // niin kasvata laskuria
     }

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

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

      if ((x1<c) && (x1 >= 0)) { // Jos hiiri on vasemmalla puolen
         c--; // niin pienennä laskuria
      }
     }
     if ((y1 > 150) && (y1 < 200)) {
      if ((x1>d) && (d < 750)) { // Jos hiiri on oikealla puolen
         d++; // niin kasvata laskuria
      }

      if ((x1<d) && (x1 >= 0)) { // Jos hiiri on vasemmalla puolen
         d--; // niin pienennä laskuria
      }
     }
      
     }
     fill(0); // Musta tekstin väri
     int a2 = round(map(a,0,750,1,99));
     int b2 = round(map(b,0,750,1,16));
     int c2 = round(map(c,0,750,1,7));
     int d2 = round(map(d,0,750,1,7));  
        fill(255);
        noStroke();
        rect(0,150,600,600);
    
        fill(0);
        noStroke();
        fill(255);
        rect(0,0,600,148);
        stroke(0); // Musta viivan väri
        strokeWeight(3);
        fill(255,255,0); // Keltainen täyttöväri
        rect(0,0,799,50); // Piirrä keltainen suorakulmio
        rect(0,50,799,50); // Piirrä keltainen suorakulmio
        rect(0,100,799,50); // Piirrä keltainen suorakulmio
        rect(0,150,799,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ö
        rect(d,150,50,50); // Piirrä punainen neliö
        textSize(20);
        fill(0);
        textSize(20);
        text(""+a2,a+4,40);   
        text(""+(b2-9),b+4,90);
        String merkki="";
        if (c2 == 1) {
          text("km\u00B2",c+4,140);
          merkki = "km\u00B2";
        }
        if (c2 == 2) {
          text("ha",c+4,140);
           merkki = "ha";
        }
        if (c2 == 3) {
          text("a",c+4,140);
           merkki = "a";
        }
        if (c2 == 4) {
          text("m\u00B2",c+4,140);
           merkki = "m\u00B2";
        }
        if (c2 == 5) {
          text("dm\u00B2",c+4,140);
           merkki = "dm\u00B2";
        }
        if (c2 == 6) {
          text("cm\u00B2",c+4,140);
           merkki = "cm\u00B2";
        }
        if (c2 == 7) {
          text("mm\u00B2",c+4,140);
           merkki = "mm\u00B2";
        }
        String merkki2 = "";
        if (d2 == 1) {
          text("km\u00B2",d+4,190);
          text("km\u00B2",155+(b2/2.0+(d2-c2))*63,290);
          merkki2 = "km\u00B2";
        }
        if (d2 == 2) {
          text("ha",d+4,190);
          text("ha",155+(b2/2.0+(d2-c2))*63,290);
          merkki2 = "ha";
        }
        if (d2 == 3) {
          text("a",d+4,190);
          text("a",155+(b2/2.0+(d2-c2))*63,290);
          merkki2 = "a";
        }
        if (d2 == 4) {
          text("m\u00B2",d+4,190);
          text("m\u00B2",155+(b2/2.0+(d2-c2))*63,290);
          merkki2 = "m\u00B2";
        }
        if (d2 == 5) {
          text("dm\u00B2",d+4,190);
          text("dm\u00B2",155+(b2/2.0+(d2-c2))*63,290);
          merkki2 = "dm\u00B2";
        }
        if (d2 == 6) {
          text("cm\u00B2",d+4,190);
          text("cm\u00B2",155+(b2/2.0+(d2-c2))*63,290);
          merkki2 = "cm\u00B2";
        }
        if (d2 == 7) {
          text("mm\u00B2",d+4,190);
          text("mm\u00B2",155+(b2/2.0+(d2-c2))*63,290);
          merkki2 = "mm\u00B2";
        }       
        textSize(50);
        text("000000000000",5,400);
        if (a2 < 10) {
          text("0",385,400);
        }
        if ((a2 >= 10) && (a2 < 20)) {
          text("1",385,400);
        }
        if ((a2 >= 20) && (a2 < 30)) {
          text("2",385,400);
        }
        if ((a2 >= 30) && (a2 < 40)) {
          text("3",385,400);
        }
        if ((a2 >= 40) && (a2 < 50)) {
          text("4",385,400);
        }
        if ((a2 >= 50) && (a2 < 60)) {
          text("5",385,400);
        }
        if ((a2 >= 60) && (a2 < 70)) {
          text("6",385,400);
        }
        if ((a2 >= 70) && (a2 < 80)) {
          text("7",385,400);
        }
        if ((a2 >= 80) && (a2 < 90)) {
          text("8",385,400);
        }
        if ((a2 >= 90) && (a2 < 100)) {
          text("9",385,400);
        }
        if ((a2 == 11) || (a2 == 21) || (a2 == 31) || (a2 == 41)|| (a2 == 51)|| (a2 == 61)|| (a2 == 71)|| (a2 == 81) || (a2 == 91) || (a2 == 1)) {
          text("1",415,400);
        }
        if ((a2 == 12) || (a2 == 22) || (a2 == 32) || (a2 == 42)|| (a2 == 52)|| (a2 == 62)|| (a2 == 72)|| (a2 == 82) || (a2 == 92) || (a2 == 2)) {
          text("2",415,400);
        }
        if ((a2 == 13) || (a2 == 23) || (a2 == 33) || (a2 == 43)|| (a2 == 53)|| (a2 == 63)|| (a2 == 73)|| (a2 == 83) || (a2 == 93) || (a2 == 3)) {
          text("3",415,400);
        }
        if ((a2 == 14) || (a2 == 24) || (a2 == 34) || (a2 == 44)|| (a2 == 54)|| (a2 == 64)|| (a2 == 74)|| (a2 == 84) || (a2 == 94) || (a2 == 4)) {
          text("4",415,400);
        }
        if ((a2 == 15) || (a2 == 25) || (a2 == 35) || (a2 == 45)|| (a2 == 55)|| (a2 == 65)|| (a2 == 75)|| (a2 == 85) || (a2 == 95) || (a2 == 5)) {
          text("5",415,400);
        }
        if ((a2 == 16) || (a2 == 26) || (a2 == 36) || (a2 == 46)|| (a2 == 56)|| (a2 == 66)|| (a2 == 76)|| (a2 == 86) || (a2 == 96) || (a2 == 6)) {
          text("6",415,400);
        }
        if ((a2 == 17) || (a2 == 27) || (a2 == 37) || (a2 == 47)|| (a2 == 57)|| (a2 == 67)|| (a2 == 77)|| (a2 == 87) || (a2 == 97) || (a2 == 7)) {
          text("7",415,400);
        }
        if ((a2 == 18) || (a2 == 28) || (a2 == 38) || (a2 == 48)|| (a2 == 58)|| (a2 == 68)|| (a2 == 78)|| (a2 == 88) || (a2 == 98) || (a2 == 8)) {
          text("8",415,400);
        }
        if ((a2 == 19) || (a2 == 29) || (a2 == 39) || (a2 == 49)|| (a2 == 59)|| (a2 == 69)|| (a2 == 79)|| (a2 == 89) || (a2 == 99) || (a2 == 9)) {
          text("9",415,400);
        }
        if ((a2 == 10) || (a2 == 20) || (a2 == 30) || (a2 == 40)|| (a2 == 50)|| (a2 == 60)|| (a2 == 70)|| (a2 == 80) || (a2 == 90)|| (a2 == 0)) {
          text("0",415,400);
        }
        text("00000000000",448,400);
        text(",",150+32*b2,400);
        strokeWeight(1);
        rect(160+(b2/2.0+(d2-c2))*63,340,10,-39);
        triangle(165+(b2/2.0+(d2-c2))*63,350,145+(b2/2.0+(d2-c2))*63,330,185+(b2/2.0+(d2-c2))*63,330);
        text(a2+"\u00B710",10,550);
        textSize(40);
        if (a2 < 10) {
          text((b2-9),120,515);
        } else {
          text((b2-9),150,515);
        }
        textSize(30);
        float luku = a2;
        if (b2 == 1) {
          if (a2 < 10) {
             text("Paljonko on 0.0000000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          } else {
            text("Paljonko on 0.000000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          }
        }
        if (b2 == 2) {
           if (a2 < 10) {
           text("Paljonko on 0.000000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          } else {
           text("Paljonko on 0.00000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          }
        }
         if (b2 == 3) {
          if (a2 < 10) {
            text("Paljonko on 0.00000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          } else {
            text("Paljonko on 0.0000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          }
        }
        if (b2 == 4) {
          if (a2 < 10) {
            text("Paljonko on 0.0000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          } else {
            text("Paljonko on 0.000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          }
        }
        if (b2 == 5) {
          if (a2 < 10) {
            text("Paljonko on 0.000"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          } else {
            text("Paljonko on 0.00"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          }
        }
        if (b2 == 6) {
          if (a2 < 10) {
              text("Paljonko on 0.00"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          } else {
            text("Paljonko on 0.0"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          }
        }
        if (b2 == 7) {
          if (a2 < 10) {
              text("Paljonko on 0.0"+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          } else {
            text("Paljonko on 0."+a2+" "+merkki+" "+merkki2+":nä?",10,240);
          }
        }
        if (b2 == 8) {
          luku = luku/10.0;
           text("Paljonko on "+luku+" "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 9) {
          luku = a2;
           text("Paljonko on "+luku+" "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 10) {
          luku = luku*10.0;
           text("Paljonko on "+luku+" "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 11) {
          luku = luku*100.0;
           text("Paljonko on "+luku+" "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 12) {
          luku = luku*1000.0;
           text("Paljonko on "+luku+" "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 13) {
          luku = luku*10000.0;
           text("Paljonko on "+luku+" "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 14) {
          luku = luku*100000.0;
           text("Paljonko on "+luku+" "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 15) {
           text("Paljonko on "+a2+"000000.0 "+merkki+" "+merkki2+":nä?",10,240);
        }
        if (b2 == 16) {
           text("Paljonko on "+a2+"0000000.0 "+merkki+" "+merkki2+":nä?",10,240);
        }       
}