差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

計算機言語:lecture1 2009/01/23 11:31 — 現在
ライン 1: ライン 1:
-====== プログラミング言語概論 ====== 
-===== プログラム言語の分類 ===== 
- 
-  * 汎用プログラム言語 
-  * 第四世代言語 
-  * スクリプト言語 
-  * 特殊問題向き言語 
- 
-コンピュータ上で動作するプログラムは、 
-プログラム言語で書かれており、処理する 
-内容に依って使い分けられる。 
- 
-===== 汎用プログラム言語 ===== 
- 
-  * 低水準言語 
-    * 機械語 
-    * アセンブリ言語(アセンブラ) 
-  * 高水準言語 
-    * 手続き型言語 
-    * 非手続き型言語 
-    * 構造化言語 
-    * オブジェクト指向型言語 
- 
-===== 第四世代言語 ===== 
-  ; 第四世代言語 
-  : 4th generation language(4GL) 
-高水準言語(第3世代言語)よりさらに抽 
-象度の高い命令をもつプログラム言語 
-  - 高生産性、習得が容易 
-  - データベース機能を標準的にサポート 
-  - 環境からの独立性 
-  - 非手続き型 
-4GLの指す内容は文脈によって異なるので 
-注意が必要 
- 
-===== スクリプト言語 ===== 
-エンドユーザ向き言語 
-小規模で簡単な処理に向く 
-  * 表計算のマクロ言語 
-  * Webのサービスプログラム(cgi)に利用 
-  ; 代表的なスクリプト言語 
-  : perl, ruby, python (独立汎用型) 
-  :awk, sed (目的別unix系プログラム) 
-  :sh, csh (バッチ処理型インタープリタ) 
- 
-===== 特殊問題向き言語 ===== 
- 
-  ; シミュレーション言語 
-  : GPSS, DYNAMO 
-  ; 数値制御用言語 
-  : APT 
-  ; 土木建築用言語 
-  : COGO, STRESS 
-  ; 統計処理用言語 
-  : SAS 
- 
-===== 言語処理プログラム ===== 
- 
-機械語 
-通常唯一の命令列 
-通常0/1の2進数で表現される 
-人間に理解し易いように16進数が使われ 
-ることもある 
-プログラム 
-言語 
-機械語 
-言語処理プログラム 
-機械語 
-ON OFF ON OFF OFF OFF ON ON 
-SW 
-LED 
-実験用マイクロコンピュータボードで 
-入力SWに対応するLEDを点灯する 
-ただし、入力SWのポート番号は11111001(F9) 
-出力LEDのポート番号は11111000(F8)とする 
-1101101111111001 
-1101001111111000 
-DB F9 
-D3 F8 
-低水準言語 
-機械語 
-アセンブリ言語 
-人間に解りにくい 
-特定のハードウェアに依存する 
-プログラムを小さくすることができる 
-プログラムを高速に実行することができる 
-アセンブリ言語 
-ON OFF ON OFF OFF OFF ON ON 
-SW 
-LED 
-機械語と一対一に対応 
-入力SWのポート番号は(F9)、出力LEDのポート番号は(F8)、 
-プロセッサはZ80 
-IN A,(??) → DB ?? 
-OUT (??),A → D3 ?? 
-IN A,(F9) DB F9 
-OUT (F8),A D3 F8 
-アセンブリ 
-言語 
-機械語 
-アセンブラ 
-高水準言語 
-人間の言語表現に近い構造をもつ 
-記述に、汎用性・可搬性がある 
-特定のハードウェアに依存しない 
-現在の主流 
-COBOL, Fortran, c, pascal, c++, java 
-lisp, prolog, SQL 
-高水準言語 
-ON OFF ON OFF OFF OFF ON ON 
-SW 
-LED 
-c言語 
-unsigned int a; 
-a = get_SW_status(); 
-set_LED_on(a); 
-Fortran 
-INTEGER A 
-READ (9, *) A 
-WRITE (8, *) A 
-入出力関数は専用ライブラリで 
-用意されなければならない 
-入出力装置番号8/9はシステム 
-により定義されていなければな 
-らない 
-コンパイラとインタープリタ 
-コンパイラ(翻訳型) 
-高水準言語で書かれたプログラムを機械語 
-に一括翻訳した後、実行する 
-高速、エラーを取り除くのが難しい 
-インタープリタ(解釈型) 
-高水準言語で書かれたプログラムを一行づ 
-つ機械語に解釈し逐次実行する 
-低速、扱い易い 
-プログラムの作成から実行まで 
-#include <stdio.h> 
-int main(void) { 
-printf("Hello\n"); } 
-原始プログラム 
-(Source program) 
-testc.c 
-00101Hello11000 
-101_main0011001 
-10101_printf0001 
-目的プログラム 
-(Object module) 
-testc.o 
-001010101110001 
-010011001100110 
-101010111100001 
-実行可能プログラム 
-(Executable module) 
-a.out 
-0011_printf00010 
-1101_getc000111 
-1011_scanf11100 
-ライブラリ 
-(Library) 
-libc.a 
-コンパイラ 
-リンカ 
-コンパイル 
-リンク(連係編集) 
-プログラム作成手順 
-概要 
-・原始プログラム(Source program)の作成 
-・原始プログラムをコンパイルし目的プロ 
-グラム(Object module)に変換 
-・目的プログラムを連係編集(link)し、実行 
-可能プログラム(Executable module/ 
-Load(able) moduleに変換 
-・実行可能プログラムをメモリ上にロード 
-し実行する 
-プログラムの作成から実行まで 
-hello.c 
-int main(){ 
-printf("Hello,world\n"); 
-} 
-hello.o 
-0110010100_main_000 
-110001100110_printf 
-_0 
-a.out 
-0110010100001110000 
-1100011001100101010 
-10 
-コンパイラ 
-リンカ 
-Source program 
-Object module 
-Loadable module 
-プログラム(モジュール)の保存 
-ファイル 
-T97E121 
-T97E121 
-T97E121 
-85 
-48 
-72 
-A 
-D 
-B 
-フィールド 
-レコード 
-011000 
-011110 
-110100 
-ビット列 
-プログラム作成用語集(1) 
-原始プログラム 
-source program/source code/source file 
-プログラム言語によって記述されたもの 
-目的プログラム 
-object module/object code/object file 
-コンパイラによって変換されたもの 
-アドレスなどが未定義のため実行不可 
-プログラム作成用語集(2) 
-実行可能プログラム 
-executable file/load module/command 
-プログラムの実行に必要なサブルーチンや 
-関数などを含めた計算機で実行可能なもの 
-リンク(連係編集) 
-目的プログラムのサブルーチン、関数のア 
-ドレス定義を行いライブラリなどと結合さ 
-せて実行可能プログラムを作成する 
-リンケージエディタ(リンカ)によって行う 
-コンパイル 
-概要 
-原始プログラムを機械語に翻訳する作業 
-処理過程 
-(1) 字句解析 
-(2) 構文解析 
-(3) 意味解析 
-(4) 最適化 
-(5) コード生成 
-アプリケーションの種類 
-GUI アプリケーション 
-(GUI: Graphical User Interface) 
-高水準言語からOSの提供するAPIを呼び出 
-すことにより作成する 
-コンソールアプリケーション 
-OSの提供する標準入出力を使用して作成 
-し、CUIから利用する 
-(CUI: Character User Interface) 
-主なプログラム言語 
-Fortran 
-最初の高水準言語、科学技術計算に向く 
-COBOL 
-主に事務処理用に用いられる 
-c言語 
-unixの標準開発環境、汎用性が高い 
-Pascal 
-プログラミング教育用 
-主なプログラム言語 
-c++ 
-c言語にオブジェクト指向の機能を付加 
-LISP 
-関数型言語、人工知能やリスト処理用 
-Smalltalk 
-最初のオブジェクト指向言語 
-Java 
-高可搬性オブジェクト指向インタープリタ 
計算機言語/lecture1.1232677891.txt.gz · 最終更新: 2009/01/23 11:31 by kimi
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0