Polynomi pinta-alasta ja piiristä
Polynomi pinta-alasta ja piiristä
Tällä simulaatiolla voit tutkia, kuinka suorakulmion pinta-alasta ja piiristä muodostetaan polynomi. Lisäksi ohjelma laskee polynomin arvon. Ensimmäinen vaakapalkki muuttaa suorakulmion leveyttä ja toinen vaakapalkki muuttaa suorakulmion korkeutta. Koska yhden neliön korkeus ja leveys on x, suorakulmion leveys ja korkeus ilmaistaan x:n avulla. Kolmas palkki muuttaa muuttujan x arvoa, minkä jälkeen ohjelma laskee polynomin arvon tällä muuttujalla.

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
// 21.3.2018
int a = 1; // Laskurin alkuarvo
int b = 1; // Laskurin alkuarvo
int c = 1; // Laskurin alkuarvo
void setup () {
size(600,700); // ikkunan koko
stroke(0); // Musta viivan väri
textSize(30);
}
void draw() {
background(255); // Tyhjennä tausta
fill(255,255,0); // Keltainen täyttöväri
rect(0,0,599,50); // Piirrä keltainen suorakulmio
rect(0,50,599,50); // Piirrä keltainen suorakulmio
rect(0,100,599,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ö
int x1 = mouseX; // Selvitä hiiren vaakakoordinaatti
int y1 = mouseY; // selvitä hiiren pystykoordinaatti
if (mousePressed == true) {
if ((y1 > 0) && (y1 < 50)) {
if ((x1>a) && (a < 550)) { // 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 < 550)) { // 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 < 550)) { // Jos hiiri on oikealla puolen
c++; // niin kasvata laskuria
}
if ((x1<c) && (c > 0)) { // Jos hiiri on vasemmalla puolen
c--; // niin pienennä laskuria
}
}
}
fill(0); // Musta tekstin väri
int a2 = round(map(a,0,550,1,10));
int b2 = round(map(b,0,550,1,10));
int c2 = round(map(c,0,550,1,10));
text("A(x) = "+a2+"x\u00B7"+b2+"x = "+a2*b2+"x\u00B2",10,200);
text("A("+c2+") = "+a2*b2+"\u00B7"+c2+"\u00B2 = "+a2*b2*c2*c2,10,240);
text("p(x) = "+a2+"x +"+b2+"x + "+a2+"x +"+b2+"x = "+(2*a2+2*b2)+"x",10,280);
text("p("+c2+") = "+(2*a2+2*b2)+"\u00B7"+c2+" = "+((2*a2+2*b2)*c2),10,320);
text(a2+"x",30+((a2*30)/2.0),380+b2*30);
text(b2+"x",60+a2*30,360+((b2*30)/2.0));
text(a2,a+10,35);
text(b2,b+10,85);
text(c2,c+10,135);
fill(0,200,255);
rect(50,350,30*a2,30*b2);
for (int l= 1; l <= a2; l++) {
line(50+l*30,350,50+l*30,350+30*b2);
}
for (int l= 1; l <= b2; l++) {
line(50,350+l*30,50+a2*30,350+l*30);
}
}