プログラム言語 プログラム言語の体系を学ぶ.

Slides:



Advertisements
Similar presentations
情報技術基礎 論理素子による進歩. 計算機の歴史 計算機の歴史 1649 パスカル 歯車式加減算機 1839 バベッジ 階差機関 1890 ホレリス パンチカードシス テム ※歯車式の計算機は 1960 年(昭和30年)代ま で 便利な計算機として実際に使われてい た.
Advertisements

1 プログラム言語 と 言語プロセッ サ 基本情報技術概論 II ( 第1回 ) 埼玉大学 理工学研究科 堀山 貴史.
オブジェクト指向 言語 論 知能情報学部 新田直也. 講義概要  私の研究室: 13 号館 2 階 (13-206)  講義資料について :  参考図書 : 河西朝雄 : 「原理がわかる プログラムの法則」,
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
「コンピュータと情報システム」 03章 ソフトウェア
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
2014年度 プログラミングⅡ ~ Cプログラミングやってみよう ~.
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
2013年度 プログラミングⅡ ~ Cプログラミングやってみよう ~.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
情報工学基礎(改訂版) 岡崎裕之.
オブジェクト指向言語論 知能情報学部 新田直也.
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
App. A アセンブラ、リンカ、 SPIMシミュレータ
プログラミング言語論 理工学部 情報システム工学科 新田直也.
プログラミング言語論 理工学部 情報システム工学科 新田直也.
情報科学1(G1) 2016年度.
計算機システム ハードウェア編(第3回) ~ ノイマン型コンピュータ ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
  【事例演習6】  数式インタプリタ      解 説     “インタプリタの基本的な仕組み”.
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也.
プログラムはなぜ動くのか.
BASIC、ときどき機械語 田中二郎@日本橋学館大学.
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
コンピュータの原理 1E17M053-9 奈良 皐佑 1E17M070-7 師尾 直希        1E17M078-6 渡邊 惇.
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
プログラミング言語入門 手続き型言語としてのJava
コンピューターの歴史 1E16M048 圓谷 英一 1E16M050 徳弘 徹也 1E16M051 戸張 将義 1E16M052 飛田 優輝
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
情報リテラシー2014 part 5/5 (亀田担当分最終回)
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
プログラミング言語入門.
コンピュータに計算させる命令を確かめよう!
コンピュータの仕組み 1E16M048 圓谷 英一 1E16M050 徳弘 徹也 1E16M051 戸張 将義 1E16M052 飛田 優輝
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
情報とコンピュータ 静岡大学工学部 安藤和敏
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
本時の目標 コンピュータが情報を処理するしくみを知る。
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンパイラ 2011年10月20日
2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
シミュレーション物理 大槻東巳.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
コンパイラ 2012年10月1日
コンピュータアーキテクチャ 第 2 回.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
コンピュータアーキテクチャ 第 2 回.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語 1.
コンパイラ 2012年10月11日
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
2008年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
1.2 言語処理の諸観点 (1)言語処理の利用分野
Presentation transcript:

プログラム言語 プログラム言語の体系を学ぶ

本時の目的 コンピュータとプログラム プログラム言語の特徴 インタプリタ言語とコンパイラ言語 実行可能プログラム

