演習 01
問題 1
以下をそれぞれ計算し、コンソールに出力するプログラムを作成せよ。
- 1 から 10 までの整数を足した値
- sin( 225 度 ) の絶対値
- 点(cos(20 度), sin(20 度))から点 (cos(70 度), sin(70 度))の距離
- 底面が半径 5 の円、高さ 5 の円錐の体積
問題 2
幅 400、高さ 400 の黒色の Window において、Window に内接する白色の正円を描き、その円に内接する赤色の正三角形を描画せよ。 なお、Window の幅と高さを変更した際に、他の箇所の変更なしに同様の図形が描画できること。 Window の幅と高さは同じであると仮定してよい。
問題 3
点(px, py) が 、左上の座標を(rx, ry)とした幅 w、高さ h の長方形の内側に入っていたら「inside」そうでなければ「outside」と出力する以下のプログラムを完成させよ。そして、変数 px, py, rx, ry, w, h の値を変更したいくつかのパターンでの出力結果を報告せよ。
int px = 50;
int py = 50;
int rx = 100;
int ry = 100;
int w = 200;
int h = 200;
// ここを作る
問題 4
コンソールに、10%の確率で「当たり」、残り 90%の確率で「外れ」と出力するプログラムを作成せよ。
問題 5
任意の正の整数 n に対して、以下の操作を繰り返すと必ず 1 に到達することが予測されている。(コラッツの予想)
- n が偶数の場合、n を 2 で割る
- n が奇数の場合、n に 3 を掛けて 1 を足す
プログラムの先頭で整数型の変数 n を宣言・初期化し、上記の操作を適用して得られる数列を n が 1 になるまで出力するプログラムを作成せよ。
n=100 の時の出力結果は以下の通りである。
50
25
76
38
19
58
29
88
44
22
11
34
17
52
26
13
40
20
10
5
16
8
4
2
1
問題 6
プログラムの先頭で整数型の変数 c を 1 以上の値(自然数)で初期化し、a * a + b * b = c * c となる自然数 a, b(a <= b)を全て出力せよ。c = 325 の時の出力例は以下の通りである。出力順は問わない。
204 253
195 260
165 280
125 300
91 312
80 315
36 323
問題 7
プログラムの先頭で整数型の変数 n を宣言し、任意の正の値で初期化せよ。 以下のような「*」と「 」(スペース)で構成された n 行分の模様をコンソールに表示するプログラムを作成せよ。
n=5 のとき
*
* *
* * *
* * * *
* * * * *
n=10 のとき
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
問題 8
以下のように単語が格納された文字列配列について、全ての単語の文字数の総和を計算してコンソールに表示するプログラムを作成せよ。
String[] words = {
"department",
"of",
"information",
"science",
"college",
"of",
"humanities",
"and",
"sciences",
"nihon",
"university"
};
出力結果は以下の通りである。
75