Differences between revisions 14 and 15
Revision 14 as of 2018-01-25 16:30:05
Size: 11336
Comment:
Revision 15 as of 2018-01-25 16:31:00
Size: 11407
Comment:
Deletions are marked like this. Additions are marked like this.
Line 54: Line 54:
     * [3] コマンド行引数,もしくは,キーボードから入力された2進数を,10進数に変換して表示する
      * 2進数(文字列)から10進数(文字列)への変換は,メソッドbinary2decimalにしていただく予定です.
       * コマンド行引数があれば,そのデータを対象とし,なければ,キーボードからの入力を促すようにしていただく予定です.
      * ごく簡単な文字列操作と,ループ,コマンド行引数の取り扱い,キーボード(標準入力)からのデータ入力ができるかどうかを確認します.
     * [4] マスターマインド(ヒット&ブローとも言います)というゲームを作ってください.
      * [[https://ja.wikipedia.org/wiki/マスターマインド]]
       * ピンは,色ではなく1~8の数字で表現することにします.
       * これはちょっと難しいですが,演習でやった「ハイ&ローゲーム」の発展形です.
       * 一様乱数,キーボード(標準入力)からのデータ入力,条件判定,二次元配列の簡単な処理を確認する課題となります.
      * 来年度春学期のソフトウェア工学実習では,これにGUI(グラフィカルユーザインタフェース)を付けてみましょう
     * [3] クラスBinaryToDecimal
      *
コマンド行引数,もしくは,キーボードから入力された2進数を,10進数に変換して表示する
  * 2進数(文字列)から10進数(文字列)への変換は,メソッドbinary2decimalにしていただく予定です.
        * コマンド行引数があれば,そのデータを対象とし,なければ,キーボードからの入力を促すようにしていただく予定です.
  * ごく簡単な文字列操作と,ループ,コマンド行引数の取り扱い,キーボード(標準入力)からのデータ入力ができるかどうかを確認します.
     * [4] クラスMasterMind
      *
マスターマインド(ヒット&ブローとも言います)というゲームを作ってください.
  * [[https://ja.wikipedia.org/wiki/マスターマインド]]
        * ピンは,色ではなく1~8の数字で表現することにします.
  * これはちょっと難しいですが,演習でやった「ハイ&ローゲーム」の発展形です.
        * 一様乱数,キーボード(標準入力)からのデータ入力,条件判定,二次元配列の簡単な処理を確認する課題となります.
  * 来年度春学期のソフトウェア工学実習では,これにGUI(グラフィカルユーザインタフェース)を付けてみましょう


授業-ソフトウェア工学(IndexPage) >> 2017年度-ソフトウェア工学 >> 2017年度-ソフトウェア工学-第14回


授業-2017年度-ソフトウェア工学-第14回(SoftEng201714)

(公開)




任意レポート

  • 15回目のWikiページに載せます.
    • 2018-01-24(水)までに出題します
      • 恐縮です.少々,出題に迷いがありまして,遅れてしまいましたことお詫びします.
        • 当初考えていた問題は,(数論や組合せ数に関連した)少し頭を使ってもらう課題だったのですが...
          • それはやめて試験と同程度の,もっと基本的な問題を中心にしようと思い直しました.
          • なので,他の人の回答を写すようなことはせず,ぜひとも自分でトライしてください.
          • この課題のレベルのプログラミングは,確実にできるようになっていてください.よろしくお願いします.
        • 例年は,試験のした上での任意の追加レポートなので,それなりに難しい問題にしないと不公平かなっておもっていたのですが...
        • この点は,加点幅で調整します.
      • 大変申し訳ありませんが.2018-01-25(木)中に出題します.
        • 詳細(細かい条件)は追って,連絡しますが,以下のような課題にする予定です(2018-01-25 15:30).
          • [1] クラスSorting
            • 乱数(1~99の整数)を30個生成して,ファイルに保存する.そのファイルからデータを読み込んで,ソーティングして,別のファイルに書き込む
              • ソーティングは,基本的なアルゴリズムが,配布プレゼンに含まれています.
              • データの読み込み,書き出し,ソーティングのそれぞれをメソッドにしていただく予定です(もちろん,下請けのメソッドを作っていただいてもOKです)
              • 一様乱数,1次元配列の取り扱い,二重ループ,ファイル入出力ができるかどうかを確認する問題です.
              • 4年生になって研究室に配属されて,卒論に取り組む際には,どの研究室に入っても,役立つ内容と思います.
          • [2] クラスDecimalToBinary

            • コマンド行引数,もしくは,キーボードから入力されたで与えられた10進数を,2進数に変換して表示する
              • 10進数(文字列)から2進数(文字列)への変換は,メソッドdecimal2binaryにしていただく予定です.
              • コマンド行引数があれば,そのデータを対象とし,なければ,キーボードからの入力を促すようにしていただく予定です.
              • ごく簡単なループと,コマンド行引数の取り扱い,キーボード(標準入力)からのデータ入力ができるかどうかを確認します.
          • [3] クラスBinaryToDecimal

            • コマンド行引数,もしくは,キーボードから入力された2進数を,10進数に変換して表示する
              • 2進数(文字列)から10進数(文字列)への変換は,メソッドbinary2decimalにしていただく予定です.
                • コマンド行引数があれば,そのデータを対象とし,なければ,キーボードからの入力を促すようにしていただく予定です.
              • ごく簡単な文字列操作と,ループ,コマンド行引数の取り扱い,キーボード(標準入力)からのデータ入力ができるかどうかを確認します.
          • [4] クラスMasterMind

            • マスターマインド(ヒット&ブローとも言います)というゲームを作ってください.
              • https://ja.wikipedia.org/wiki/マスターマインド

                • ピンは,色ではなく1~8の数字で表現することにします.
                • これはちょっと難しいですが,演習でやった「ハイ&ローゲーム」の発展形です.
                • 一様乱数,キーボード(標準入力)からのデータ入力,条件判定,二次元配列の簡単な処理を確認する課題となります.
              • 来年度春学期のソフトウェア工学実習では,これにGUI(グラフィカルユーザインタフェース)を付けてみましょう
    • 採点提出の都合上,レポート提出期限は2018-02-03(土)23:59までとします.
      • 出題が遅れたことに伴い,提出期限は,2018-02-04(日)23:59とします.02-05(月)00:00と表示されますので注意してください.
      • レポート課題は,3レベル位用意します

その他

  • FDアンケートへのご協力をお願いします.
  • シラバスについて
    • 例年,学生の皆さんの理解度に応じて,進度を調整してきましたのでシラバス通りに進まないのは,初回にお話しした通りです.
    • 今年度は特に,進度を遅くしました.
    • 例年は,2~3回は,オブジェクト指向に踏み込んでいたのですが,今年度は,3年春学期の「ソフトウェア工学実習」へ回しました.
    • その理由は,学科の他の先生から「基礎的なプログラミングが身についていない」ので,3年生以降の授業はもっと進んだ内容をやっていただきたいが,2年生まで基礎的内容にだけ集中してほしい(その方が,各分野の研究室での卒論・修論に助かる)という要望があったからです.
  • 来年度から,3年生の管理工学実験演習ⅡのCOM実験も,内容を変えて,ほとんど,Javaを使う内容になります.
    • 来年度(3年春)のソフトウェア工学では,Javaを使ったオブジェクト指向プログラミングをやりますので,是非とも履修してください.

2018-01-17に実施した期末試験について

  • 同日は,答え合わせをしている時間がなかったので,回答例をここに載せます.
    • [1] Exam-20180117-01-KuKu

      • 回答例
        • Exam-20180117-01-KuKu.zip

          • 回答例(1): 罫線を入れていない,簡易版(回答としては十分です)
          • 回答例(2): 罫線を入れた,拡張版(+α評価が加算されます)
      • 問題

[1] 九九の表を二次元配列に生成し,表示するプログラムを作ってください.
    クラス名はKuKuとします.
        このとき,以下のメソッドを定義してください.
    (1) 九九の表を格納した二次元配列を返す,generateKuKu()メソッド.
    (2) 九九の表を表示する,printKuKu()メソッド.
  • [2] Exam-20180117-02-BodyMassIndex

    • 回答例
      • Exam-20180117-02-BodyMassIndex.zip

        • 回答例(1): エラーチェックを省いた簡易版(回答としては十分です)
        • 回答例(2): エラーチェックを含めた拡張版(+α評価が加算されます)
    • 問題

[2] コマンド行引数から,氏名(空白を含めない),身長(整数)と体重(整数)を
    受け取り,BMI(Body Mass Index)を計算し,
        BMI値と肥満度を氏名とともに表示するするプログラムを作ってください.
        クラス名はBodyMassIndexとします.このとき,以下のメソッドを定義してください.
    (1) int型の身長と体重の値を引数にとって,double型でBMIを返す
        getBMI()メソッド.
        但し,BMIは,「体重(kg)÷(身長(m)×身長(m))」で計算されます.
    (2) 得られたBMIに応じて,肥満度を判定して,文字列で,
            "低体重", "標準", "肥満"のいずれかを返す
                メソッドgetDegreeOfObesity().
        但し,BMIが18.5未満の場合を低体重,18.5~25未満を標準,
                25以上を肥満とします.
  • [3] Exam-20180117-03-Fortune
    • 回答例
      • Exam-20180117-03-Fortune.zip

        • 回答例(1): 西暦9999年までしか適用しないと仮定した簡易版(回答としては十分です)
        • 回答例(2): 問題文通りにコーディングした拡張版(+α評価が加算されます)
    • 問題

[3] コマンド行引数から,氏名(空白を含めない),生年月日(20180117という形式で)
    を受け取り,簡単な生年月日占いをし,結果を表示するプログラムを作ってください.
        クラス名はFortuneとします.このとき,以下のメソッドを定義してください.
    (1) 生年月日のすべての桁の数字を足して,二桁以上になったら,
            各桁の数字を足すことを繰り返して,1桁の数値にしてint型で返す
                メソッドgetMagicNumber(), 
    (2) その値が偶数ならhapppy, 基数ならunhappyという文字列を返す
            メソッドgetFortune().
    (3) 結果を氏名とともに表示するメソッドprintFortune()

[4] data.txtという名前のファイルに,1行に1つずつdouble型の数値が
    文字列として書き込まれているとします(最大10個).その数値を読み込み,
        データ数と,平均,分散,標準偏差を,result.txtという名前のファイルに
        書き込むプログラム作ってください.
    クラス名は,Statisticsとします.このとき,以下のメソッドを定義してください.
    (1) データを読み込むメソッドreadData(),
    (2) 総和を計算するメソッドsum(), 
        (3) 平均を計算するメソッドaverage, 
        (4) 分散を計算するメソッドvariance(),
    (5) 標準偏差を計算するメソッドstdDiv().
        但し,分散は,「各データの平均との差を二乗したもの」の平均とし,
        標準偏差は分散の平方根とします.double型の変数 xの平方根は, 
        Math.sqrt(x) メソッドで,double 型として得られるものとします.

SoftEng: SoftEng201714 (last edited 2018-01-25 16:31:00 by TadashiIijima)