コンピュータの歴史とプログラム ハードウェア計算機(ENIAC) プログラム内蔵方式の計算機(EDSAC) ハードウェア プログラム(ソフトウェア) OS 処理プログラム ENIAC(Electronic numerical Integrator and Computer)には17,468本もの真空管素子、1500個のリレー、17万の抵抗、1万のコンデンサ、6千のスイッチ、4千のネオン管、数百のダイヤルが使われています。 総重量は30トンで、高さ2.5メートル、奥行き0.9メートル、幅24メートルで、消費電力は140Kw、放出する熱を冷やすために24馬力の換気システムを必要とするという、非常に大規模な装置でした。 当時の新聞によれば、人間の計算手にやらせれば100年はかかると見積もられるこの問題を、ENIACは2時間で解いたそうです。 ENIACは、一般には、弾道計算のために開発されたということになっています。 実際、開発の資金を提供した陸軍は、弾道計算のために資金提供したのでした。 しかし、ENIACの構想を考え出したモークリーは、趣味の気象予測のために強力な計算機を必要としていたようです。 完成して最初のテストは、弾道計算ではありませんでした。加減乗除、正弦余弦関数の表を作る簡単なプログラムと一緒にテストされたのは、水爆の爆縮時の衝撃波の計算でした。1955年10月2日、ENIAC の電源は落とされました。ENIAC の役目は終わったのです。 EDSAC は 1949年、ケンブリッジ大学のウィルクス (Maurice Vincent Wilkes) によって作られた、最初のコンピュータです。 現在の私たちは、128Mバイトのメモリなどを、 お小遣いの範囲の価格 で買うことが出来ます。 左は手のひらに乗る小さなメモリカードです。 上の写真の EDSAC の遅延線メモリと比べると、記憶容量は約 123,000倍、アクセス時間は 1/10,000,000、 重量は、おそらく 1/10,000 程度でしょう。 これらを、単純に性能の向上率として全部掛け合わせる (あるいは、割る) と、 1.2京 (けい: 京 = 10 16)倍にもなってしまいます。 価格も含めれば、1,000京倍くらいになるかも知れません。 余談ですが、先日、256Mバイトのメモリを約1万4千円で購入しました。 ビット単価は 0.000007円 です。 20数年前、私がコンピュータをいじくり始めた頃は、1kビットのメモリを 1,000円 で買いましたので、 ビット単価は 1円 だったわけです。 この 256Mバイトのメモリは、当時の価格なら、なんと、20億円もしたことになります !!    ABC は、1942年にアイオワ州立大学のアタナソフ (John Vincent Atanasoff) と ベリー (Clifford Edward Berry) によって作られた最初の電子計算機です。 専用ソフト(アプリケーション) 汎用ソフト(プログラム言語で記述)

体系図 機 械 語 低水準言語 アセンブラ言語 プログラム言語 インタプリタ言語 高水準言語 コンパイラ言語

低水準言語 (a)機械語 機械が理解できる2進数0と1で表す言語 (b)アセンブラ言語 機械語を記号化した言語 ニーモニックコード   機械が理解できる2進数0と1で表す言語 (b)アセンブラ言語   機械語を記号化した言語 ニーモニックコード 低水準言語  各コンピュータにはそれ独自の命令体系がある。コンピュータの命令体系そのものに相当するか,あるいはそれを強く意識した言語。 機械語  コンピュータが直接理解できる言語で0と1の二つの数字の並びだけで構成。処理速度は早い。 アセンブラ言語  2進数の機械語命令を人間にわかりやすい表記に対応させたプログラム言語。実行速度は速いが開発効率が低い。 ニーモニックコード コンピュータが理解しやすい言語

高水準言語 オブジェクトプログラム コンパイラ (a)コンパイラ言語 ソースプログラムを機械語に変換し、実行プログラムを 作成する言語   ソースプログラムを機械語に変換し、実行プログラムを  作成する言語   ※ソースプログラム・・・プログラム言語で記述したプログラム 高水準言語  英語表現に近く人間が扱いやすい命令コードを持つプログラム言語。コンピュータの命令体系に依存する低水準言語に対して、それとは独立した言語。 ソースプログラム  そのままでは実行できなくコンパイラなどを用いてオブジェクトコード(コンピュータが理解できる形式)に変換してから実行する。 コンパイラ言語  高水準言語で記述されたソースプログラム機械語のオブジェクトプログラムに変換する。(コンパイラ)   コンパイラ言語で記述したプログラムをソースプログラムといい、このソースプログラムをコンパイラという翻訳プログラムによって翻訳処理する。それによってオブジェクトプログラムが機械語になりコンピュータが実行できる。 オブジェクトプログラム  翻訳処理によって作成された機械語コードのプログラム インタプリタ言語  命令を1命令ごとに機械語に変換しながら実行される。そのため処理速度はコンパイラより遅い。反面ソースプログラムが直接実行できるのでプログラム修正が簡単。間違いがあると教えてくれる対話形言語である。 プログラム言語を用いてプログラム開発を行う際に、翻訳の作業をするソフトウェアを言語プロセッサという。 (b)インタプリタ言語   ・命令を解釈しながら実行させる言語   ・間違いがあったら教えてくれる。 対話形言語

