見出し画像

IT-31-基本情報技術者試験勉強-

問16

インタプリタの説明として,適切なものはどれか。

  • ア原始プログラムを,解釈しながら実行するプログラムである。

  • イ原始プログラムを,推論しながら翻訳するプログラムである。

  • ウ原始プログラムを,目的プログラムに翻訳するプログラムである。

  • エ実行可能なプログラムを,主記憶装置にロードするプログラムである

-解説

インタプリタ(Interpreter)は、
高水準言語で記述されたプログラムのソースコードを、
実行時に1命令ずつ解釈しながら実行するソフトウェアです。

Interpretには「解釈する」という意味があります。
これに対して
あらかじめソースコードを機械語などに一括して翻訳するソフトウェアを
コンパイラ(Compiler)といいます。

インタプリタ方式は、
ソースコードの解釈と実行を交互に行いながら実行するので、
コンパイラ方式と比較してプログラムの実行速度が遅くなる傾向にあり、
プログラム中にバグがあった場合にはその箇所で実行が停止してしまう。

しかし、開発時にプログラム作成とテストの繰り返しを容易に行うことのできるメリットがあります。

JavaScript、PHP、Pythonなどのプログラム言語がインタプリタ方式を採用しています。

  • 原始プログラムを,解釈しながら実行するプログラムである。
    正しい

  • 原始プログラムを,推論しながら翻訳するプログラムである。
    トランスレータの説明です。

  • 原始プログラムを,目的プログラムに翻訳するプログラムである。
    コンパイラの説明です。

  • 実行可能なプログラムを,主記憶装置にロードするプログラムである。
    ローダの説明です。


問17

三つの媒体A~Cに次の条件でファイル領域を割り当てた場合,割り当てた領域の総量が大きい順に媒体を並べたものはどれか。

〔条件〕

  • ファイル領域を割り当てる際の媒体選択アルゴリズムとして,     空き領域が最大の媒体を選択する方式を採用する。

  • 割当て要求されるファイル領域の大きさは,             順に90,30,40,40,70,30(Mバイト)であり,          割当てられたファイル領域は,途中で解放されない。

  • 各媒体は容量が同一であり,                    割当て要求に対して十分な大きさをもち,初めは全て空きの状態である。

  • 空き領域の大きさが等しい場合には,A,B,Cの順に選択する。

  • アA,B,C

  • イA,C,B

  • ウB,A,C

  • エC,B,A

-解説

条件(1)~(4)を総合して考えると、
割当て時点において使用量が最も少ない媒体にファイルを割り当てていけばよいことがわかる。

ファイルがどの媒体に割り当てられていくかを1つずつ順番に検討します。90 
空き領域がすべて同じなので、Aに割り当てます。
A(90), B(0), C(0)

30
BとCで空き領域が同じなので、Bに割り当てます。
A(90), B(30), C(0)

40
まだ使用していないCに割り当てます。
A(90), B(30), C(40)

40
使用量が最も少ないBに割り当てます。
A(90), B(30・40), C(40)

70
使用量が最も少ないCに割り当てます。
A(90), B(30・40), C(40・70)

30
使用量が最も少ないBに割り当てます。
A(90), B(30・40・30), C(40・70)

以上、ここまでに割り当てられたファイルの容量の総量は、
A=90、B=100、C=110なので、
これを多い順番に並べると「C,B,A」になります。


問18

ファイルシステムの絶対パス名を説明したものはどれか。

  • ア あるディレクトリから対象ファイルに至る幾つかのパス名のうち,最短のパス名

  • イ カレントディレクトリから対象ファイルに至るパス名

  • ウ ホームディレクトリから対象ファイルに至るパス名

  • エ ルートディレクトリから対象ファイルに至るパス名

-解説

パス名とは、
ファイルシステム内のディレクトリやファイルの位置を示すものです。

パスを指定する方法には「絶対パス」「相対パス」の二つがあります。

絶対パス・・階層の最上位であるルートディレクトリを基点として、目的のファイルやディレクトリまでの全ての経路をディレクトリ構造に従って示す方法

相対パス・・現在作業を行っているカレントディレクトリを基点として、
目的のファイルやディレクトリまでの全ての経路をディレクトリ構造に従って示す方法仮に下図のようなディレクトリ構造になっているとして、
カレントディレクトリ(現在作業中のディレクトリ)が*のとき、
矢印(←)のディレクトリを指定するには、
絶対パスだと「\B\A」、
相対パスだと「..\..\B\A」と指定することになります。


したがって適切な説明は「エ」です。

  • あるディレクトリから対象ファイルに至る幾つかのパス名のうち,最短のパス名
    あるディレクトリから別のディレクトリに至るパスは一つしかないので、最長・最短のパス名という概念は存在しません。

  • カレントディレクトリから対象ファイルに至るパス名
    相対パスの説明です。

  • ホームディレクトリから対象ファイルに至るパス名
    絶対パスの基点となるのはホームディレクトリではなく、ルートディレクトリです。なお、Linuxではホームディレクトリをチルダ(~)で表し、そこからの相対パスを指定する方法があります。

  • ルートディレクトリから対象ファイルに至るパス名
    正しい。絶対パスの説明です。


問19

DRAMの特徴はどれか。

  • ア 書き込み及び消去を一括又はブロック単位で行う。

  • イ データを保持するためのリフレッシュ操作又はアクセス操作が不要である。

  • ウ 電源が遮断された状態でも,記憶した情報を保持することができる。

  • エ メモリセル構造が単純なので高集積化することができ,ビット単価を安くできる。

