-
構造化プログラミング
プログラム全体を機能ごとに分割し、処理の制御構造としては順次・選択・繰返しだけを用いることを原則とするプログラミングの手法
-
リスト
データを記録するデータ部とデータの格納位置を示すポインタ部で構成されるデータ構造
-
単方向リスト
次のデータへのポインタを持っている
-
双方向リスト
次のデータへのポインタと前のデータへのポインタを持っている
-
環状リスト
データが環状に連結されている
-
キュー
格納した順序でデータを取り出すことができるデータ構造。FIFO。データ格納をエンキュー、データ取り出しをデキューという。
-
スタック
格納した順序とは逆の順序でデータを取り出すことができるデータ構造。LIFO。データ格納をプッシュ、データ取り出しをポップという。
-
2分木
全ての枝の分岐が2つ以下である木構造
-
完全2分木
根から葉までの深さが全て等しい2分木
-
2分探索木
各節において「左の子<親<右の子」という関係を持った2分木
-
ヒープ木
各節において「親<子」または「親>子」という関係を持った完全2分木
-
逆ポーランド記法
2分木を使って算術式に表記する方法の1つで節に演算子、葉に非演算数を配置する
-
B木
枝の分岐が2つ以上あり、データ挿入時は根から葉までの深さが同じになる
-
基本交換法(バブルソート)
隣り合うデータを比較し、逆順であれば入れ替える
-
基本選択法
データ列の最小値(最大値)を選択して入れ替え、次にそれを除いた部分の中から最小値(最大値)を選択して入れ替える方法
-
基本挿入法
すでに整列済みのデータ列の正しい位置にデータを挿入する方法
-
シェルソート
ある一定間隔おきに取り出したデータから成るデータ列をそれぞれ整列し、間隔が1になるまで繰り返す方法
-
クイックソート
適当な基準値を決めて、それより小さな値のグループと大きな値のグループにデータを振り分け、同様の操作を繰り返す方法
-
ヒープソート
未整列の部分を順序木に構成し、その最大値(最小値)を取り出して既整列の部分に移す、という操作を繰り返し見整列部分を縮めていく方法
-
線形探索法
配列の先頭から順番に目的のデータを探索していく方法
-
番兵法
探索したい目的のデータを配列の最後尾に追加する方法
-
2分探索法
昇順・降順に並んでいるデータのうち中央のデータを除いた前半、後半のいずれかに範囲を限定し、探索を繰り返す。
-
ハッシュ探索法
目的のデータの格納先アドレスを関数を用いて算出して探索する方法
-
シノニム
ハッシュ探索法において、格納先のアドレスが衝突してしまうこと
-
再配置可能(リロケータブル)
主記憶上のどのアドレスに配置しても実行できる、プログラムの属性
-
再入可能(リエントラント)
同時に複数のタスクが共有して実行しても正しい結果が得られる、プログラムの属性
-
再使用可能(リユーザブル)
一度実行した後ロードし直さずに再び実行を繰り返しても正しい結果が得られる、プログラムの属性
-
再帰的(リカーシブ)
実行中に自分自身を呼び出せる、プログラムの属性
-
低水準言語
コンピュータが理解しやすい機械語または機械語に近い形式で記述した言語
-
機械語
コンピュータが理解できる唯一の言語。1と0で構成される
-
アセンブラ言語
機械語を1対1で記号に置き換えた言語
-
高水準言語
人間が理解しやすい自然言語に近い形式で記述した言語
-
C
システム記述に適した言語
-
C++
C言語にオブジェクト指向の概念を取り入れた言語
-
Java
オブジェクト指向型言語
-
Python
Webアプリや人工知能などの開発に適したスクリプト言語
-
JavaScript
動的なWebページの作成に適したスクリプト言語。HTMLに組み込みWebブラウザ上で実行する
-
Java VM
Javaで開発されたプログラムを実行するインタプリタ
-
Javaサーブレット
クライアントの要求に応じてWebサーバ上で動作する
-
Javaアプリケーション
Java VMを実装していればWebサーバやWebブラウザがなくても動作する
-
JavaBeans
Javaで開発されたプログラムでよく使われる機能などを部品化し再利用できるようにするための仕様
-
言語プロセッサ
人間が理解できるプログラム言語で記述した原始プログラムを、コンピュータが理解できる機械語に翻訳するためのプログラム
-
アセンブラ
アセンブラ言語で書かれた原始プログラムを機械語に翻訳する
-
インタプリタ
高水準言語で書かれた原始プログラムを1命令ずつ解釈しながら実行する
-
コンパイラ
高水準言語で書かれた原始プログラムを目的プログラムに翻訳する
-
リンク
リンカと呼ばれるプログラムを用いて複数の目的プログラムなどから1つのロードモジュールを生成すること
-
動的リンキング
アプリケーションの実行中、必要となったモジュールをOSによって連携する方式
-
静的リンキング
アプリケーションの実行に先立って、あらかじめ複数の目的プログラムをリンクしておく方式
-
ロード
ローダと呼ばれるプログラムを用いて実行に先立ってロードモジュールを主記憶に配置すること
-
プリコンパイラ
高水準言語に付加的に定義された機能と文法に従ってコーディングされたプログラムを、もとの高水準言語だけを使用したプログラムに変換する
-
クロスコンパイラ
あるコンピュータを使って、そのコンピュータとは異なる命令形式を持つコンピュータで実行できる目的プログラムを生成する
-
ジェネレータ
入力・処理・出力などの必要な条件をパラメタで指定して、処理目的に応じたプログラムを自動的に生成する
-
トランスレータ
ある処理系用に書かれた原始プログラムを他の処理系用の原始プログラムに変換する
-
エミュレータ
他のコンピュータ用のプログラムを解読し実行する
-
ビルド
コンパイルやリンクを行って実行可能ファイルを作成すること
-
デプロイ
実行可能ファイルを実行環境にインストールし各種設定をして利用可能にすること
-
デバッグ
プログラムに潜んでいる誤り(バグ)を発見し、取り除くこと
-
トレーサ
プログラムの命令の実行順序、実行結果などを時系列に出力する
-
スナップショットダンプ
プログラムの特定の命令を実行するごとに指定されたメモリの内容を出力する
-
メモリダンプ
プログラムの以上終了時に主記憶やレジスタの内容を出力する
-
静的解析ツール
プログラムを実行せずに文法の誤りやルール違反、モジュールインタフェースなどを解析するツール
-
BNF記法
プログラム言語の構文を定義する再帰的な記法
-
マークアップ言語
テキスト形式の文章にタグと呼ばれる特別な文字を使って、文章の構造や文字の修飾を記述する言語
-
SGML
(=Standard Generalized Markup Language)。電子的な文書の管理や交換を容易に行うためのマークアップ言語
-
HTML
(=Hyper Text Markup Language)。Webページを作成するためのマークアップ言語
-
XML
(=eXtensible Markup Language)。ネットワークを介した情報システム間のデータ交換を容易にするためのマークアップ言語
-