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);
}
}