近年、いろいろな分野にコンピュータ化が進み私たちの生活に身近なものなってきているが、その裏側にはコンピュータを動かすためのプログラムが大きな役割を果している。一部の評論家たちによると、西暦2000年にはプログラム開発人口が日本の総人口では不足するとも言われ、よりプログラムが身近なものになるであろう。このような状況のなかで、これからプログラムを学びたい,仕事として利用したいという人達が数多くいるのではないだろうか。しかし、現在いろいろなプログラミング言語の解説書が出版されているが、それを勉強するだけではなかなかプログラムを自由に書けるようにならないと思われる。英単語と英語の基本文型を知っていても、よい英語が自由に書けるようにはならないのと同様に、プログラミング言語の文法を知っているだけでは決してよいプログラムは書けない。
そこで、本講座では「プログラムとは何か?」から始め、プログラミングに必要となる基本的な知識を解説し、プログラムの書き方,考え方,テクニックを修得することを目的とする。そのためにはプログラミング言語を1つ定める必要があるので、UNIXワークステーションとともに近年注目を集めているC言語を用い、文法の解説も行なうことにする。最近ではオブジェクト指向と呼ばれるプログラミング技法を導入したC++,オブジェクティブC等のプログラミング言語が流行ではあるが、ここではプログラミングそのものを学ぶこと主題としているため、あえて標準的なC言語を用いることにした。本講座の解説の都合上、Cの文法解説に従って章が構成されているが、必要に応じてプログラミングの考え方やテクニックを解説する。そのなかで、よいプログラミングスタイルを学びとって頂くために、なるべく多くの例題プログラムを提示していきたい。
学習対象として、プログラミングの全くの初心者からを考えているが、実際の計算機(パソコン)の操作の仕方については割愛する。また独自でなんらかのプログラミング言語を学習した人達でもよりよいプログラミング技術を習得できるものと考えている。本講座終了時には、高度なプログラミングができるようになっていることを望む。
●アニメーションによるソート法の説明(要JAVA)
●もくじ
-
- 1.前知識.....計算機に関する必要な知識について
- 1.1 プログラムとは
1.2 ハードとソフト
1.3 計算機システムの概要
1.4 計算機が理解できる言葉(情報の表現)
- 2.プログラミングの準備.....プログラミングに必要な考え方など
- 2.1 プログラミングのためのステップ
2.2 プログラムの実行過程
2.3 虫のはなし
- 3.C言語の基本事項.....Cの基本的な,関数,文法,プログラムスタイル
- 3.1 簡単なプログラムスタイル
3.2 変数を使う
3.3 文字を扱う
=== 制御記号について
- 4.処理の制御.....基本的な,かつ頻繁に使うアルゴリズムを題材にプログラムの制御について解説
-
4.1 条件文 −2方向分岐 if_else文−
=== 算術演算子,比較演算子,論理演算子について
4.2 条件文 −多方向分岐 switch_case文−
4.3 繰り返し処理 while,do_while,for文
4.4 配列
4.5 関数
- 4.5.1 関数の考え方
4.5.2 関数による処理の移動
4.5.3 関数による繰り返しの実現(再帰構造)
- X.演習1
- X.演習2
- X.演習3
- 5.C言語特有の文法.....ほかの言語にはない,C特有の関数や演算子について
- 5.1 演算子
- 5.1.1 インクリメント,デクリメント
5.1.2 代入演算子
5.1.3 代入の連接
5.1.4 三項演算子
5.1.5 型変換(キャスト)
5.1.6 演算の優先順位
5.1.7 例題
- 5.2 ポインタ
- 5.2.1 ポインタと格納場所
5.2.2 配列とポインタ
5.2.3 文字列とポインタ
5.2.4 ポインタを用いた簡単な例
- 5.2' ポインタの補足
- 5.3 データ構造
- 5.3.1 多次元配列
5.3.2 構造体
5.3.3 構造体と関数
- === コラム
- 定義と宣言(Definition & Declaration)
- コンピュータの計算精度
- 名前について(Naming)
- 6.並べ換えの問題.....検索,並べ替え,‥‥について実例をもとにアルゴリズムの評価などをする
- 6.1 ソーティングアルゴリズムの種類と計算の手間
6.2 低速アルゴリズム
6.3 高速アルゴリズム
6.4 効率のよいソートプログラムとは?
- 7.グラフ的データ構造
- 7.1 リスト構造
- 7.1.1 線形リスト
7.1.2 双方向連結リスト
7.2 木構造
- 7.2.1 木のに関する基本事項
7.2.2 2分木の構成
7.2.3 2分木によるデータ検索
7.2.4 2分木の走査
- 参考文献
- 参考文献としてC言語のバイブルとも言われている著書がある。ただし、初心者向けではないので注意されたい。一度は読まれることを薦める。
B.W.カーニハン,D.M.リッチー(石田晴久訳):プログラミング言語C 第2版,共立出版,1989