Laskeminen muuttujilla
Laskeminen muuttujilla

Tämä simulaatio havainnollistaa laskemista muuttujilla. Kopioi alla oleva koodi ja aja ohjelma. Älä tee koodiin muutoksia.
// Ohjelman tehnyt e-Oppi Oy
// 30.1.2018
int a = 520; // Laskurin alkuarvo
int b = 550; // Laskurin alkuarvo
int c = 190; // Laskurin alkuarvo
int d = 190; // 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
int a2 = round(map(a,0,950, -10,10));
int b2 = round(map(b,0,950, -10,10));
int c2 = round(map(c,0,950,-10,10));
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);
int y = b2*a2+c2;
text("f("+a2+") = "+y,500+d2,200+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(a2,a+5,30);
text(b2,b+5,70);
text(c2,c+5,110);
text(d2,d+5,150);
text(e2,e+5,190);
textSize(30); // 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("int x = "+a2+";",50,450);
text("int k = "+b2+";",50,480);
text("int b = "+c2+";",50,510);
text("int y = k*x+b;",50,540);
text("text(\"f(\"+x+\") = \"+y,"+d2+","+e2+");",50,570);
text("}",10,600);
fill(255);
rect(20,630,460,50);
fill(0);
if ( c2 >= 0) {
if (a2 >= 0) {
text("y = "+b2+"\u00B7"+a2+"+"+c2+" = "+y,40,665);
} else {
text("y = "+b2+"\u00B7("+a2+") +"+c2+" = "+y,40,665);
}
} else {
if (a2 >= 0) {
text("y = "+b2+"\u00B7"+a2+""+c2+" = "+y,40,665);
} else {
text("y = "+b2+"\u00B7("+a2+")"+c2+" = "+y,40,665);
}
}
}