-解説

DRAM(Dynamic Random Access Memory)は、
コンデンサに電荷を蓄えることにより情報を記憶し、
電源供給が無くなると記憶情報も失われる揮発性メモリです。
集積度を上げることが比較的簡単にできるためコンピュータの
主記憶装置として使用されています。


  • 書込み及び消去を一括又はブロック単位で行う。
    DRAMはアドレス単位で読書きや消去を行います。

  • データを保持するためのリフレッシュ操作又はアクセス操作が不要である。SRAM(Static Random Access Memory)の説明です。DRAMでは消えかけた電荷をコンデンサに充電するリフレッシュ動作を常に一定間隔で行うことでデータの保持をしています。

  • 電源が遮断された状態でも,記憶した情報を保持することができる。
    DRAMは揮発性メモリなので電源が途絶えると記憶内容も失われます。

  • メモリセル構造が単純なので高集積化することができ,ビット単価を安くできる。
    正しい。DRAMの説明です。


問20

次のような注文データが入力されたとき,
注文日が入力日以前の営業日かどうかを検査するチェックはどれか。

  • ア シーケンスチェック

  • イ 重複チェック

  • ウ フォーマットチェック

  • エ 論理チェック

-解説

注文データは注文が決まった後に入力されるはずですから、
注文日がデータ入力日よりも後の日付になることはありません。
同様に、貸出日が返却日より後の日付だったり、
仕入数よりも販売数が多くなったりすることは起こり得ません。
もし違っていれば入力されたデータが誤っているということです。

論理チェックは、このように複数の項目の関連から入力されたデータが論理的に矛盾していないかどうかを検証するものです。

  • シーケンスチェック
    シーケンスチェックは、入力データが定められた「順番」に並んでいるかどうかを検証するものです。

  • 重複チェック
    重複チェックは、入力データと同じデータが既に入力済みではないか(一意であるか)を検証するものです。

  • フォーマットチェック
    フォーマットチェックは、入力データの桁数や文字種などの書式や形式が定められた基準に従っているかを検証するものです。

  • 論理チェック
    正しい。論理チェックは、関連のある項目の値に論旨的矛盾がないかどうかをチェックするものです。


問21

RDBMSにおけるビューに関する記述のうち,適切なものはどれか。

  • ア ビューとは,名前を付けた導出表のことである。

  • イ ビューに対して,ビューを定義することはできない。

  • ウ ビューの定義を行ってから,必要があれば,その基底表を定義する。

  • エ ビューは一つの基底表に対して一つだけ定義できる。

-解説

ビューは、1つ以上の基礎となる表(基底表:DBに実データを持つ表)や他のビューから、何らかの関係演算によって得られた結果
(導出表)に名前を付けたものです。
仮想的な表なので実表とは異なり実際のデータは持っていません。
ビューを作成するには、SQLの CREATE VIEW 文を使用します。

  • ビューとは,名前を付けた導出表のことである。正しい。       ビューは関係演算によって得られた導出表に名前を付け、簡単に呼び出せるようにしたものです。

  • ビューをもとにしたビューを定義することも可能です。

  • 記述は逆で、基底表を定義してからビューを定義するという順序です。 ビューのデータは基底表のデータに依存するので、基底表が定義されていない状態ではビューを作成することはできません。

  • 1つの基底表をもとにした複数のビューを定義することも可能です。


問22

UMLを用いて表した図の概念データモデルの解釈として,
適切なものはどれか。

  • ア 従業員の総数と部署の総数は一致する。

  • イ 従業員は,同時に複数の部署に所属してもよい。

  • ウ 従業員が所属していない部署の存在は許されない。

  • エ どの部署にも所属していない従業員が存在してもよい。

-解説

UMLは、オブジェクト指向の開発においてソフトウェア設計を図示するための表記法。

UMLのクラス図における多重度の記法は次のようになっています。
多重度とは関連するクラス同士において、
一方のクラスのインスタンスに
もう一方のクラスのインスタンスが対応する数を表します。

設問の図で言えば、
部署側に付いている「1..*」が従業員から見た部署の多重度、
従業員側に付いている「0..*」が部署から見た従業員の多重度
を意味しています。

設問のUMLからは次の2つの関連がわかります。

部署から見た従業員は0以上
  部署には従業員が0人以上所属する

従業員から見た部署は1以上
  従業員は1つ以上の部署に所属する

これを踏まえて各選択肢の記述の正誤を判断します。

  • 従業員の総数と部署の総数は一致する。
    1つの部署には0人以上の従業員が所属可能ですし、1人の従業員が複数の部署に所属することも可能です。総数が一致しなければならないとする制約も記述されていませんので、一致するとは限りません。

  • 従業員は,同時に複数の部署に所属してもよい。
    正しい。従業員から見た部署の多重度は1以上なので、1人の従業員が複数の部署に所属できます。

  • 従業員が所属していない部署の存在は許されない。
    部署から見た従業員の多重度は0以上なので、所属する従業員が0人の部署の存在も許されます。

  • どの部署にも所属していない従業員が存在してもよい。
    従業員から見た部署の多重度は1以上なので、従業員は少なくとも1つの部署に所属しなければなりません。



少しずつですが、投稿をしております。 noteで誰かのためになる記事を書いています。 よろしくおねがいします。