#author("2020-06-04T10:01:04+09:00","default:takataka","takataka") #author("2020-06-04T10:01:33+09:00","default:takataka","takataka") *グラフィックス基礎及び実習 2020年度 第8回 [#e9701092] #contents //&color(#ff0000){''工事中''}; **ex08 課題A [#kadaiA] //&color(Red){''工事中''}; ''提出期限: 0529金17:00'' + 授業中の指示にしたがって,ImpeiStepper.java と Iyan2.java を作ってください + 完成したプログラムのソースファイル(&color(red){''2つとも''};)をこの科目の Moodle コース上の当該の場所へ提出してください. -- 上記ファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意してください.''ファイル名の間違い(大文字小文字も)に注意''. **ex08 課題B [#kadaiB] //&color(Red){''工事中''}; ''提出期限: 0529金18:20'' + 授業中の指示にしたがって,CStepper.java と T52.java を作ってください -- ''&color(red){注意};'': %%&color(gray){授業中の指示(Q3)では,CStepper の引数なしコンストラクタは「''四角形''を一辺の長さ 100 で描く...」という仕様となっていますが,これを「''三角形''を一辺の長さ 100 で描く...」にしてください.};%% ← &color(red){''この指示は無視して構いません.つまり,もとのまま四角形を描くので構いません.''}; 三角形にしてても,四角形にしてても,okとします. + 完成したプログラムのソースファイル(&color(red){''2つとも''};)をこの科目の Moodle コース上の当該の場所へ提出してください. -- 上記ファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意してください.''ファイル名の間違い(大文字小文字も)に注意''. **ex08 課題C [#kadaiC] //&color(Red){''工事中''}; ''提出期限: %%0528木23:59%%'' ''&color(red){0604木23:59};'' 以下の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 が Border1 未満,Border1 以上 Border2 未満,Border2 以上の三つの場合に分けてメッセージを出力.順に,「やせてんなぁ」,「ふつー」,「太ってる…かな?」. < - ''フィールド'' > :static double Border1| BMIの境界値のうち小さい方.初期値は 20. :static double Border2| BMIの境界値のうち大きい方.初期値は 25. < #hr &color(white,blue){check}; &color(red){''注意''};: - 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) 完成したプログラムのソースファイル(&color(red){''2つとも''};)をこの科目の Moodle コース上の当該の場所へ提出してください. -- 上記ファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意してください.''ファイル名の間違い(大文字小文字も)に注意''. **ex08 課題S(omake) [#kadaiS] //&color(#ff0000){''工事中''}; 期限: 0605金23:59.これはおまけ課題です.やらなくても減点になりません.やったら加点かも [[Graphics/2020/ex07#kadaiS]] につづき,p.62 の練習問題 5.16, 5.17 をやりなさい