2016年度 プログラミングⅠ

2016年度
プログラミングⅠ
~ はじめてのプログラミング ~
担当教員: 幸山 直人
2016年度 プログラミングⅠ
コンピュータはなぜ動くの?

数学に基づいた緻密な理論の下でコンピュー
タが如何に動作しているのかを学んだ。
→ プログラミングⅠ(2年前学期)
プログラミングⅡではプログラミングに必要な
基礎知識を学び、C言語によるプログラミング
(演習)を学習する。
 また、コンピュータの本質を知ることで、コン
ピュータやインターネットを上手に活用できる
人材を育成する。

2016年度 プログラミングⅠ
コンピュータシステム
外部
コンピュータ
プログラム
データ
結果
処理
2016年度 プログラミングⅠ
プログラミングⅠで学んだこと
2進数
 論理演算(ブール代数,2値論理)
 論理回路
 内部構造と動作の仕組み
(機械語→プログラムへ)
 アルゴリズムと流れ図
 計算量と誤差
 オペレーティングシステムとインターネット
 コンピュータの歴史とプログラミング言語

2016年度 プログラミングⅠ
プログラミングⅡで学ぶこと
ファイルシステムの理解
 CUI(コマンドプロンプト;シェル;ターミナル)
におけるコマンドの使い方
 C言語によるプログラミング法
 定番(知っておきたい)プログラム
 並び替えに関するプログラム
 線形代数に関するプログラム(オプション)
 微分積分に関するプログラム(オプション)

2016年度 プログラミングⅠ
プログラミングとは
NEXT STEP
論理的な思考能力が必要
 1つでも間違えると正しく動かない
 全てを正しく理解する必要がある
 人間のような柔軟さはないので、全ての命令
を一つ一つ正しく記述しなければならない
 怖がる必要はない(直せばよい)

 間違えていれば正しい結果が得られない
 人間は間違いと勘違いをよくする
自分の頭で考え、自分の手を動かすべし
2016年度 プログラミングⅠ
最も基本的なC言語プログラム
#include <stdio.h>
int main(void)
{
printf(“Hello World\n”);
return 0;
}
*現在推奨されている書き方
2016年度 プログラミングⅠ
「スタートブック」のC言語プログラム
#include <stdio.h>
void main()
{
printf(“Hello World\n”);
}
*情報処理技術者試験に対応した書き方
ただし、現在推奨されている書き方ではない
2016年度 プログラミングⅠ
はじめにマスターすべきこと
ファイルシステムの理解
ディレクトリ(フォルダ)、パス(パスを通す)、
カレントディレクトリ(ワーキングディレクトリ)
 CUI(コマンドプロンプト;シェル;ターミナル)
におけるコマンドの使い方
ディレクトリの移動、ファイルの操作など
 C言語のプログラミング(コンパイル&リンク)

2016年度 プログラミングⅠ
C言語をマスターするためのポイント
 型(数値)
 配列
 関数(引数と戻り値)
 ポインタ(アドレス参照)
プログラミングⅠで学んだことが大きく関係する
2016年度 プログラミングⅠ
大学の端末室で利用できるC言語
Microsoft Visual Studio 2010(製品版)
.NET Frameworkが利用できる
 Gnu C
Cygwin環境下で利用可能(Unix系)
 Gnu C
MinGW+MSYS環境下で利用可能(Unix系)
 Intel C
Linux計算サーバにリモートログインすること
で利用可能(マルチスレッドに対応;Unix系)

2016年度 プログラミングⅠ
自宅で使えるフリーのC言語
Microsoft Visual Studio Express
. NET Frameworkが利用できる(30日を超
えて使用する場合はユーザー登録が必要)
 Borland C++
テキストにも付属し、実績のあるコンパイラ
 Gnu C
Cygwin環境下で利用可能(Unix系)
 Gnu C
MinGW+MSYS環境下で利用可能(Unix系)

2016年度 プログラミングⅠ
プログラミングの大まかな流れ
ソースプログラムの作成
コンパイル&リンク
実行可能ファイルの実行
テキストエディタでソースプログラムを作成
拡張子を「.c」として保存(hogehoge.c)
なお、この作業を「コーディング」と呼ぶ
ソースプログラムを機械語に変換
「cl hogehoge.c」を実行
実行可能ファイル(ロードモジュール)を実行
「hogehoge.exe」を実行
2016年度 プログラミングⅠ
情報処理技術者試験について(1)


情報処理技術者試験は「情報処理の促進に関する法律」に
基づく国家試験で、社会の認知度も高く、非常に人気のある
試験です。試験は春(4月の第3日曜日)と秋(10月の第3日曜
日)に実施され、試験区分には「基本情報技術者試験」や「応
用情報技術者試験」などがあります。
*CBT方式による「ITパスポート試験」は随時行われている。
学生のみなさまには、就職活動が始まるまでに「基本情報技
術者試験」に合格しておくことをお薦めします。これらの試験
に合格することで、情報化社会に適応できるバランスの取れ
た人材であることを社会に対してアピールしましょう (個人情
報保護法などの施行に伴い、企業や公務員の一般常識とし
て情報に関する問題が出題されるようになりました)。
2016年度 プログラミングⅠ
情報処理技術者試験について(2)



そのためには、コンピュータなどの情報機器に対し
て偏見を持つのではなく、情報処理に関する基礎的
な知識や技術をしっかり習得した上で、コンピュータ
やスマートフォンなどを上手(正しく効率的)に使える
ようになることが大切です。
また、正しい知識を習得することで、最近急増してい
るネットワーク犯罪に巻き込まれ、知らず知らずの
間に犯罪の被害者や加害者になってしまうことを未
然に防ぎましょう。
この機会に、チャレンジしてみては如何でしょうか。
2016年度 プログラミングⅠ
情報処理技術者試験について(3)
平成21年度より、新試験制度スタート
 詳細については、情報処理推進機構(IPA)
を参照のこと (http://www.jitec.ipa.go.jp/)
 幸山研究室HPの試験に関する詳細事項

(http://kouyama.sci.u-toyama.ac.jp/main/computer/personal/jitec/information.htm)

幸山研究室HPの数学科合格者データ
(http://kouyama.sci.u-toyama.ac.jp/main/computer/personal/jitec/pass.htm)
2016年度 プログラミングⅠ
平成28年度 秋期 情報処理技術者試験 案内

試験区分
 応用情報技術者試験(レベル3) ← 更に上を目指して
 基本情報技術者試験(レベル2) ← チャレンジ

試験日
 平成28年10月16日(日)

「案内書・願書」配布開始
 平成28年7月中旬予定
(配布を開始次第、メールでお知らせします)
【参考】 ITパスポート試験(レベル1)
← チャレンジ