コンピュータ基礎および演習II

演習問題

解答は

に提出しなさい。ソースファイル (〜.java) のみを提出してください。 提出は gFTP 等の ftp ソフトを用いて行ってください。

- 繰り返し (for 文)

いずれの問題も for 文を使った繰り返しのプログラムとして書きなさい。

問題1

1 ≦ n ≦ 10 の整数 n について、 n, 2n, 3n を一覧表の形で出力するプログラムを書きなさい。 プログラム名は Power2n3n2 とする。 これは前回の演習問題の 2 つめのプログラムと同じ働きをするものである。 今回は for 文を使って書くこと。

出力の最初の数行は次のようになる。

1: 2 3
2: 4 9
3: 8 27
4: 16 81
...

問題2

for 文を使い、 下のような九九の表を出力するプログラムを書きなさい。 プログラム名は Kuku とする。

1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81

このままでは表として見づらいので、 余力のある人は各桁を揃えて見やすい表になるように工夫しても良い。

問題3

等比数列の項と和を求めるプログラムを書きなさい。

公比を r とすると、漸化式は以下になる。

ai = ai-1 * r
si = si-1 + ai

このプログラムは、 変数と四則演算の演習問題のプログラム と同じ働きをするものである。 そのプログラムを参考にし、今回は for 文を使ったプログラムを書くこと。

初項 c と公比 r をあらかじめプログラム中に定義しておき、 先頭から第 10 項までの aisi を出力するようなプログラムにすること。 たとえば、初項が 10 、公比が 5 だった場合、出力の最初の数行は次のようになれば良い。

10 10
50 60
250 310
1250 1560
6250 7810
...

プログラム名は GeometricProgression2 とする。

問題4

西暦2000年から2200年までの間のうるう年をすべて表示するプログラムを書きなさい。 プログラム名は LeapYear2000To2200 とする。

これは次のようにして書けるはずである。 まず、うるう年かどうか調べる対象年を 2000 から 1 ずつ増やし 2200 まで繰り返し、繰り返しの中でうるう年かどうかチェックする。 その年がうるう年かどうかは以下の条件を調べることで判別できる。