Presentation is loading. Please wait.

Presentation is loading. Please wait.

オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也.

Similar presentations


Presentation on theme: "オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也."— Presentation transcript:

1 オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也

2 講義概要 私の研究室: 講義資料について: 参考図書: 河西朝雄:「原理がわかる プログラムの法則」, 技術評論社 成績評価:
13号館2階(13-206) 講義資料について: 参考図書: 河西朝雄:「原理がわかる プログラムの法則」, 技術評論社 成績評価: 主に演習(2~3回)で評価

3 講義計画(あくまで予定) 第1回 プログラミング言語の種類と歴史 第2回 eclipseの基本操作 第3回 eclipseのデバッグ機能
第4回 構造化プログラミングの復習 第5回 演習 第6回 構造化指向からオブジェクト指向へ(1) 第7回 構造化指向からオブジェクト指向へ(2) 第8回 カプセル化とクラス(1) 第9回 カプセル化とクラス(2) 第10回 演習 第11回 継承 第12回 多相性(1) 第13回 多相性(2) 第14回 アプリケーションフレームワーク 第15回 演習

4 ハードウェアとソフトウェア ソフトウェアがなければコンピュータは動かない. 「コンピュータ,ソフトがなければただの箱」 ソフトウェアの例:
OS(Windows, Mac, UNIX…) アプリケーションソフト(Netscape,Word,メーラー…) 組み込みソフト(携帯電話,DVDプレーヤ,車,ロケット…) ソフトウェアは誰かが作っている. 皆さんも作ることができる(プログラミング).

5 プログラミング言語 プログラム: コンピュータへの作業指示書(命令列). プログラミング言語: 作業指示書で用いる言語.
意味が厳密に定められている. →解釈にあいまい性がない. コンピュータが自動で実行可能. プログラム

6 プログラミング言語の種類 プログラミング言語の数は,おそらく1000以上. プログラミング言語の分類. 用途の違い. 技術の進歩.
趣味の違い. プログラミング言語の分類. 低級言語と高級言語 手続き型言語と宣言型言語 コンパイラとインタプリタ(プログラムの処理方式の分類)

7 低級言語と高級言語 低級言語(低水準言語): 高級言語(高水準言語): コンピュータ(CPU)を直接操作できる言語.
そのコンピュータでできることはすべて指示できる. 細かい内容までいちいち指示する必要. ハードウェア毎に異なる. 例) 機械語,アセンブラ 高級言語(高水準言語): より自然言語に近い(人間にとって理解し易い). 最終的に機械語に翻訳される. 例) Basic, C, Java…

8 機械語とアセンブラ 機械語は,数字(命令コード)の列.
アセンブラは,数字の列を単に見易くしたもの(ニーモニック). 機械語の命令とアセンブラの命令は1対1に対応する. 3E 00 CD 3C E A0 C 機械語 アセンブラ 3E 00 CD 3C 57 32 7E A0 C LD A, 00h CALL 573Ch LD A, [A07Eh] JP 5539h

9 高級言語の誕生 FORTRAN(1957年) ALGOL(1958年) COBOL(1959年) Lisp(1962年) 科学技術計算用
アルゴリズム用 COBOL(1959年) 事務処理用 Lisp(1962年) リスト処理用 手続き型言語 関数型(宣言型)言語

10 高級言語の発展 BASIC(J. ケムニー & T. カーツ, 1964年) 構造化プログラミング(E.W.Dijkstra)
初心者向き会話型言語 構造化プログラミング(E.W.Dijkstra) 構造化BASIC C (D.M.リッチー, 1972年) Visual Basic(1991年) 人工知能(論理型言語) PROLOG(1972年) オブジェクト指向 C++(1983年) Java(SUN, 1995年)

11 手続き型言語と宣言型言語 手続き型言語 宣言型言語 処理の手順を与える. 現在の主流. コンピュータは与えられた手順通りに,処理を実行.
プログラムの動作が予測しやすい反面,細かい指示を いちいち記述する必要がある. 宣言型言語 必要な知識と,処理の目的を与える. 特に,研究者の間で広まっている. コンピュータは与えられた目的を達成するように,推論し ながら処理を実行. プログラムの動作が予測しにくく,細かい処理を記述しにくい.

12 手続き型と宣言型の記述例 階乗を計算する関数 fact <手続き型> int fact(int x) { int y = 1;
while (x > 0) { y = y * x; x--; } return y; <宣言型(関数型)> fact(x) == if x > 0 then fact(x – 1) * x else 1

13 構造化プログラミング E.W.Dijkstraが提唱.どんなプログラムも go to 文を使わずに書ける(構造化定理).
構造化定理: 任意のプログラムは,連接,判断(if文),前判定反復(while文)を組み合わせて記述することができる. int s = 0; start: s++; if (s > 100) goto fin; goto start; fin:; goto文を 取ると… int s = 0; while (s <= 100) { s++; }

14 オブジェクト指向プログラミング 発祥は定かではない. 現在の主流である. データ構造と手続きをクラスとしてまとめて記述する.
SIMULA 67 (1967年) SmallTalk (1972年) 現在の主流である. C++ (1983年) Visual C++ (1992年) Java (1995年) データ構造と手続きをクラスとしてまとめて記述する. プログラムの可読性の向上. プログラムの再利用性の向上. プログラムの可変性の向上.

15 本日のまとめ プログラミング言語の種類 低級言語 機械語,アセンブラ 非オブジェクト指向 言語 BASIC,C 手続き型言語
高級言語 C++,Java 関数型言語 Lisp, Scheme, ML 宣言型言語 論理型言語 Prolog

16 付録 (プログラマの給料と求人件数)


Download ppt "オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也."

Similar presentations


Ads by Google