グラフィックス基礎及び実習 2020年度 第7回

ex07 課題A

提出期限: 0522金16:50

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

ex07 課題B

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

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

ex07 課題C

提出期限: 0528木23:59

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

HW-ex06C.png

以下の手順にしたがって段階的に作っていくこと

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

ex07 課題S(omake)

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

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

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

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

  1. https://wiki.math.ryukoku.ac.jp/ から「学力認定試験」へ

    数理情報学科のwikiサイトのアクセス時に求められるユーザ名とパスワードは,全学統合認証のものと同じ.

  2. 「大学院入試問題」(←学力認定試験の過去問もこちら) へ
  3. 「media:学力認定試験(2012.2).pdf」を開く

プログラムを考えよう

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

// クラス 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 とする).

コンパイルと実行の仕方

プロジェクトを作ってない(ex06で説明したVSCodeの設定は行わず,最初の頃に説明した,ターミナルで手動で javac, java する方法を採っている )ひとは,

$ javac Birth.java

とコンパイルすると,BProblem.class と Rand.class ができる.実行するには,実行したいmainメソッドを含むクラスの名前を指定すればよいので,

$ java BProblem

とする.

ex06 で説明したVSCodeの設定を行った(gr2020というプロジェクトを作った)ひとは,次のようにすればよい.

  1. src フォルダ/ディレクトリの下に上記のプログラムを Birth.java という名前で作る
  2. VSCode で src/Birth.java を開き,main メソッドの上の Run を押す(メニューの「実行」からでもよい)

ex07 課題T(omake)

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

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

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

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-05-22 (金) 17:55:21