「みちともデジタル」は、ITパスポート試験の合格を目指す方を応援する無料学習サイトです。

アルゴリズムとプログラミング-予想問題-a

スポンサーリンク

アルゴ 予想1

プログラム言語におけるデータ型に関する記述のうち、適切なものはどれか。

 実数型は、有限長の2進数で表現され、数学での実数集合と一致する。
 整数型は、2の補数表示を使用すると8ビットでは-128~127が扱える。
 文字型は、英文字と数字の集合を定めたものである。
 論理型は、AND、OR、NOTの三つの値をもつ。
 

出典:応用情報 平成26年春午前 問7

正解の理由

データ型は、普段、人が使っているデータ(数字、文字など)をパソコンに記録できる値に変換する仕組みです。

2の補数表示は、負の数を2進法(2進数)で表す方法です。マイナスを使わずに負の数を表現します。

8ビットでは、2の補数表示を使うと最小は10000000(10進数で-128)です。

また、最大は01111111(10進数で127)です。

よって、 「整数型は、2の補数表示を使用すると、8ビットでは-128~127が扱えます。」は、適切です。

正解は  です。

不正解の理由

 「数学での実数集合」は、循環小数(3.33333・・・)なども含みます。有限長である実数型とは一致しません。

 文字型では、漢字も扱えます。「英文字と数字の集合を定めたものである。」は、不適切です。

 論理型は、「真(true)」「偽(false)」の値を持ちます。「AND、OR、NOTの三つの値をもつ。」は、不適切です。

(アルゴリズムとプログラミング 予想1)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

アルゴ 予想2

配列上に不規則に並んだ多数のデータの中から、特定のデータを探し出すのに適したアルゴリズムはどれか。

 2分探索法
 線形探索法
 ハッシュ法
 モンテカルロ法
 

出典:ソフトウェア開発 平成19年春午前 問13

正解の理由

線形探索法は、データ列の先頭から順番にキーと比較していく探索方法です。配列上に不規則に並んだ多数のデータの中から、特定のデータを探し出すのに適しています。

線形探索法の説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)

問題に「配列上に不規則に並んだ多数のデータの中から」とあるので、線形探索法が適しています。

よって、正解は  です。

不正解の理由

 2分探索法は、データをあらかじめ決められた順番(例えば、小さい順、大きい順、五十音順など)にならべておき、探索の対象を半分ずつ狭めながらキーと比較していく探索方法です。

2分探索法の説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)

 ハッシュ法は、レコードのキー値をレコードの格納アドレスとして直接アクセスする方法です。

 モンテカルロ法は、乱数を応用して、求める解や法則性の近似を得る手法です。

(アルゴリズムとプログラミング 予想2)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

アルゴ 予想3

顧客番号をキーとして顧客データを検索する場合、2分探索を使用するのが適しているものはどれか。

 顧客番号から求めたハッシュ値が指し示す位置に配置されているデータ構造
 顧客番号に関係なく、ランダムに配置されているデータ構造
 顧客番号の昇順に配置されているデータ構造
 顧客番号をセルに格納し、セルのアドレス順に配置されているデータ構造
 

出典:基本情報 平成29年春午前 問7

正解の理由

2分探索法は、データを決められた順番(例えば、小さい順、大きい順、五十音順など)で並べておき、探索対象を半分ずつに狭くしながらキーと比較して探索する方法です。

2分探索法の説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)

 「顧客番号の昇順に配置されているデータ構造」とあるので、2分探索法が適しています。

よって、正解は  です。

不正解の理由

 ”顧客番号から求めたハッシュ値が指し示す位置に配置されているデータ構造」の場合は、ハッシュ法が適しています。

 「顧客番号に関係なく、ランダムに配置されているデータ構造」の場合は、線形探索法が適しています。

線形探索法の説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)

 顧客番号の配置が「セルのアドレス順」なので、2分探索法は適していません。

(アルゴリズムとプログラミング 予想3)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

アルゴ 予想4

Java言語に関する記述として、適切なものはどれか。

 Webページを記述するためのマークアップ言語である。
 科学技術計算向けに開発された言語である。
 コンピュータの機種やOSに依存しないソフトウェアが開発できる、オブジェクト指向型の言語である。
 事務処理計算向けに開発された言語である。
 

出典:ITパスポート 平成22年秋 問54

正解の理由

Java(ジャバ)は、コンビュータの機種やOSに依存しないソフトウェアが開発できる、オブジェクト指向型の言語です。
(ITパスポート 平成22年秋 問54より)

Javaの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

 「コンピュータの機種やOSに依存しない」「オブジェクト指向型」とあるので、Java言語に関する記述です。

よって、正解は  です。

不正解の理由

 「Webページを記述するためのマークアップ言語」は、html(エイチティーエムエル、HyperText Markup Language)です。

 「科学技術計算向けに開発された言語」は、Fortran(フォートラン)です。

Fortrannの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

 「事務処理計算向けに開発された言語」は、COBOL(コボル)です。

