科 目 | 情報処理II ( Information Processing II ) | |||
---|---|---|---|---|
担当教員 | 増田 興司 講師 | |||
対象学年等 | 応用化学科・4年・前期・必修・1単位 ( 学修単位I ) | |||
学習・教育 目標 |
A3(100%) | |||
授業の概要 と方針 |
最近では優れた汎用プログラムが数多く流布しており,通常の用途には十分である.しかし,コンピュータに何かをさせるときに,全くのブラックボックスであるか多少なりとも原理が理解できているかで,対応や結果の評価等,大きく異なってくる.本講義・実習では基礎的な数値計算を通して,モデル化,プログラムの構造・戦略等を理解し,物事をコンピュータ化する際の基本的な考え方を修得することを目標とする. | |||
到 達 目 標 |
1 | 【A3】 数学の問題をコンピュータで計算させるときの基本的な戦略を理解し,戦略の理解の上に,適切なプログラミングができる. | 2 | 【A3】 自然や日常の現象を,コンピュータで処理するための要素に分解することができ,さらに,分解した要素を再結合して,コンピュータ処理の道筋を立てることができる. | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
評 価 方 法 と 基 準 |
到 達 目 標 毎 |
1 | 基本的な数学の問題を説明し,コンピュータ上の計算を前提に要素に分解し,再構成して,フローチャートにできるもしくはプログラムとして書くことができるかどうかを演習と定期試験を通して評価する. | |
2 | 物理学や日常の現象を,コンピュータで処理させるための要素に分解でき,再構成できるかどうかやフローチャートが書けるかどうかを演習で評価する. | |||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
総 合 評 価 |
成績は,試験40% 演習60% として評価する.100点満点で60点以上を合格とする. | |||
テキスト | 「明快入門 C スーパービギナー編」:林 晴比古(SBクリエイティブ) | |||
参考書 | 「NSライブラリ6 ザ・数値計算リテラシ」:戸川 隼人(サイエンス社) | |||
関連科目 | 情報基礎,情報処理I | |||
履修上の 注意事項 |
数値計算とプログラミングの授業であるが,コンピュータを使用する前提として,1年生の情報基礎,3年生の情報処理Iの内容を理解しておく必要がある. |
週 | 上段:テーマ/下段:内容(目標、準備など) |
---|---|
1 | Linuxについて |
本校の演習室のマシン群のOSであるLinuxについて,開発秘話等を紹介しながら,本校のマシンの使用法や管理体制について説明する. | |
2 | C言語について |
実際に実習に使うプログラミング言語であるC言語について,基本的なプログラムの組み方,実行ファイルの作り方等を解説する. | |
3 | 整数の演算:最大公約数を求める単純な方法 |
二つの整数の最大公約数を求めるためのプログラムを作成して実行する.単純に二つの整数をある整数で割り算していき,最大公約数を求める方法と,素因数分解による方法でプログラミングを行う. | |
4 | ユークリッドの互除法 |
二つの整数の最大公約数を求めるためのプログラムを作成して実行する.ユークリッドの互除法を用いたプログラミングを行う. | |
5 | 最小公倍数 |
二つの整数の最小公倍数を求めるためのプログラムを作成して実行する.二つの整数を掛け合わせ,最大公約数で割ることにより,最小公倍数を求める方法でプログラミングを行う. | |
6 | 素数の判定の単純な方法 |
ある整数が素数であるかどうかを判定するプログラムを作成して実行する.単純に,2からその整数の直前まで割り算していき,割り切れるかどうかで判定する方法でプログラミングを行う. | |
7 | 素数の抜き出し,素数の個数 |
ある整数までの素数を全て書き出し,その個数を数えるプログラムを作成して実行する.素数であるかどうかを判定するためには,どこまで割り算をすればよいかを考え,目的の整数までの素数を早く抜き出すことを考えてプログラミングを行う. | |
8 | エラトステネスのふるい |
ある整数までの素数をエラトステネスのふるいを用いて抜き出すプログラムを作成して実行する.いわゆるフラグ立ての考え方を用いてプログラミングを行う. | |
9 | 整数の階乗 |
整数の階乗を求めるプログラムを作成して実行する.整数型変数でプログラミングした場合と,実数型変数でプログラミングした場合の実行結果を比較し,計算のオーバーフローや,変数の型の違いについて考えながらプログラミングを行う. | |
10 | 二項係数 |
二項係数を求めるプログラムを作成して実行する.オーバーフローを避けるための工夫を考えながらプログラミングを行う. | |
11 | 実数の計算:合計 |
合計を求めるプログラムを作成して実行する.変数の使い方に注意をしながらプログラミングを行う. | |
12 | 平均値と分散・標準偏差 |
合計を求めるプログラミングに続いて,平均値と標準偏差を求めるプログラムを作成して実行する.変数の格納方法や計算のあとに変化してしまう変数等に注意しながらプログラミングを行う. | |
13 | 級数の計算 |
与えられた級数の和を求めるプログラムを作成して実行する.マクローリン展開等を実際に計算してみて,有限項で打ち切らざるを得ない数値計算の特徴を考えて,有効なプログラミングを行う. | |
14 | 行列の演算 |
行列の積を求めるプログラムを作成して実行する.二次元配列や,繰り返し計算の順番などに注意してプログラミングを行う. | |
15 | 消去法 |
数値計算において必要不可欠な線形代数方程式の解法プログラムを作成して実行する.ガウスの消去法などのアルゴリズムを学んで,プログラミングを行う. | |
備 考 |
前期定期試験を実施する. |