この文書の現在のバージョンと選択したバージョンの差分を表示します。
計算機言語:lecture1 2009/01/23 11:26 | — 現在 | ||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | プログラム言語の分類 | + | |
- | 汎用プログラム言語 | + | |
- | 第四世代言語 | + | |
- | スクリプト言語 | + | |
- | 特殊問題向き言語 | + | |
- | コンピュータ上で動作するプログラムは、 | + | |
- | プログラム言語で書かれており、処理する | + | |
- | 内容に依って使い分けられる。 | + | |
- | 汎用プログラム言語 | + | |
- | 低水準言語 | + | |
- | 機械語 | + | |
- | アセンブリ言語(アセンブラ) | + | |
- | 高水準言語 | + | |
- | 手続き型言語 | + | |
- | 非手続き型言語 | + | |
- | 構造化言語 | + | |
- | オブジェクト指向型言語 | + | |
- | 第四世代言語 | + | |
- | 4th generation language(4GL) | + | |
- | 高水準言語(第3世代言語)よりさらに抽 | + | |
- | 象度の高い命令をもつプログラム言語 | + | |
- | 1)高生産性、習得が容易 | + | |
- | 2)データベース機能を標準的にサポート | + | |
- | 3)環境からの独立性 | + | |
- | 4)非手続き型 | + | |
- | 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 | + | |
- | 高可搬性オブジェクト指向インタープリタ | + |