(アルゴリズムとプログラミング 予想4)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

アルゴ 予想5

オブジェクト指向のプログラム言語であり、クラスや関数、条件文などのコードブロックの範囲はインデントの深さによって指定する仕様であるものはどれか。

 JavaScript
 Perl
 Python
 Ruby
 

出典:応用情報 令和2年秋午前 問7

正解の理由

Python(パイソン)は、アプリケーションの開発、人工知能、データ解析など幅広い分野で使用されている言語です。

「コードブロックの範囲を、インデントの深さによって指定する仕様」が特徴です

Pythonの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

よって、正解は  です。

不正解の理由

 JavaScript(ジャバスクリプト)は、ブラウザで動作する処理内容を記述するスクリプト言語です。オブジェクト指向ですが、コードブロックの範囲をインデントの深さによって指定する仕様でありません。

JavaScriptの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

 Perl(パール)は、かつて、Webアプリケーション開発によく利用されたインタプリンタ言語です。

 Ruby(ルビー)は、オブジェクト指向のスクリプト言語です。コードブロックの範囲をインデントの深さによって指定する仕様でありません。

(アルゴリズムとプログラミング 予想5)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

アルゴ 予想6

プログラム言語及び実行環境であって、オープンソースソフトウェアとして提供されているもので、次の特徴に最も当てはまるものはどれか。

[特徴]
・統計解析や機械学習の分野に適している。
・データ分析、グラフ描画などの、多数のソフトウェアパッケージが提供されている。
・変数自体には型がなく、変数に代入されるオブジェクトの型は実行時に決まる。

 JavaScript
 R
 Python
 C
 

出典:応用情報 令和3年春午前 問8 一部改変

正解の理由

オープンソースソフトウェア(OSS)は、ソフトウェアのソースコードがインターネット等を通じて無償で公開され、誰でも改良、再配布できるソフトウェアです。

R言語は、統計解析向けのプログラミング言語です。データの解析からグラフへの出力を行うことに優れ、人工知能(AI)領域においても注目されています。

R言語の説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

問題に統計解析や機械学習の分野に適している。」「データ分析、グラフ描画などの、多数のソフトウェアパッケージが提供されている。」とあるので、R言語が最も当てはまります。

よって、正解は  です。

不正解の理由

 JavaScriptは、ブラウザで動作する処理内容を記述するスクリプト言語です。
(ITパスポート 平成24年春 問67より)

スクリプト言語は、簡単に言うと、プログラムを書いて実行するのが比較的容易な言語のことです。

JavaScriptの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

 Pythonは、アプリケーションの開発、人工知能、データ解析など幅広い分野で使用されている言語です。

Pythonの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

 C言語は、UNIXを開発するために設計されたシステム記述向きのプログラミング言語です。

C言語の説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
(アルゴリズムとプログラミング 予想6)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

アルゴ 予想7

コーディング標準に関する記述のうち、適切なものはどれか。

 プログラマの個性を否定することが目的ではなく、コンパイラによる最適化の効果を得やすくすることが本来の目的である。
 プログラミングに関する規約を設けることによって、プログラマの犯しやすい誤りを未然に防止する効果がある。
 プログラム言語に依存しない共通事項についての規程を定めることが目的である。
 プログラムの標準的な実行時間を明確にし、効率の良いプログラムの作成を促進する効果がある。
 

出典:基本情報 平成20年春午前 問47 一部改変

正解の理由

コーディング標準は、ソフトウェア開発に関わるエンジニア、プログラマがコンピュータプログラムのソースコードを記述する際に求められる、コードの書き方や形式に関する決まりです。

可読性を高める(コードを読みやすくする)ことによって、次のことを実現しようとしています。
①一定の品質の担保
②保守性の向上
③生産性の向上

 「プログラマの犯しやすい誤りを未然に防止する効果がある。」は、「①一定の品質の担保」につながるので、コーディング標準に関する記述です。

よって、正解は  です。

(アルゴリズムとプログラミング 予想7)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

アルゴ 予想8

アプリケーションソフトウェアの開発環境上で、用意された部品やテンプレートをGUIによる操作で組み合わせたり、必要に応じて一部の処理のソースコードを記述したりして、ソフトウェアを開発する手法はどれか。

 継続的インテグレーション
 ノーコード開発
 プロトタイピング
 ローコード開発
 

出典:応用情報 令和5年秋午前 問47

正解の理由

ローコード開発とは、従来よりも少ないコード作成量で、アプリケーションやシステムを開発できるツール・手法です。コードの記述が可能なため、汎用性や拡張性があります。

問題に、「必要に応じて一部の処理のソースコードを記述したりして、ソフトウェアを開発する手法」とあるので、ローコード開発が適切です。

よって、正解は  です。

(アルゴリズムとプログラミング 予想8)
新出用語順(分野別)
Ver.6.0Ver.6.0
問題一覧に戻る

コメント

タイトルとURLをコピーしました