山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名
担当教官
ソフトウェア設計及び実習
山本 芳彦/坂野  斎
時間割番号
単位数
コース
履修年次
期別
曜日
時限
262018 E 2 E 2 前期 II
[概要]
自分の力で,求められた仕様のCまたはC++コード開発(アルゴリズムを考え,コードを製作,正当性検証,誤り修正して完成させること)を行う.
文字列操作,ファイル操作,配列,ポインタ,構造体,メモリの動的確保,構造体のリスト構造,C++の複素数クラスなどCまたはC++の基本事項を学んだのち,それらを統合して回路シミュレータ(アナログ回路シミュレータSPICEの雛形)を各人の考えに基づき製作する.
[具体的な達成目標]
(ア) 自分の作成したコードの正当性,不当性を検証できること.
(イ) コンパイルエラーに対処できること.
(ウ) 実行時エラーに対処できること.
(エ) 文字列操作の関数を用いて簡単なコードを作成できること.
(オ) ファイル操作の関数を用いて簡単なコードを作成できること.
(カ) 配列とポインタの関係を理解し,これらを用いて簡単なコードを作成できること.
(キ) 自分で定義した関数を用いて簡単なコードを作成できること.
(ク) 構造体とリスト構造を利用した簡単なコードを作成できること.
(ケ) メモリの動的確保を利用した簡単なコードを作成できること.
(コ) 与えられたC++の複素数クラスのヘッダファイル,関数を利用できること.
(サ) 電源を1個以上と任意数個の抵抗,コンデンサ,コイルからなる任意の配置の回路の定常状態に対して,各素子を流れる電と素子間の電圧を求めるシミュレータを自分の考えにそって完成させること.
[必要知識・準備]
1. プログラミング序論及び実習の内容.特に分岐,ループ,配列を復習しておくこと.
2. プログラムの正当性,不当性(バグ有無)を検証する覚悟と習慣をもっていること.
[評価基準]
上記達成目標に関して以下のように評価する.
(ア)レポートに作成したコードの検算と正当性,不当性の判断の記述があることを受理の条件とすること,(イーコ)ソースコード,入力データ,出力データ(実行結果),検算をレポートにして提出,(サ)作成したソースコード,入力データ,出力データ,検算をレポートにして提出,必要に応じ口頭試問.(エーコ)のレポート50%と(サ)のレポート50%を合計して60%以上できていることをもって合格とする.
[教科書]
  1. Cによる情報処理入門, 昭晃堂, ISBN:4785631066,
    (プログラミング序論及び実習で用いた教科書です.)
[参考書]
  1. C言語ポインタ完全制覇, 技術評論社, ISBN:4774111422,
    (C言語でのポインタが難しいと人々に思われる理由がかいてある. このほかにもポインタに関する著作は何冊かあるので一冊よむとすっきりするであろう.)

  2. C言語による電気・電子工学の問題の解法, 森北出版, ISBN:4627837402,
    (自習用:回路関連の数値計算)

  3. ザ・C, サイエンス, ISBN:4781908527,
    (Cの基本からやり直したいひと向き.本格的な数値計算はC++で行うが,つづいて同著者のザ・C++を読むとよいであろう.)
[講義項目]
1. この授業のアウトライン,UNIXコマンド(復習)
2. 文字列操作,ファイル操作
3. 配列,ポインタ,関数 (1/2)
4. 配列,ポインタ,関数 (2/2)
5. 構造体 (1/2)
6. 構造体 (2/2)
7. メモリの動的確保,リスト構造
8. C++複素数クラス
9. CR回路の数値計算
10. 回路シミュレータの製作 (1/6)
11. 回路シミュレータの製作 (2/6)
12. 回路シミュレータの製作 (3/6)
13.回路シミュレータの製作 (4/6)
14. 回路シミュレータの製作 (5/6)
15. 回路シミュレータの製作 (6/6)
[教育方法]
 基本事項の講義と演習によりC言語またはC++の基本項目を学び自作のコード,実行結果,検算をレポートとして提出する.その後,この知識をもとにシミュレータ製作を行う.
 回路シミュレータの製作に必要なC++複素数クラスのヘッダファイル,ソースコード及び複素数係数の連立一次方程式の解を得るソースコードは与えられ,動作を自らチェックする.簡単な回路に関して解析的解法の解説が行われこれをもとに,任意の回路に対して適応できるコードのアルゴリズムを自ら考え,シミュレータ製作をする.
解説資料,プログラム例はWebによりあたえられ,レポートは電子メイルにより提出する.
[JABEEプログラムの学習・教育目標との対応]
この科目は電気電子システム工学科の学習・教育目標の以下の項目に対応する.
C-2:情報技術を身につける
[その他]
(未登録)