15回目
本日は,これまでのまとめです.これまでにやってきたことは,以下のことです.
各自よく読んで理解をして下さい.分からないことがあったら,教員もしくはTAに質問し,解決して
おいて下さい.
1回目 情報書・演習1のまとめと情報処理・演習2の導入
2回目 情報処理・演習1のまとめ
3回目 複素数の演算
4回目 ベクトル,複素数の演算
5回目 フーリエ変換
6回目 フーリエ変換
7回目 中間のまとめ,復習
8回目 中間試験
9回目 試験解説と数値シミュレーションの考え方
10回目 数値シミュレーションの考え方と様々な数値演算アルゴリズム(応用プログラミング演習)
11回目 微分方程式の数値演算
12回目 微分方程式の数値演算
13回目 応用プログラミング演習;ローパスフィルタ,ランダム関数,ノイズ
14回目 復習,まとめ;分割コンパイルとmakefile,連立一次方程式の数値解法,逆行列の数値解法
15回目 復習,まとめ
文法ごとにまとめてお話ししたいと思います.
(静的)二次元配列
構造体→3回目を参照してください.
複素数型も構造体として実部,虚部をまとめて扱う
ユーザ関数
関数の型と戻り値の関係
ヘッダファイル
プリプロセッサ(中間試験以降に学んだ)
定数を定義したり,関連するファイルを指定したり,関数名等の文字列を定義しなおしたり,
コンパイル方法を指定したりする.
プロトタイプ宣言
関数と関数の引数の構成を示す.
グローバル変数
宣言の位置と性質,使い方
ここまでは中間試験前の7回目のまとめを参照してください
関数を引数とする方法 →11回目を参考にして下さい
関数に戻り値を持った関数ごと引数にする
ポインタ関数 →12回目を参考にして下さい
○メイン関数内のポインタ関数の宣言と呼び出し方
メイン関数内でポインタ関数を定義することで関数間のやりとりが可能
○関数間のポインタ関数のやりとり
関数引数をポインタ関数とすることで関数から関数を呼び出すことができる
プリプロセッサ →13回目を参考にして下さい.
ソースに関連するファイル(分割コンパイルのためのヘッダファイル等)のつながりを記述
変数や関数名を自身に都合の要いように定義
定数の値を定義して中身が変わらないように配慮
文法以外では,以下のことを扱いました.
離散量
計算機を利用するには離散量を数値的に解く
離散量のデータ処理
離散量になる故にデータの性質が変わる
数値シミュレーション →9回目を参考にして下さい.
シミュレーション条件
切り捨て・丸め誤差
誤差の蓄積
様々なアルゴリズムによる最適化 →10回目を参考にして下さい.
計算精度
演算負荷と計算機の演算能力
扱ったアルゴリズムについては以下のものがあります.
以上のことを情報処理演習2にて学んでいただきました.理解したことを存分に発揮できるよう試験に
望んで下さい.
試験における解答法
本日で講義・演習は終わります.次回の試験について説明しておきます.
持ち込みについてのルール(2014年度)
持ち込み可能の意義は,膨大な内容をただ覚えるのではなく,プログラムの利用の意義,数値演算
を行うための考え方について理解していることが必要であると考えているため,広範な内容を問うこと
に致しました.漠然と文法を覚えているだけでなく,目的に合わせて何をしたらよいのかを考えられる
よう,準備をしておいてください.
コーディングに関する問題の解き方
時間が限られているので,手書き問題では多くの行数にならないはずですが,どんな変数を準備
したり,やりとりするのか,どんなアルゴリズムの構造なのか,どのように出力するのか,などを示す
ことが重要です.コメントなどをきちんと書くことで,何をしようとしているか答えるようにしましょう.
実際のプログラムにおいてコードが正しくてもコメントがないとやっていることが分からなくなるので
試験でもコメントをきちんと書いて下さい.
論述問題の解き方
1〜2行で解答できるような問題は出さない予定です.単なる箇条書きでキーワードを並べるだけと
いうのは薦めないが,1),2),3)と見出しを付けて説明するのは大変わかりやすいので,工夫して
みて下さい.覚えていることを引き出して書けるよう頑張ってみて下さい.
例) 浮動小数点変数という言葉を忘れた場合
小数点以下まで扱える型の変数,などと機能や性質を説明してみて下さい.
本日の課題
以下の課題について,授業中に解答して下さい.情報処理演習2のまとめと試験勉強をするうえで
重要な情報になると思います.
なお,授業改善アンケートを実施しますので併せて解答して下さい.
課題1 用紙にて提出(TAの指示に従って下さい)
1) 実数部、虚数部から成る複素数を構造体を用いて記述せよ
2) 二つの複素数の構造体a bがある。これらを引数とし、複素数の差を計算する関数を作成せよ。
なお戻り値は複素数の構造体として返すものとする。
課題2 提出不要・自学自習
3) フーリエ変換、DFT(離散フーリエ変換)、FFT(高速フーリエ変換)についてそれぞれ説明せよ。
4) 数値シミュレーションを行うために考えておくべき計算機の性質について説明せよ。