プログラミング応用

科目基礎情報

学校 明石工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング応用
科目番号 4417 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 機械工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 新・明解C言語 入門編 第2版(柴田望洋,SBクリエイティブ)
担当教員 榎本 隆二

到達目標

(1)ポインタ、関数、ファイル入出力、構造体の基本概念を理解し、これらを用いたプログラムを作成することができる。
(2)非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法の理解と応用する能力、およびこれらの解法プログラムを作成することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1ポインタ、関数、ファイル入出力、構造体の基本概念を理解し、これらを用いたプログラムを作成することができる。ポインタ、関数、ファイル入出力、構造体の基本概念を理解できる。ポインタ、関数、ファイル入出力、構造体の基本概念を理解できない。
評価項目2非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法を理解し、これらを用いたプログラムを作成することができる。非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法を理解できる。非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法を理解できない。

学科の到達目標項目との関係

教育方法等

概要:
コンピュータを利用して工学の諸問題を解析するためには、プログラミング技法や数値解析法を習得することが必須である。本授業では、C 言語の高度なプログラミング技法と C 言語を用いて工学に関わる具体的な数値解析法を修得することを目的としている。本科目は、授業で保証する学習時間と、予習・復習及び課題レポート作成に必要な標準的な自己学習時間の総計が、90時間に相当する学習内容である。
授業の進め方・方法:
パワーポイントによる講義を実施することで、視覚的に理解しやすくし、講義の残り時間や講義外で演習とするプログラムを作成する。
注意点:
自ら積極的にコンピュータを利用しようとする姿勢が大切である。課題は自力で行い、提出期限を厳守すること。
合格の対象としない欠席条件(割合) 1/3以上の欠課

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 C 言語の復習
基本事項、数学関数、制御構造、繰り返し処理や配列などについて復習する。
基本事項、数学関数、制御構造、繰り返し処理や配列などについて理解できる.
2週 ポインタ(1)
ポインタの基礎やポインタの制御などについて説明する。
ポインタの基礎やポインタの制御などについて理解できる.
3週 ポインタ(2)
ポインタと配列の関係、ポインタ配列、多重間接参照について説明する。
ポインタと配列の関係、ポインタ配列、多重間接参照について理解できる.
4週 関数(1)
関数のプロトタイプや再帰関数などについて説明する。
関数のプロトタイプや再帰関数などについて理解できる.
5週 関数(2)
引数の引渡しと参照渡しやmain関数の引数などについて説明する。
引数の引渡しと参照渡しやmain関数の引数などについて理解できる.
6週 ファイル入出力
ファイルシステムの基礎、ファイルの読み出しと書き込み方法について説明する。
ファイルシステムの基礎、ファイルの読み出しと書き込み方法について理解できる.
7週 構造体
構造体の基礎、ポインタ、配列について説明する。
構造体の基礎、ポインタ、配列について理解できる.
8週 中間試験(またはレポート課題)
2ndQ
9週 非線形方程式の反復解法
ニュートン法と 2 分法による非線形方程式の解法について説明する。
ニュートン法と 2 分法による非線形方程式の解法について理解できる.
10週 連立一次方程式の解法(1)
直接解法であるクラメル法とガウス・ジョルダン法について説明する。
直接解法であるクラメル法とガウス・ジョルダン法について理解できる.
11週 連立一次方程式の解法(2)
反復解法であるヤコビ法とガウス・ザイデル法について説明する。
反復解法であるヤコビ法とガウス・ザイデル法について理解できる.
12週 補間法
ラグランジュの補間法とニュートンの補間法について説明する。
ラグランジュの補間法とニュートンの補間法について理解できる.
13週 関数近似
最小二乗法による関数近似について説明する。
最小二乗法による関数近似について理解できる.
14週 数値積分
台形公式とシンプソンの公式による数値積分について説明する。
台形公式とシンプソンの公式による数値積分について理解できる.
15週 常微分方程式の解法
オイラー法、ホイン法、ルンゲ・クッタ法による数値解法について説明する。
オイラー法、ホイン法、ルンゲ・クッタ法による数値解法について理解できる.
16週 期末試験(またはレポート課題)

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。4前3,前4,前5,前6,前7,前11,前13,前15
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。4前1,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。4前1,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
定数と変数を説明できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
整数型、実数型、文字型などのデータ型を説明できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
演算子の種類と優先順位を理解し、適用できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
算術演算および比較演算のプログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
データを入力し、結果を出力するプログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
条件判断プログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
繰り返し処理プログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
一次元配列を使ったプログラムを作成できる。4前3,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15

評価割合

試験(またはレポート課題)演習課題合計
総合評価割合6040100
基礎的能力000
専門的能力6040100