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