オブジェクト指向 言語 論 知能情報学部 新田直也. 講義概要  私の研究室: 13 号館 2 階 (13-206)  講義資料について :  参考図書 : 河西朝雄 : 「原理がわかる プログラムの法則」,

Slides:



Advertisements
Similar presentations
1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
Advertisements

1 情報基礎 A プログラムやソフトウエアの 構造 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
情報処理基礎 A ・ B 第 5 回 プログラミング入門 操作の自動化を実現する仕組み. 2004/11/16 ・ 17 情報処理基礎 A ・ B 2 本日の内容 処理の自動化~プログラムの概念 ハードウェアとソフトウェア プログラミング言語 Excel における処理の自動化 入力支援の機能 分析ツール.
生物統計学・第 14 回 Perl を使いこなす インストール、プログラミング 2014 年 1 月 20 日 生命環境科学域 応用生命科学 類 尾形 善之.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
プログラミング言語としてのR 情報知能学科 白井 英俊.
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
FORTRAN 科学技術計算用 数値演算精度を重視したシステム K=0 DO 10 I=0,N,1 K=K+I 10 CONTINUE
プログラミングパラダイム さまざまな計算のモデルにもとづく、 プログラミングの方法論 手続き型 関数型 オブジェクト指向 代数 幾何.
比較プログラム言語論 平成16年4月21日 森田 彦.
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 知能情報学部 新田直也.
VBA(Visual Basic Application)を使ったプログラミングの初歩概説
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
プログラミング言語論 理工学部 情報システム工学科 新田直也.
プログラミング言語論 理工学部 情報システム工学科 新田直也.
情報科学1(G1) 2016年度.
データ構造と アルゴリズム 知能情報学部 新田直也.
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也.
心理学情報処理法Ⅰ コンピュータ言語の歴史.
コンピュータの原理 1E17M053-9 奈良 皐佑 1E17M070-7 師尾 直希        1E17M078-6 渡邊 惇.
コンピュータ概論B ー ソフトウェアを中心に ー #10 プログラミング・言語
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
プログラミング言語入門 手続き型言語としてのJava
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
情報リテラシー2014 part 5/5 (亀田担当分最終回)
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
東京大学人間環境学専攻 奥田・橋本研究室 修士1年 相良 光志
パソコンのしくみ ハードウェア OS(Operating System) アプリケーション NEC DOS
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
プログラム言語 プログラム言語の体系を学ぶ.
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
オブジェクト指向言語論 第十四回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語入門 2013 (C言語 初級) 演習期間 担当 参考資料 採点 10/24 - 1/23 (全10回) 松澤,鈴木,児玉
コンパイラ 2012年10月1日
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語 1.
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
第6回放送授業.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
情報数学Ⅲ 5,6 (コンピュータおよび情報処理)
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
C#プログラミング実習 第1回.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

オブジェクト指向 言語 論 知能情報学部 新田直也

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

講義計画 第 1 回 プログラミング言語の種類と歴史 第 2 回 変数と型 第 3 回 式と評価 第 4 回 制御構造 ( ここらへんでレポート ?) 第 5 回 記憶クラス 第 6 回 構造化プログラミング (1) 第 7 回 構造化プログラミング (2) 第 8 回 演習 第 9 回 オブジェクト指向言語 (1) 第 10 回 オブジェクト指向言語 (2) 第 11 回 オブジェクト指向言語 (3) 第 12 回 オブジェクト指向言語 (4) 第 13 回 オブジェクト指向言語 (5) 第 14 回 プログラミング環境 第 15 回 試験

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

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

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

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

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

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

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

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

手続き型と宣言型の記述例  階乗を計算する関数 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

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

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

プログラムの処理方式  プログラムはテキストファイルで書く ( ソースコード ) . テキストエディタで書いてもよいが,専用のエディタの方が便 利.  ソースコードを処理する方式には以下のものがある. コンパイラ方式 :  ソースコードを機械語に変換. ( 高速 ) インタプリタ方式 :  ソースコードを解釈しながら実行. ( 低速 ) 中間コード方式 :  コンパイラとインタプリタの中間. Java などで採用. ( 中速 )  処理方式がわからないとプログラミング言語は使えな い !!

コンパイラとインタプリタ  コンパイラはソースコードから機械語への変換プログラ ム.  インタプリタはソースコードの解釈と実行を同時に行う プログラム. ソースコード A コンパイラ & リンカ 実行プログラム A 入力 出力 実行 インタプリタ ソースコード B 解釈 & 実行 実行プログラム A プログラム実行 のための準備

中間コード方式  機械語は,機種に依存する. (Windows のプロ グラムは, Mac では動かない )  いっぽう,インタプリタ方式は実行速度が遅い.  機種に依存しない部分だけを先にコンパイルす る. ソースコード A コンパイラ 中間コード A 入力 出力 中間コード A インタプリタ 解釈 & 実行 機種が違っても良い

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

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