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

演習問題(中級・上級)

解答は earth.mlab.im.dendai.ac.jp/home/submit/1I-Computer2/[初級の出題日]/[学籍番号] のディレクトリに提出しなさい。 ソースファイル (〜.java) のみを提出すること。

ファイルの送信には ftp ソフトを用いる。 Linux の gFTP を使った提出方法 (実験室のマニュアル) を参照すること。

なお、中級・上級問題は楽しめる範囲で取り組めばよい。

- 繰り返し (for 文)

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

問題1

次のような図形を表示するプログラムを作成しなさい。 プログラム名は RepeatedTriangle とする。

*    *    *    *    *
**   **   **   **   **  
***  ***  ***  ***  *** 
**** **** **** **** ****
*************************

1 つの三角形を、 繰り返し(while文) の回の演習問題と同様の考え方で描くこと。 さらに、横方向に 5 個の三角形を 繰り返しを用いて描くことを考える。

問題2

次のような図形を表示するプログラムを作成しなさい。 プログラム名は TriangleTree とする。

*    
**   
***  
**** 
*****
*    *    
**   **   
***  ***  
**** **** 
**********
*    *    *    
**   **   **   
***  ***  ***  
**** **** **** 
***************
*    *    *    *    
**   **   **   **   
***  ***  ***  ***  
**** **** **** **** 
********************
*    *    *    *    *    
**   **   **   **   **   
***  ***  ***  ***  ***  
**** **** **** **** **** 
*************************

問題 1 で作成したプログラムをもとに考えること。

問題3

10000 以下の完全数をすべて求めて表示するプログラムを書きなさい。 プログラム名は Perfect2 とする。 このプログラムは 繰り返し(while)の回の演習問題 と同等の働きをするものである。

完全数とは、 その数の約数 (その数自身は含まない) の和が、 その数自身と等しい自然数である。 例えば、 6 は約数の和が 1 + 2 + 3 = 6 なので完全数である。

今回は for 文を使って繰り返しを書くこと。 同じ繰り返しを、 while 文で書いたときと for 文で書いたときの違いに注目すること。 このプログラムは、次のような二重の for 文として書くのが適当である。

なお、このプログラムの実行には数秒要する。