レポート提出課題 応用情報処理V(2010)

以下の課題のうち、任意のものを2つを行うこと。できれば、3つやってください。

そして、作成結果のプログラムをNetBoxで提出をすること。

送付するファイルは次の要件を満たしていることを原則とする。

提出したことは、メールでも知らせてください。メールは以下のように記載します。

JBuilder以外での提出も認めますが、その場合は作成したソースファイルなどを、必ず、学籍番号-課題番号 という形式のフォルダに入れ、そのフォルダを部分パスとして含むように圧縮をした結果を添付するのを基準とします。なお、JBuilder以外の開発ツールでの提出の場合には、可能な限り事前に相談してください。

課題の締め切りは:2011年2月6日(日曜日)とします

日本時間で2月6日中であればいいとします。もちろん、それ以前に提出してもらってもかまいません。遅れた場合は採点ができず、原則として不合格となります。

提出結果については、指導が入ることがあります。指導はメールで送ります。ない場合もあります。

受け取ったかどうかは、講義のホームページで随時公開します。

課題1

整数の配列を定義しいくつかの数値を代入しておく。そして、それらの中の最大値、最小値を求めるプログラムを作成すること。そして、配列の内容を大きい順、小さい順に並べ替えること。結果は、それぞれ標準出力への書き出しでよい。

課題2

ある整数numberに数値を代入する。そして、1からその数値までに存在するすべての整数の合計を求めて標準出力に書き出す。たとえば、number = 4なら、1+2+3+4=10を求める。もちろん、numberがどんな数でも(とは言っても上限があるが)きちんと求められるようにする。

そして、プログラムを発展させて、numberとして与えてられるいちばん大きな数値はいくつかを求めるプログラムを作成してみること。1からその数までの合計についても、numberと同じ型の変数を使って計算を求めることにする。とりあえず、numberが、short型でやってみてほしいが、そのほかの整数型でもチャレンジしてもらいたい。たとえば、byte型だと、1〜15の合計は120、1〜16の合計は136となるため、16までの数の合計をbyte型の変数では計算できないことになる。byte型の上限が127であることを思い出そう。

ならば、1から順に数値を増やして行って、たとえば16までの合計が、1つ前の数値、つま15までの合計の数値に16を加えたものかどうかを判断すると、どこかでおかしくなるはずだ。そのときの数値が、上限ということになる。これがヒントであるが、ちょっと複雑な問題なので頭をひねってもらいたい。

課題3

世界のナベアツの代表的なネタと言えば「3の倍数と3が付く数字のときだけアホになります」だ。通常は40までだそうだが、100、1000と続けた場合、何回アホにならないといけないかを求めるプログラムを作る。このとき、何回まで続けるかを変数として設定して、100、1000、10000まで数える場合のそれぞれのアホになる回数を、プログラムのコメント欄に記入しておくこと。

課題4

Chapter 8では、ひとりの人間をオブジェクトとして扱うPersonalityクラスを定義した。このやり方に従って、1冊の書籍を扱うBookというクラスをプログラムをとして作成すること。インスタンス変数として、書籍名、著者名、出版社名、定価、ページ数を定義すること。そして、インスタンス変数の「定価」は税抜き価格だとして、税込み価格を得るメソッドを定義すること。

次のようなプログラムに仕上げる。このBookクラスを使って、手近にある5冊分の本のインスタンスを生成し、その5冊のプログラムの税込み価格の合計を求めて標準出力に表示する。また、書籍名、著者名、税込み価格を、それぞれ「/」で区切って1行に書き、5冊分書籍の一覧表を標準出力に表示する。

課題5

ウインドウにテキストフィールド(JTextFieldあるいはJTextAreaクラスを使う)が配置されていて、さらにボタンが1つあるようなものを作っておく。そして、ボタンをクリックすると、テキストフィールドにある文字列の文字数と、英語で判断した場合の単語数を求めて表示するようにすること。文字数と単語数の表示のために、JTextFieldあるいはJLabelを使用するとよいだろう。単語数の判断は厳密には相当難しいが、「スペース」「ピリオド」「カンマ」「セミコロン」「コロン」があれば、単語が区切られていると判断する程度のものでかまわない。

課題6

ウインドウ内に、テキストフィールド(JTextField)が2つ、ドロップダウンリスト(JComboBox)が1つ、ボタンが1つ、ラベル(JLabel)が1つあるようにします。

ドロップダウンリストでは、四則演算の記号、+−×÷を選択できるようにしておく。

そして、テキストフィールドに数字を入れて、ボタンをクリックすると、ドロップダウンリストで選択している演算記号に応じて、それぞれ2つのテキストフィールドの値に対して演算を行った結果をラベルに表示するようにすること。(たとえば、テキストボックスにそれぞれ10と3という数値があって、ドロップダウンリストで×が選択されていれば、ボタンをクリックすると、ラベルに30が表示されるようにする。)

ヒント:JComboBoxで何番目が選択されているかを知るには、getSelectedIndex()メソッドを使えばいい。また、選択されている項目は、getSelectedItem()メソッドを使う。いずれも、引数は指定しない。

画面表示をわかりやすくするために、それ以外のコンポーネントを設定してもいい。