これらプログラム言語を用いてプログラム開発を行う際に、翻訳の作業をするソフトウェアを 言語プロセッサ という。

プログラムの実行手順 ※エディタ・・・プログラムを作成・編集 するソフトウェア ※ロードモジュール・・・リンカされたプログラム ① ※エディタ・・・プログラムを作成・編集          するソフトウェア プログラムの実行手順 ※ロードモジュール・・・リンカされたプログラム ① ①エディタによる作成 ソースプログラム ②オブジェクトプログラムの生成 ② ③翻訳されて機械語になる コンパイル ③ ⑤ ④ロードモジュールの作成 オブジェクトプログラム ロードモジュール ⑤実行可能プログラム ④ ①ソースプログラムの作成。 ②コンパイル(オブジェクトプログラムの生成):ソースプログラムはコンパイラを用いて機械語のオブジェクトプログラム に翻訳する。 ③オブジェクトプログラム:このままでは実行できない。 ④連係編集(リンカ):オブジェクトプログラムを一つの実行可能なプログラムにすること。プログラムの実行が可能になる。 ⑤ロードモジュール:連係編集されたプログラムをロードモジュールという。(ロードは荷物を積むという意。)プログラム を主記憶装置に入れること。ロードモジュールは処理手順に従いデータの処理を行う。 ⑥ロード(プログラムの実行):ローダと呼ばれるプログラムがロードモジュールを主記憶装置に読み込ませてから実行され る。 ⑥ ⑥主記憶装置への格納 連係編集(リンカ) ローディング ⑦ ⑦処理結果の出力 実行

主なプログラミング言語 言 語 特 徴 C 低級言語 データの扱いを0と1によって行う言語。 高級言語 言 語 特 徴 低級言語 データの扱いを0と1によって行う言語。 機械語を少し分かりやすくしたもの。ニーモニックコードを使い(アセンブル)、機械語に翻訳する。 高級言語 インタプリタを使い1行ずつ機械語に翻訳する。初心者向け。 科学技術計算用に開発されたもの。大学や研究所などで使用。 事務計算処理のため開発されたもの。 構造化プログラミング用に開発されたもの。教育用。 OSのUNIX用に開発されたもの。関数を主体。 Cの拡張であるC++を元にして開発されたもの。 低級言語 機械語 データの扱いを0と1によって行う言語。 アセンブラ言語 機械語を少し分かりやすくしたもの。ニーモニックコードを使い(アセンブル)、機械語に翻訳する。 高級言語 BASIC インタプリタを使い1行ずつ機械語に翻訳する。初心者向け。 FORTRAN 科学技術計算用に開発されたもの。大学や研究所などで使用。 COBOL 事務計算処理のため開発されたもの。 PASCAL 構造化プログラミング用に開発されたもの。教育用。 C OSのUNIX用に開発されたもの。関数を主体。 Java Cの拡張であるC++を元にして開発されたもの。 言語 概要 低級言語 機械語 データの扱いを0と1によって行う言語。 アセンブラ言語 機械語を少し分かりやすくしたもの。ニーモニックコードを使い(アセンブル)、機械語に翻訳する。 高級言語 BASIC インタプリタを使い1行ずつ機械語に翻訳する。初心者向け。 FORTRAN 科学技術計算用に開発されたもの。大学や研究所などで使用。 COBOL 事務計算処理のため開発されたもの。 PASCAL 構造化プログラミング用に開発されたもの。教育用。 C OSのUNIX用に開発されたもの。関数を主体。 Java Cの拡張であるC++を元にして開発されたもの。 主なプログラミング言語

問題を解いてみよう。 配布されたプリントの穴埋め問題を解く。時間内に完成しなかった生徒は本日中に解き、豆塚のところに持参すること。

体系図 機 械 語 低水準言語 アセンブラ言語 プログラム言語 インタプリタ言語 高水準言語 コンパイラ言語