Kertolasku laskurin avulla
Kertolasku laskurin avulla

Tämä simulaatio havainnollistaa kertolaskua laskurin avulla. Kopioi alla oleva koodi ja aja ohjelma. Älä tee koodiin muutoksia.
// Ohjelman tehnyt e-Oppi
// 28.2.2018
int a = 5; // Laskurin alkuarvo
int b = 505; // Laskurin alkuarvo
int c = 275; // Laskurin alkuarvo
int d = 475; // Laskurin alkuarvo
int laskuri = 0;
void setup () {
size(1000,700); // ikkunan koko
stroke(0); // Musta viivan väri
textSize(30); // Tekstin koko
}
void draw() {
background(255); // Tyhjennä tausta
int a2 = round(map(a,0,950,1,10));
int b2 = round(map(b,0,950,1,10));
int c2 = round(map(c,0,950,0,500));
int d2 = round(map(d,0,950,10,50));
fill(0,200,255);
fill(255);
rect(500,200,500,500);
stroke(200);
pushMatrix();
translate(500,200);
for (int t=-10; t <= 10; t++) {
line(t*50,-500,t*50,500);
line(-500,t*50,500,t*50);
}
strokeWeight(3);
line(0,-500,0,500);
line(-500,0,500,0);
strokeWeight(1);
stroke(0);
fill(0);
textSize(d2);
laskuri = 0;
for (int h = 1; h< 100; h=h+1) {
laskuri = laskuri + a2;
text(b2+"\u00B7"+laskuri+" = "+b2*laskuri,c2,d2*laskuri);
}
popMatrix();
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,50); // Piirrä keltainen suorakulmio
rect(0,50,999,50); // Piirrä keltainen suorakulmio
rect(0,100,999,50); // Piirrä keltainen suorakulmio
rect(0,150,999,50); // Piirrä keltainen suorakulmio
fill(255,100,100); // Punainen täyttöväri
rect(a,0,60,50); // Piirrä punainen neliö
rect(b,50,60,50); // Piirrä punainen neliö
rect(c,100,60,50); // Piirrä punainen neliö
rect(d,150,60,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 < 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 > 50) && (y1 < 100)) {
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 > 100) && (y1 < 150)) {
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 > 150) && (y1 < 200)) {
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
}
}
}
fill(0); // Musta tekstin väri
textSize(25); // Tekstin koko
text(a2,a+5,45);
text(b2,b+5,95);
text(c2,c+5,145);
text(d2,d+5,195);
textSize(24); // Tekstin koko
text("int a = 0;",10,240);
text("void setup () {",10,270);
text("size(500,500); ",30,300);
text("background(255);",30,330);
text("textSize("+d2+");",30,360);
text("fill(0);",30,390);
text("}",10,420);
text("void draw () {",10,450);
text("a = a+"+a2+";",30,480);
text("text(\""+b2+"\\u00B7\"+a+\" = \"+"+b2+"*a,"+c2+",a*"+d2+");",30,510);
text("}",10,540);
}