小テスト解答例 (第9回実施分)

プログラミング言語 小テスト(8)
2014/6/4
1. 円を扱うCircleクラスが次のようなフィールド・メソッドを持っている場合に、そのイ
ンスタンス c0, c1 とグラフィックインスタンス g を持つ実行クラスで、(A)~(E)を
行う命令を選択肢から選べ。
Circle クラス
package pl0604;
import java.awt.Color;
import java.awt.Graphics;
public class Circle {
int centerx;
// 中心の横位置
int centery;
// 中心の縦位置
int r;
// 半径
Color cl;
// 色
public Circle(){
// 中心位置を(0,0), 半径を 0, 色を赤にして初期化
}
public Circle(int cx, int cy, int r0){
// 中心位置を(cx, cy), 半径を r0, 色を赤にして初期化
}
public void moveto(int cx, int cy){
// 中心位置を(cx, cy)にする
}
public void changeR(int dr){
// 半径を dr だけ大きくする
}
public void copy(Circle c){
// 受け取った円の情報を自分自身にコピーする
}
public void draw(Graphics g, boolean fill){
// 自分自身を描画する
// fill が true なら塗りつぶし、false なら枠だけ
}
public void setColor(Color c){
// 自分の色を受け取った色に変える
}
}
(A)
(B)
(C)
(D)
(E)
c0の中心位置を(80, 100)に移動させる
c0の半径を10だけ大きくする
c0の色を青にする
c0の情報をc1にコピーする
c0を自分自身の色で塗りつぶし表示する
1
プログラミング言語 小テスト(8)
2014/6/4
(ア)
(イ)
(ウ)
(エ)
(オ)
moveto(80, 100);
c1.copy(c0);
c0.changeR(r+10);
c0.setColor.blue();
c0.draw(g, true);
(A)
(B)
(C)
(D)
(E)
(カ)
(ク)
(ケ)
(イ)
(オ)
(カ)
(キ)
(ク)
(ケ)
(コ)
c0.moveto(80, 100);
c0.copy(c1);
c0.changeR(10);
c0.setColor(Color.blue);
g.draw(c0, true);
c0.moveto(80, 100);
c0.changeR(10);
c0.setColor(Color.blue);
c1.copy(c0);
c0.draw(g, true);
※ どの命令でも、物事を行う主体となる「円」が「.」の前にくる。
※ (B)の引数に入れるのは「変化後の半径」ではなく「半径の増分」
2. (A)~(H)に入るものを選択肢から選び、次の説明文を完成させよ。
(1) Java Appletとは、Javaで(A)を使うためのクラスであり、これを読み込むことで
(2)
円や長方形などの図形を(B)したり、マウスボタンやホイールの動作、キーボードか
らの(C)を取得することができる。
Java Appletを使ったプログラムには、最初に実行される(D)メソッドと、毎フレ
ーム(1/60秒)ごとに実行される(E)メソッドがある。マウスボタンがクリックされ
たときに実行されるメソッド(F)を使うには、クラスの初めにimplementで(G)を
読み込み、(D)メソッドで(H)という命令を実行する必要がある。
(ア)
(イ)
(ウ)
(エ)
(オ)
(カ)
API
MouseListener
addMouseListener(this);
出力
init
mouseClicked
(A)
(B)
(C)
(D)
(E)
(ケ)
(エ)
(キ)
(オ)
(シ)
GUI
出力
入力
init
run
(キ)
(ク)
(ケ)
(コ)
(サ)
(シ)
入力
buttonClicked
GUI
ButtonListener
addMotionListener(this);
run
(F) (カ) mouseClicked
(G) (イ) MouseListener
(H) (ウ) addMouseListener(this);
2