#author("2021-05-17T19:32:19+09:00","default:takataka","takataka") #author("2021-05-18T18:43:19+09:00","default:takataka","takataka") *グラフィックス基礎及び実習 2021年度 第07回 実習と宿題 [#e9701092] #contents //&color(#ff0000){''工事中''}; //**注意 [#notice] **実習課題A 締切: 当日13:30 [#kadaiA] &color(#00a000){''以下のことをやって,作った二つのソースファイルを moodle の該当の場所へ提出してください.''}; ファイル名の間違いに注意 + (前回までに/宿題としてすでにやってるはず) 教科書や講義資料に記載の CStepper.java と T52.java をつくる + (宿題としてすでにやってるはず)[[第7回>../#ex07]] の動画を視聴してそこで指示された修正をする **実習課題B 締切: 当日16:00 [#kadaiB] &color(#00a000){''以下のことをやって,作った二つのソースファイルを moodle の該当の場所へ提出してください.''}; ファイル名の間違いに注意 以下のAPI仕様で定められる機能をもったクラス HW2 を作ろう.以前作った HW と似ているが,一部カプセル化を考慮したものとなっている.&color(red){''HW を拡張するのではなく,独立した新しいクラスとして作ろう.''}; #hr ''★ HW2クラスのAPI仕様'' - ''コンストラクタ'' > :HW2()| 名前 "ほげお",身長 170.0[cm],体重 62.0[kg]のインスタンスを生成. :HW2(String n, double h, double w)| 名前 n,身長 h[cm],体重 w[kg]のインスタンスを生成. < - ''メソッド'' > :void print()| このインスタンスの名前,身長,体重を表示する. :void setWeight(double w)| このインスタンスの体重を w にする. :double getWeight()| このインスタンスの体重の値を返す. :void pocha()| このインスタンスの体重を 1.1 倍にする. :double calcBMI()| このインスタンスのBMIを計算して返す. &mathjax{ \textrm{BMI} = (\mbox{体重[kg]}) / (\mbox{身長[cm]}/100)^2}; :static void printHimando(double bmi)| bmi の値とそれに応じた「やせてんなぁ」,「ふつー」,「太ってる…かな?」のいずれかのメッセージを次の例のように出力. BMIは 21.82 ふつー bmi が Border1 未満なら「やせてんなぁ」,Border1 以上 Border2 未満なら「ふつー」,Border2 以上なら「太ってる…かな?」. < - ''フィールド'' > :static double Border1| BMIの境界値のうち小さい方.初期値は 20. :static double Border2| BMIの境界値のうち大きい方.初期値は 25. < #hr &color(white,blue){check}; &color(red){''注意''};: - printHimando メソッドでは,BMIの値も表示すること.その表示形式は上記の例のようにすること.条件分岐を書く際は授業で説明したように条件式が冗長にならないようにすること. - API仕様のフィールドの欄には Border1, Border2 以外には変数は載っていない.ということは,これらの他に変数を宣言する必要があるなら,他のクラスに非公開としなければならない. - HW2クラスの引数なしコンストラクタは,HW2クラスの引数ありコンストラクタを呼び出す形で定義すること. - カプセル化をちゃんと考えるなら,体重だけでなく名前や身長についても setter/getter (setWeight/getWeight のようなメソッド)を定義するのが適切だが,簡単のためこの問題では省略した.クラス変数もカプセル化してもよいが,こちらも省略. 動作確認には,以下の内容の G07Fugayo.java を作って用いること. &color(blue){ただし,"ふがよ"という名前の部分は,自分の学籍番号と氏名を含む文字列に置き換えること.身長体重は変えてはいけない.}; #ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course/Graphics/G07Fugayo-Q.png,nolink) **宿題 [#hw] &color(#00a000){''次回授業までに必ずやっておくこと''}; 次回の授業の資料(PDFや動画)等は [[こちら>../../2021#ex08]] からどうぞ. + 講義資料を入手.紙でほしい方は各自で印刷してください. > キャンパス内各所に設置されたプリンタで印刷することもできます.くわしくは「ポータル > 情報環境 > マニュアル > [[印刷利用マニュアル>https://www.media.ryukoku.ac.jp/local/manual/printsystem_manual.pdf]]」参照. < + 授業動画を視聴する > 学内の実習室等に設置の PC ではスピーカから音が出ませんので,イヤフォン/ヘッドフォンを用意する必要あり < + 講義資料・授業動画に出てくるプログラムを実際に作って実行してみる **実習課題S(omake) [#kadaiS] &color(#00a000){''今回出題のおまけ課題はありません.ただし....''}; &color(#ff0000){''工事中''}; moodle の「おまけ課題」のところに,「自由課題」というのを書いときました.よかったら見てね. //&color(#ff0000){''工事中''};