第9回 課題の模範解答 |
課題の模範解答です。 |
課題1 |
△を表示 |
println(" *"); println(" * *"); println(" * * *"); println("* * * *"); |
課題2 |
半径2の円の面積を計算してコンソールに表示 |
print("半径2の円の面積 = "); println(2*2*3.141592); |
課題3 |
10, 11 ,12 , ‥ , 18 ,19 の合計の計算結果をコンソールに表示しなさい。 for文を用いること。 |
int sum = 0; for(int i=10; i<=19; i++){ sum = sum + i; } println("合計 = " + sum); |
課題4 |
for文で||||||を描画する |
size( 400, 400 ); for(int i=0; i<20; i++){ line( i*20, 0, i*20, 399 ); } |
課題5 |
ラインをいっぱい描いて、ラグビーボールっぽい形を描画する |
size( 400, 400 ); for(int i=0; i<21; i++){ line( 0, i*20, i*20, 399 ); line( i*20, 0, 399, i*20 ); } |
課題6(難しい) |
回転しながら小さくなっていく正方形を複数個描く |
size(400,400); background(255); float a = 0.7; // 線分の分割の割合 int x1,x2,x3,x4; // 正方形の4隅の座標 int y1,y2,y3,y4; int xx1,xx2,xx3,xx4; // 計算用 int yy1,yy2,yy3,yy4; x1 = 3; y1 = 3; x2 = 396; y2 = 3; x3 = 396; y3 = 396; x4 = 3; y4 = 396; for(int i=0;i<12;i++){ line(x1,y1, x2,y2); line(x2,y2, x3,y3); line(x3,y3, x4,y4); line(x4,y4, x1,y1); xx1 = (int)((x2 - x1)*a + x1); yy1 = (int)((y2 - y1)*a + y1); xx2 = (int)((x3 - x2)*a + x2); yy2 = (int)((y3 - y2)*a + y2); xx3 = (int)((x4 - x3)*a + x3); yy3 = (int)((y4 - y3)*a + y3); xx4 = (int)((x1 - x4)*a + x4); yy4 = (int)((y1 - y4)*a + y4); x1 = xx1; y1 = yy1; x2 = xx2; y2 = yy2; x3 = xx3; y3 = yy3; x4 = xx4; y4 = yy4; } |