04 アルゴリズムとプログラミング
89問 • 1年前N.S
何らかの問題を有限の時間で解くための手順を(①)という。アルゴリズム
アルゴリズムにおいて、数値などのデータを格納する領域を(①)という。変数
記号を用いてアルゴリズムを図示する方法、またその図示したものを(①)という。フローチャート
アルゴリズムの制御構造の一つである選択には、二つの処理のうちいずれかを選択する(①)と、三つ以上の処理のうちいずれかを選択する(②)がある。双岐選択, 多岐選択
アルゴリズムの制御構造の一つである繰返しには、繰返し処理の前で終了条件の判定を行う(①)と、
繰返し処理の後で終了条件の判定を行う(②)がある。前判定繰返し, 後判定繰返し
プログラム全体を機能ごとに分割し、処理の制御構造としては順次・選択・繰返しだけを用いることを原則とするプログラミングの手法を(①)という。構造化プログラミング
データをどのような形式で格納するかを決めたものを(①)という。データ構造
要素番号を用いて扱うデータ構造を(①)という。配列
データを記録するデータ部とデータの格納位置を示すポインタ部で構成されるデータ構造を(①)という。連結リスト
連結リストで、次のデータへのポインタのみをもっているリストを(①)という。単方向リスト
連結リストで、次のデータへのポインタと前のデータへのポインタをもっているリストを(①)という。双方向リスト
連結リストで、最初のデータと最後のデータが連結されているリストを(①)という。環状リスト
先に格納したデータから先にデータを取り出すデータ構造を(①)という。キュー
先に入れたデータから先に取り出す手法を(①)という。FIFO
キューにデータを格納することを(①)、キューからデータを取り出すことを(②)という。エンキュー, デキュー
後に格納したデータから先に取り出すデータ構造を(①)という。スタック
後に入れたデータから先に取り出す手法を(①)という。LIFO
スタックにデータを格納することを(①)、スタックからデータを取り出すことを(②)という。プッシュ, ポップ
データを複数の階層に分け、階層の上位から下位に節点を辿ることでデータを取り出すデータ構造を(①)という。木構造
木構造において、各データのことを(①)という。
また、(①)でも特に最上位のものを(②)、最下位のものを(③)という。節, 根, 葉
木構造において、節と節を繋ぐ部分のことを(①)という。枝
木構造の各節どうしの関係で、上位の節を(①)、下位の節を(②)という。親, 子
木構造のある節において、それより下位に続く部分を(①)という。
(①)のうち、元の節より左側にあるものを(②)、右側にあるものを(③)という。部分木, 左部分木, 右部分木
全ての枝の分岐が二つ以下である木構造を(①)という。2分木
根から葉までの深さが全て等しい2分木を(①)という。完全2分木
全ての節で
(左部分木) < (親) < (右部分木)
の関係をもった2分木を(①)という。2分探索木
全ての節で
(親) < (子) または (親) > (子)
の関係をもった完全2分木を(①)という。ヒープ木
2分木を用いて、演算子を数値の後ろへ記述する表記法を(①)という。逆ポーランド表記法
ある規則に従ってデータを並べ替えることを(①)という。整列
隣り合うデータを比較し、大小の順が逆であればそれらの要素を入れ替えるという操作を繰り返す整列法を(①)という。基本交換法
データ列の最小値または最大値を選択して交換し、次にそれを除いた部分から最小値または最大値を選択して交換していく整列法を(①)という。基本選択法
既に整列済みのデータ列の正しい位置にデータを挿入していく整列法を(①)という。基本挿入法
ある一定間隔おきに取り出した要素内で基本挿入法を用いて整列させ、間隔を詰めながら、間隔が1になるまで繰り返していく整列法を(①)という。シェルソート
適当な基準値を定め、「基準値より小さい値」と「基準値より大きい値」のグループに分ける操作を繰り返していく整列法を(①)という。クイックソート
未整列の部分を順序木に構成し、その最大値または最小値を取り出す操作を繰り返す整列法を(①)という。ヒープソート
配列などを使って目的のデータを探し出すことを(①)という。探索
配列の先頭から順番に目的のデータを探索していく方法を(①)という。線形探索法
探索したい目的のデータを配列の最後尾に追加する探索法を(①)という。番兵法
探索範囲を半分に絞り込みながら目的のデータを探索する方法を(①)という。2分探索法
目的のデータの格納先のアドレスをハッシュ関数を用いて算出する探索法を(①)という。ハッシュ探索法
全ての事象が起こる確率が一定である確率分布を(①)という。一様分布
複数のデータの格納先につい、格納先のアドレスが衝突してしまうことを(①)という。シノニム
主記憶上のどのアドレスに配置しても実行できるというプログラムの性質を(①)という。再配置可能
同時に複数のタスクが共有して実行しても、正しい結果が得られるというプログラムの性質を(①)という。再入可能
一度実行した後、ロードし直さずに再び実行を繰り返しても正しい結果が得られるというプログラムの性質を(①)という。再使用可能
実行中に自分自身を呼び出せるというプログラムの性質を(①)という。再帰的
与えられた値をもとに定められた処理を実行して、その結果を返す機能をもったものを(①)という。関数
0と1だけで構成される機械語、またはそれに近いプログラム言語を(①)という。低水準言語
英語のような比較的人間の言葉に近いプログラム言語を(①)という。高水準言語
低水準言語の一つで、コンピュータが唯一理解できる1と0で構成される言語を(①)という。機械語
低水準言語の一つで、機械語である1と0を記号に置き換えた言語を(①)という。アセンブラ言語
高水準言語の一つで、初心者向けの会話型言語を(①)という。BASIC
高水準言語の一つで、事務処理計算に適した言語を(①)という。COBOL
高水準言語の一つで、システム記述に適した言語を(①)という。
また、(①)にオブジェクト指向の概念を取り入れた言語を(②)という。C言語, C++
高水準言語の一つで、オブジェクト指向型で様々なアプリケーションの開発に用いられる言語を(①)という。Java
高水準言語の一つで、オブジェクト指向型のスクリプト言語であり、AIや機械学習の開発などに用いられる言語を(①)という。Python
高水準言語の一つで、動的なWebページの作成に適したスクリプト言語を(①)という。JavaScript
人が理解できるプログラム言語で記述した原始プログラムを、コンピュータが理解できる機械語に翻訳するプログラムを(①)という。言語プロセッサ
高水準言語で書かれた原始プログラムを1命令ずつ解釈しながら実行する言語プロセッサを(①)という。インタプリタ
高水準言語で書かれた原始プログラムを、一括して目的プログラムに解釈する言語プロセッサを(①)という。コンパイラ
原始プログラムから目的プログラム(オブジェクトモジュール)を生成することを(①)という。コンパイル
複数の目的プログラムなどから、一つのロードモジュール(実行可能プログラム)を生成することを(①)という。
またこのとき使うプログラムを(②)という。リンク, リンカ
アプリケーションの実行中に、必要となったモジュールをOSによって連携する方式のことを(①)という。
それに対し、アプリケーションの実行に先立って、あらかじめ複数の目的プログラムをリンクしておく方式を(②)という。動的リンキング, 静的リンキング
実行に先立ってロードモジュールを主記憶に配置することを(①)という。
また、このときに使うプログラムを(②)という。ロード, ローダ
コンパイラが解釈できない高水準言語に付加的に定義された機能やプログラムをコンパイラの前処理で解釈できるように変換する言語プロセッサを(①)という。プリコンパイラ
実際に実行するコンピュータとは命令形式が異なるコンピュータで目的プログラムを作成する言語プロセッサを(①)という。クロスコンパイラ
入力・処理・出力などのパラメータを指定することで、自動的にプログラムを生成する言語プロセッサを(①)という。ジェネレータ
原始プログラムをある言語から別の言語に変換する言語プロセッサを(①)という。トランスレータ
他のコンピュータ用に開発されたプログラムを擬似的に実行する言語プロセッサを(①)という。エミュレータ
エディタやコンパイラ、デバッグツールなどのアプリケーション開発のためのソフトウェアや支援ツール類を統合したものを(①)という。統合開発環境
コンパイルやリンクをして実行可能プログラムを作成する一連の作業を(①)という。ビルド
分担して作成した原始プログラムを共有の保管場所二マージするたびにビルドやテストを繰り返すことを(①)という。継続的インテグレーション
実行可能プログラムを実行環境にインストールし、各種設定をして利用可能な状態にすることを(①)という。デプロイ
プログラムに潜んでいる誤りのことを(①)という。
また、(①)を発見して取り除くことを(②)という。バグ, デバッグ
ソフトウェアの統合開発環境としてOSSとして提供されている(①)は、Javaをはじめとした複数の言語に対応している。Eclipse
ビルドやテストを自動化するツールである(①)は、OSSとして提供されている。Jenkins
プログラムの命令の実行順序や実行結果などを時系列出力するデバッグツールを(①)という。トレーサ
プログラムの特定の命令を実行するごとに、指定されたメモリの内容を出力するデバッグツールを(②)という。スナップショットダンプ
プログラムの異常終了時に、主記憶やレジスタの内容を出力するデバッグツールを(①)という。メモリダンプ
プログラムを実行せずに、文法の誤りやルール違反、モジュールインターフェースなどを解析するツールを(①)という。静的解析ツール
<>で囲まれた識別子を用いて文章構造を表現する言語を(①)という。
また、このときの<>で囲まれた識別子を(②)という。マークアップ言語, タグ
文書の電子化を目的に開発されたマークアップ言語で、ISOの国際規格であるものは(①)である。SGML
Webページを作成するためのマークアップ言語は(①)である。
また、このときに使われる文字の大きさや文字の色、行間などの視覚表現は(②)を使って指定される。HTML, CSS
取引データの起票や、アプリケーション間でのデータ交換用など、様々な分野で応用されているマークアップ言語は(①)である。XML
JavaScriptがもつ非同期の通信機能と、XMLを使って動的に画面を再描画する仕組みを(①)という。Ajax
人が話す自然言語に対して、特定の目的のために人為的に作られた言語を(①)という。形式言語
プログラム言語の構文を定義する再帰的な記法のことを(①)という。BNF記法
文字列の集合の規則を表し、検索置換などでよく使われる記法を(①)という。正規表現
何らかの問題を有限の時間で解くための手順を(①)という。アルゴリズム
アルゴリズムにおいて、数値などのデータを格納する領域を(①)という。変数
記号を用いてアルゴリズムを図示する方法、またその図示したものを(①)という。フローチャート
アルゴリズムの制御構造の一つである選択には、二つの処理のうちいずれかを選択する(①)と、三つ以上の処理のうちいずれかを選択する(②)がある。双岐選択, 多岐選択
アルゴリズムの制御構造の一つである繰返しには、繰返し処理の前で終了条件の判定を行う(①)と、
繰返し処理の後で終了条件の判定を行う(②)がある。前判定繰返し, 後判定繰返し
プログラム全体を機能ごとに分割し、処理の制御構造としては順次・選択・繰返しだけを用いることを原則とするプログラミングの手法を(①)という。構造化プログラミング
データをどのような形式で格納するかを決めたものを(①)という。データ構造
要素番号を用いて扱うデータ構造を(①)という。配列
データを記録するデータ部とデータの格納位置を示すポインタ部で構成されるデータ構造を(①)という。連結リスト
連結リストで、次のデータへのポインタのみをもっているリストを(①)という。単方向リスト
連結リストで、次のデータへのポインタと前のデータへのポインタをもっているリストを(①)という。双方向リスト
連結リストで、最初のデータと最後のデータが連結されているリストを(①)という。環状リスト
先に格納したデータから先にデータを取り出すデータ構造を(①)という。キュー
先に入れたデータから先に取り出す手法を(①)という。FIFO
キューにデータを格納することを(①)、キューからデータを取り出すことを(②)という。エンキュー, デキュー
後に格納したデータから先に取り出すデータ構造を(①)という。スタック
後に入れたデータから先に取り出す手法を(①)という。LIFO
スタックにデータを格納することを(①)、スタックからデータを取り出すことを(②)という。プッシュ, ポップ
データを複数の階層に分け、階層の上位から下位に節点を辿ることでデータを取り出すデータ構造を(①)という。木構造
木構造において、各データのことを(①)という。
また、(①)でも特に最上位のものを(②)、最下位のものを(③)という。節, 根, 葉
木構造において、節と節を繋ぐ部分のことを(①)という。枝
木構造の各節どうしの関係で、上位の節を(①)、下位の節を(②)という。親, 子
木構造のある節において、それより下位に続く部分を(①)という。
(①)のうち、元の節より左側にあるものを(②)、右側にあるものを(③)という。部分木, 左部分木, 右部分木
全ての枝の分岐が二つ以下である木構造を(①)という。2分木
根から葉までの深さが全て等しい2分木を(①)という。完全2分木
全ての節で
(左部分木) < (親) < (右部分木)
の関係をもった2分木を(①)という。2分探索木
全ての節で
(親) < (子) または (親) > (子)
の関係をもった完全2分木を(①)という。ヒープ木
2分木を用いて、演算子を数値の後ろへ記述する表記法を(①)という。逆ポーランド表記法
ある規則に従ってデータを並べ替えることを(①)という。整列
隣り合うデータを比較し、大小の順が逆であればそれらの要素を入れ替えるという操作を繰り返す整列法を(①)という。基本交換法
データ列の最小値または最大値を選択して交換し、次にそれを除いた部分から最小値または最大値を選択して交換していく整列法を(①)という。基本選択法
既に整列済みのデータ列の正しい位置にデータを挿入していく整列法を(①)という。基本挿入法
ある一定間隔おきに取り出した要素内で基本挿入法を用いて整列させ、間隔を詰めながら、間隔が1になるまで繰り返していく整列法を(①)という。シェルソート
適当な基準値を定め、「基準値より小さい値」と「基準値より大きい値」のグループに分ける操作を繰り返していく整列法を(①)という。クイックソート
未整列の部分を順序木に構成し、その最大値または最小値を取り出す操作を繰り返す整列法を(①)という。ヒープソート
配列などを使って目的のデータを探し出すことを(①)という。探索
配列の先頭から順番に目的のデータを探索していく方法を(①)という。線形探索法
探索したい目的のデータを配列の最後尾に追加する探索法を(①)という。番兵法
探索範囲を半分に絞り込みながら目的のデータを探索する方法を(①)という。2分探索法
目的のデータの格納先のアドレスをハッシュ関数を用いて算出する探索法を(①)という。ハッシュ探索法
全ての事象が起こる確率が一定である確率分布を(①)という。一様分布
複数のデータの格納先につい、格納先のアドレスが衝突してしまうことを(①)という。シノニム
主記憶上のどのアドレスに配置しても実行できるというプログラムの性質を(①)という。再配置可能
同時に複数のタスクが共有して実行しても、正しい結果が得られるというプログラムの性質を(①)という。再入可能
一度実行した後、ロードし直さずに再び実行を繰り返しても正しい結果が得られるというプログラムの性質を(①)という。再使用可能
実行中に自分自身を呼び出せるというプログラムの性質を(①)という。再帰的
与えられた値をもとに定められた処理を実行して、その結果を返す機能をもったものを(①)という。関数
0と1だけで構成される機械語、またはそれに近いプログラム言語を(①)という。低水準言語
英語のような比較的人間の言葉に近いプログラム言語を(①)という。高水準言語
低水準言語の一つで、コンピュータが唯一理解できる1と0で構成される言語を(①)という。機械語
低水準言語の一つで、機械語である1と0を記号に置き換えた言語を(①)という。アセンブラ言語
高水準言語の一つで、初心者向けの会話型言語を(①)という。BASIC
高水準言語の一つで、事務処理計算に適した言語を(①)という。COBOL
高水準言語の一つで、システム記述に適した言語を(①)という。
また、(①)にオブジェクト指向の概念を取り入れた言語を(②)という。C言語, C++
高水準言語の一つで、オブジェクト指向型で様々なアプリケーションの開発に用いられる言語を(①)という。Java
高水準言語の一つで、オブジェクト指向型のスクリプト言語であり、AIや機械学習の開発などに用いられる言語を(①)という。Python
高水準言語の一つで、動的なWebページの作成に適したスクリプト言語を(①)という。JavaScript
人が理解できるプログラム言語で記述した原始プログラムを、コンピュータが理解できる機械語に翻訳するプログラムを(①)という。言語プロセッサ
高水準言語で書かれた原始プログラムを1命令ずつ解釈しながら実行する言語プロセッサを(①)という。インタプリタ
高水準言語で書かれた原始プログラムを、一括して目的プログラムに解釈する言語プロセッサを(①)という。コンパイラ
原始プログラムから目的プログラム(オブジェクトモジュール)を生成することを(①)という。コンパイル
複数の目的プログラムなどから、一つのロードモジュール(実行可能プログラム)を生成することを(①)という。
またこのとき使うプログラムを(②)という。リンク, リンカ
アプリケーションの実行中に、必要となったモジュールをOSによって連携する方式のことを(①)という。
それに対し、アプリケーションの実行に先立って、あらかじめ複数の目的プログラムをリンクしておく方式を(②)という。動的リンキング, 静的リンキング
実行に先立ってロードモジュールを主記憶に配置することを(①)という。
また、このときに使うプログラムを(②)という。ロード, ローダ
コンパイラが解釈できない高水準言語に付加的に定義された機能やプログラムをコンパイラの前処理で解釈できるように変換する言語プロセッサを(①)という。プリコンパイラ
実際に実行するコンピュータとは命令形式が異なるコンピュータで目的プログラムを作成する言語プロセッサを(①)という。クロスコンパイラ
入力・処理・出力などのパラメータを指定することで、自動的にプログラムを生成する言語プロセッサを(①)という。ジェネレータ
原始プログラムをある言語から別の言語に変換する言語プロセッサを(①)という。トランスレータ
他のコンピュータ用に開発されたプログラムを擬似的に実行する言語プロセッサを(①)という。エミュレータ
エディタやコンパイラ、デバッグツールなどのアプリケーション開発のためのソフトウェアや支援ツール類を統合したものを(①)という。統合開発環境
コンパイルやリンクをして実行可能プログラムを作成する一連の作業を(①)という。ビルド
分担して作成した原始プログラムを共有の保管場所二マージするたびにビルドやテストを繰り返すことを(①)という。継続的インテグレーション
実行可能プログラムを実行環境にインストールし、各種設定をして利用可能な状態にすることを(①)という。デプロイ
プログラムに潜んでいる誤りのことを(①)という。
また、(①)を発見して取り除くことを(②)という。バグ, デバッグ
ソフトウェアの統合開発環境としてOSSとして提供されている(①)は、Javaをはじめとした複数の言語に対応している。Eclipse
ビルドやテストを自動化するツールである(①)は、OSSとして提供されている。Jenkins
プログラムの命令の実行順序や実行結果などを時系列出力するデバッグツールを(①)という。トレーサ
プログラムの特定の命令を実行するごとに、指定されたメモリの内容を出力するデバッグツールを(②)という。スナップショットダンプ
プログラムの異常終了時に、主記憶やレジスタの内容を出力するデバッグツールを(①)という。メモリダンプ
プログラムを実行せずに、文法の誤りやルール違反、モジュールインターフェースなどを解析するツールを(①)という。静的解析ツール
<>で囲まれた識別子を用いて文章構造を表現する言語を(①)という。
また、このときの<>で囲まれた識別子を(②)という。マークアップ言語, タグ
文書の電子化を目的に開発されたマークアップ言語で、ISOの国際規格であるものは(①)である。SGML
Webページを作成するためのマークアップ言語は(①)である。
また、このときに使われる文字の大きさや文字の色、行間などの視覚表現は(②)を使って指定される。HTML, CSS
取引データの起票や、アプリケーション間でのデータ交換用など、様々な分野で応用されているマークアップ言語は(①)である。XML
JavaScriptがもつ非同期の通信機能と、XMLを使って動的に画面を再描画する仕組みを(①)という。Ajax
人が話す自然言語に対して、特定の目的のために人為的に作られた言語を(①)という。形式言語
プログラム言語の構文を定義する再帰的な記法のことを(①)という。BNF記法
文字列の集合の規則を表し、検索置換などでよく使われる記法を(①)という。正規表現