#author("2020-05-22T12:40:58+09:00","default:takataka","takataka")
#author("2020-05-22T17:55:21+09:00","default:takataka","takataka")

*グラフィックス基礎及び実習 2020年度 第7回 [#e9701092]
 
#contents
 
//&color(#ff0000){''工事中''}; 


**ex07 課題A [#kadaiA]

//&color(Red){''工事中''};

''提出期限: 0522金16:50''

+ 授業中の指示にしたがって,T51.java と HTurtle.java を修正してください
-- javafx.scene.paint.Color ってあちこち書くのが面倒なひとは,import して楽をしたらよい
+ HTurtle に次の仕様で定められる house メソッドを定義してください.
>
:void house(double s, double x, double y)| 座標 (x, y) の位置から,一辺の長さ s の家の絵を描く.
- &color(blue){''この house メソッドは元からある方の house メソッドを利用するように作ること.''};
- &color(blue){''動き方によって家が傾くことのないようにすること.''};
- &color(blue){''(x, y)への移動で余計な線を引かないように''};
<
+ T51 で変数 d の値を println した直後にこの house メソッドを
 house(size/2, 200, 200);
と呼び出して,動作確認しましょう.
+ 完成したプログラムのソースファイル(&color(red){''2つとも''};)をこの科目の Moodle コース上の当該の場所へ提出してください.
-- 上記ファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意してください.''ファイル名の間違い(大文字小文字も)に注意''.

**ex07 課題B [#kadaiB]

//&color(Red){''工事中''};

''提出期限: 0522金18:30''
%%''提出期限: 0522金18:30''%% ''提出期限: 0528木23:59''

+ 教科書の T52.java と Stepper.java を作成してください
+ 授業中の指示にしたがって Stepper.java を修正してください
-- this を追加する際は,println 中の j も this.j にできますね.
+ 完成したプログラムのソースファイル(&color(red){''2つとも''};)をこの科目の Moodle コース上の当該の場所へ提出してください.
-- 上記ファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意してください.''ファイル名の間違い(大文字小文字も)に注意''.

//&color(white,blue){check};



**ex07 課題C [#kadaiC]

//&color(Red){''工事中''};

''提出期限: 0528木23:59''


授業で出てきた HW クラスを自分で作ろう.&color(blue){HW クラスの API 仕様は第6回講義資料の 1/4 に載っている.};

#ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course/Graphics/HW-ex06C.png,nolink)

&color(blue){''以下の手順にしたがって段階的に作っていくこと''};

+ 上記の通りの HW.java を書く.
+ 5行目のところのコメントどおり,そこに変数の宣言を書く.変数名はソースの他の部分を見て,適切な名前をつけること.
+ print メソッドを完成させる.
-- &color(white,blue){check}; 上記を見るとわかるように,実は Java には printf というメソッドがある(昔の Java にはなかった).C言語の printf に似ている.
+ 動作確認のため,G05Fugayo.java をコピーして G06Fugayo.java を作り,次のように修正する.
-- &color(blue){HW クラスのかわりに HWsample を使ってるはずなので,HW に修正};
-- まだ HW クラスには calcBMI や printHimando メソッドを定義してないので,それらを使ってる行はコメントにしておく
+ こうして作った G06Fugayo.java をコンパイルして動作確認する.
+ HW.java に残りのメソッドの定義を書く
+ G06Fugayo.java のコメントをはずしてコンパイル・動作確認する.
+ G06Fugayo で HW クラスのコンストラクタを呼び出している行を修正して,&color(blue){"ふがよ" という名前を自分の名前にする.}; 身長体重はそのままでよい.正直に自分の値を書いたりする必要はない.
+ 完成したプログラムのソースファイル(&color(red){''2つとも''};)をこの科目の Moodle コース上の当該の場所へ提出してください.
-- 上記ファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意してください.''ファイル名の間違い(大文字小文字も)に注意''.


**ex07 課題S(omake)  [#kadaiS]

//&color(#ff0000){''工事中''}; 


期限: 0529金23:59.これはおまけ課題です.やらなくても減点になりません.やったら加点かも

数理情報学科の学力認定試験の問題に挑戦してみよう.
2012年2月に行われた2011年度試験の専門Iの問題IV.

*** 学力認定試験の過去問のサイトへアクセスして問題を閲覧しよう [#ze1bcf4d]

次のようにして問題を閲覧できる.


+https://wiki.math.ryukoku.ac.jp/ から「学力認定試験」へ
>
数理情報学科のwikiサイトのアクセス時に求められるユーザ名とパスワードは,全学統合認証のものと同じ.
<
+ 「大学院入試問題」(←学力認定試験の過去問もこちら) へ
+ 「media:学力認定試験(2012.2).pdf」を開く

*** プログラムを考えよう [#r41f1df6]

問(1)の「クラスメソッドbproblem() を書きなさい」とか,「Randクラスのクラスメソッドirand()…」みたいな指示になるべく沿ってソースを角煮は,↓に示すようなソースファイルを作るとよい.試験問題では,Randクラスが存在すると仮定して,そのソースは書く必要がないということだが,ここではそれもあわせて書く例にしてある.

#pre{{
// クラス BProblem の定義
class BProblem {

    // クラスメソッド bproblem の定義
    static int bproblem(int m) {
          :
	return n;
    }

    // mainメソッドの定義
    public static void main(String[] args) {

       ここでクラスメソッド bproblem を呼ぶには
       n = bproblem(10) または n = BProblem.bproblem(10) のように書けばよい

    }

}

// クラス Rand の定義
class Rand {

    // クラスメソッド irand の定義
    static int irand() {
	return (int)(365*Math.random());
    }
}
}}


ここでは,一つのソースファイルで複数のクラスを定義する例を示している.
class の前に public がついていないことに注意.このソースファイル自体の名前は,
二つのクラス名と無関係に適当な名前をつければよい(ここでは Birth.java とする).

*** コンパイルと実行の仕方 [#j1ea6859]

プロジェクトを作ってない(ex06で説明したVSCodeの設定は行わず,最初の頃に説明した,ターミナルで手動で javac, java する方法を採っている )ひとは,
 $ javac Birth.java
とコンパイルすると,BProblem.class と Rand.class ができる.実行するには,実行したいmainメソッドを含むクラスの名前を指定すればよいので,
 $ java BProblem
とする.

ex06 で説明したVSCodeの設定を行った(gr2020というプロジェクトを作った)ひとは,次のようにすればよい.
+ src フォルダ/ディレクトリの下に上記のプログラムを Birth.java という名前で作る
+ VSCode で src/Birth.java を開き,main メソッドの上の Run を押す(メニューの「実行」からでもよい)
**ex07 課題T(omake)  [#kadaiT]

//&color(#ff0000){''工事中''}; 

期限: 0529金23:59.これはおまけ課題です.やらなくても減点になりません.やったら加点かも


教科書 p.60 からの「5.7 まとめの問題」の一部をやろう.

+ 教科書 p.60-63 を読みましょう
+ p.61 の GraphDrawer.java を作りましょう.ただし,このプログラムは 1 行目に
 package graph
と書いてあり,「graph パッケージ」のプログラムとして作成する必要があります.
次のようにしましょう.
-- gr2020 プロジェクトを作ったひとは...
+++ src フォルダ/ディレクトリの中に graph というフォルダ/ディレクトリを作って,GraphDrawer.java をその中に置く
+++ VSCode で src/graph/GraphDrawer.java を開いて,main メソッドの上の Run ボタンを押す(またはメニューの「実行」から)
-- gr2020 プロジェクトを作ってないひとは...
+++ Graphics2020 フォルダ/ディレクトリの中に graph というフォルダ/ディレクトリを作って,GraphDrawer.java をその中に置く
+++ Graphics2020 にいる状態で,次のようにコンパイル & 実行する
 javac  graph/GraphDrawer.java
 java  graph/GraphDrawer
-- 「パッケージ」とはどういうものかについては,p.54, 55 へどぞ.
+ 同じようにして,p.62 の練習問題 5.15 をやりなさい(GraphDrawer52).

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS