約一か月で独学で基本情報技術者試験に合格!!!・・・するお話。【1日目】part2

今から復習の時間。

 

平成31年春季試験の午前試験80問の中から自分の正誤に関わらず、

完璧に分かった問題以外の全てを振り返っていこうと思う。

 

これは自分用なので見る人は自分しかいない気がする・・・

 

効率化のため、

計算的要因

知識的要因

両方

で色分け。

選択肢を記すときは

上から

の順で選択肢を記す。

解説は下線で記す。解説や画像は主に過去問道場から。

 

問1

10進数の演算式7÷32の結果を2進数で表したものはどれか。

 

32が2の5乗なのはすぐに分かったが、そこから上手く考えを進められなかった。

結局32と7を2進数に直して、普通に割り算のひっ算で解いたが、まさかの小数点ミス。

最速の解答は、32は2の5乗なので2進数表記の7を右に5つシフトするだけ。

10進数の63÷100=0.63と同じ考え方と言えば分かりやすいかな。

 

 

問2

最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。
ア 16進数0FとのANDをとる。

イ 16進数0FとのORをとる。

ウ 16進数7FとのANDをとる。

エ 16進数FFとのXOR(排他的論理和)をとる。

 

全く、意味が分からなかった。パリティビットは誤り検出用データというのはどこかで聞いたことがあるようなないような・・・

ただ、ここでは関係ない。

よく考えれば解ける問題だったと思う。要は

?×1=1なら?=1、

?×1=0なら?=0という話。

 

問5

2分探索木として適切なものはどれか。

 

2分探索木とは、

その節(ノード)から出る左部分木にあるどのデータよりも大きく、右部分木のどのデータよりも小さい

という条件を満たす。

つまり、

 左部分木の値<ノードの値<右部分木の値

これを覚えておこう。

 

問6

三つのスタックA,B,Cのいずれの初期状態も[1,2,3]であるとき,再帰的に定義された関数f()を呼び出して終了した後のBの状態はどれか。ここで,スタックが,[a1 a2,…,an-1]の状態のときにanをpushした後のスタックの状態は[a1 a2,…,an-1,an]で表す。

 

時間をかけて何とか解けたけど、重要なのは

キュー:FIFO

スタック:FILO

ということ。

FIFO:First in First Out

つまりお化け屋敷と同じ。

最初に入った人が最初に出ていく。

FILO:First in Last Out 

つまり小・中学校の学年集会と同じ。

1組は最初に入場して最後に退場。我ながら良い例

 

問8

複数のプロセスから同時に呼び出されたときに,互いに干渉することなく並行して動作することができるプログラムの性質を表すものはどれか。

リエントラント
リカーシブ
リユーザブル
リロケータブル

リユーサブルはスペルから推測できるが、それ以外分からなかった。とりあえず単語の意味を調べる。

リエントラント(再入可能)は、同時に複数のタスクが共有して実行しても、正しい結果が得られるプログラムの性質。

reentrant

re もういっかい

entrant 玄関→入る

 

リカーシブ(再帰)は、実行中に自分自身を呼び出すことをいい、再帰呼出しを行っても正しい結果を返すことができるプログラムの性質。

recursive

re もういっかい

cursive  続け書き→続ける

 

リユーザブル(逐次再使用可能)は、一度実行した後,ロードし直さずに再び実行を繰り返しても、正しい結果が得られるプログラムの性質

省略

 

リロケータブル(再配置可能)は、主記憶上のどこのアドレスに配置しても、正しく実行することができるプログラムの性質。

relocatble

re もういっかい

locate  配置する

able  可能

 

こうやって考えるとcursive以外の単語は知ってるから、cursiveだけ覚えておけば大丈夫。

 

問9

外部割込みの原因となるものはどれか。

ゼロによる除算命令の実行
存在しない命令コードの実行
タイマによる時間経過の通知
ページフォールトの発生

 

外部っぽいウとエで迷い、間違えた。

内部割込み
実行中のプログラムが原因で起こる割込み。


外部割込み

それ以外。

 

タイマ割込み

マルチタスクの制御などを行うときに、プログラムに割り当てられた所定時間が経過したことを通知する仕組みで外部割込みに分類。

情報登録とかで長時間サイトを開きっぱなしで操作しなかったら出る通知みたいなやつのこと?

 ページフォールト

プログラムが主記憶上に存在しないデータにアクセスしようとしたときに発生する内部割込み

 

 

問10

A~Dを,主記憶の実効アクセス時間が短い順に並べたものはどれか。

表省略

 

ここまでで一番謎な問題。分からなすぎた。

 

キャッシュメモリと主記憶が存在するとき、実際の1アクセスに要する平均時間を実効アクセス時間という。

実効アクセス時間
 (キャッシュメモリアクセス時間×ヒット率)+主記憶のアクセス時間×(1-ヒット率)

 

つまりキャッシュメモリにデータの一部があれば読み取り、残りは主記憶から引っ張ってくるということか。

 

 

問11

96dpiのディスプレイに12ポイントの文字をビットマップで表示したい。正方フォントの縦は何ドットになるか。ここで,1ポイントは1/72インチとする。

 

なぜか計算が合わず、この時は時間が余るということを知らなかったので、適当に答えてしまった。

 

問12

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


高温の印字ヘッドのピンを感熱紙に押し付けることによって印刷を行う。


コンピュータグラフィックスを建物,家具など凹凸のある立体物に投影する。


熱溶解積層方式などによって,立体物を造形する。


立体物の形状を感知して,3Dデータとして出力する。

 

ウとエでめちゃ迷った。笑

 

そしたら、まさかの3Dプリンタと3D スキャナを使い分ける模様。

 

問13

冗長構成におけるデュアルシステムの説明として,適切なものはどれか。


2系統のシステムで並列処理をすることによって性能を上げる方式である。

2系統のシステムの負荷が均等になるように,処理を分散する方式である。

現用系と待機系の2系統のシステムで構成され,現用系に障害が生じたときに,待機系が処理を受け継ぐ方式である。


一つの処理を2系統のシステムで独立に行い,結果を照合する方式である。

 

 これも全く分からないやつ。

 

デュアルシステムとは、信頼化設計の1つで、同じ処理を2組のコンピュータシステムで行い、その結果を照合機でチェックしながら処理を進行していくシステム構成です。一方の系統に障害が発生した場合には、問題のある側のシステムをメイン処理から切り離し、残された側のシステムのみで処理を続行しつつ、障害からの回復を図ります。

「結果の照合」という語句がデュアルシステムのキーワードになります

 

へーなるほど。

普段は、同じ処理を2つのコンピュータで行い、非効率だから

冗長構成なのかな。

ちなみにウはデュプレックスシステムの説明。

 

問15

アプリケーションの変更をしていないにもかかわらず,サーバのデータベース応答性能が悪化してきたので,表のような想定原因と,特定するための調査項目を検討した。調査項目cとして,適切なものはどれか。

 

f:id:Tottotto:20190823145102g:plain

遅い処理の特定

外的要因の変化の確認

キャッシュメモリのヒット率の調査

データの格納状況の確認

 

フラグメンテーションはたまたま大学の授業で聞いたことがあったのでこれが答で助かった。

 

フラグメンテーションは、主記憶やハードディスクのような記憶装置において不連続な未使用領域が生じる現象、またはその生じた領域のことです。

 

アがa、イがb、なのは正直よく分からない。

 

問16

タスクのディスパッチの説明として,適切なものはどれか。


各タスクの実行順序を決定すること

実行可能なタスクに対してプロセッサの使用権を割り当てること

タスクの実行に必要な情報であるコンテキストのこと

一つのプロセッサで複数のタスクを同時に実行しているかのように見せかけた状態のこと

 

ディスパッチでなんだよ!って心の中で叫びたくなった。

 

ディスパッチとは、OSによるタスク管理の制御機能の1つで、実行可能状態のタスクの中から優先度順などによって次に実行すべきタスクを選択して、CPUの使用権を割り当てることです。ディスパッチを行うプログラムをディスパッチャ(Dispatcher)と呼びます

dispatch 発送する、派遣する。→割り当てる

 

また覚えるべき英単語が増えてしまった件について。

 

ウはタスクの内部状態、置かれた状況、タスクID及び優先度などを保持するTCB(Task Control Block,タスク制御ブロック)

 

こういう略語が大量発生してどうしようもなくなりそう。

 


エはマルチタスクの説明です

f:id:Tottotto:20190823150852g:plain

問18

 

データ検索時に使用される,理想的なハッシュ法の説明として,適切なものはどれか。


キーワード検索のヒット率を高めることを目的に作成した,一種の同義語・類義語リストを用いることによって,検索漏れを防ぐ技術である。

蓄積されている膨大なデータを検索し,経営やマーケティングにとって必要な傾向,相関関係,パターンなどを導き出すための技術や手法である。

データとそれに対する処理を組み合わせたオブジェクトに,認識や判断の機能を加え,利用者の検索要求に対して,その意図を判断する高度な検索技術である。

データを特定のアルゴリズムによって変換した値を格納アドレスとして用いる,高速でスケーラビリティの高いデータ検索技術である。

 

何かハッシュってあったなーって思ったやつ。

 

ハッシュ法は、ハッシュ関数を用いて、データやデータのキーの値からデータの格納位置を直接計算する方法です。線形探索法や2分探索法とは異なり、常に一定の時間(探索回数1回)で目的のデータを探索することができます。

 

ア シソーラスの説明

イ データマイニングの説明

ウ セマンティック検索の説明

 

これって日本語?

 

 

ちょっと待って。

 

復習に時間がかかりすぎてやばいんですけど・・・

 

2時間は余裕で経ってるよ。

 

これはやり方が良くないのか・・・

 

三日坊主にもなれなそう・・・

 

問21

 

メモリセルにフリップフロップ回路を利用したものはどれか。

DRAM 
EEPROM 
SDRAM
SRAM

 

フリップフロップ回路は、2つの安定状態をもつことで1ビットの状態を表現することが可能な順序回路で、キャッシュメモリを構成するSRAMの記憶セルに使用されています。DRAMと比較してリフレッシュ動作が不要、消費電力が少ないなどの理由で読み書きを高速化しやすい長所があります。

 

DRAMはダイナミックなのに主記憶装置。SRAMはスタティックなのにキャッシュメモリだと・・・

キャッシュメモリの方がリフレッシュ必要な気がするのになー。

 

問23

 

データセンタなどで採用されているサーバ,ネットワーク機器に対する直流給電の利点として,適切なものはどれか。
交流から直流への変換,直流から交流への変換で生じる電力損失を低減できる。

受電設備からCPUなどのLSIまで,同じ電圧のまま給電できる。

停電の危険がないので,電源バックアップ用のバッテリを不要にできる。

トランスを用いて容易に昇圧,降圧ができる。

 

え、交流使われてないん!?って思ったら解説を見て納得。

 

直流給電とは、屋内配線を直流化し、電気製品への電源供給を直流で行うことです。

サーバやネットワーク機器などのコンピュータをはじめ、家庭内のほとんどの電気製品は直流電源で動作しています。一方、家庭やオフィスでは交流電源が供給されています。電気機器は、内部のインバータで交流を直流に変換するのですが、この変換効率は80%程度しかありません。そのまま直流で給電できれば、変換による電力の損失を低減できます。

データセンタでは大量の電力を必要とする上、電源の瞬断に備えてUPSが設置されています。UPSは直流で蓄電するので交流と直流の変換回数はさらに多くなります。データセンタが直流給電を採用するのには、無駄な電力ロスを抑える目的があります

 

問24

GUIの部品の一つであるラジオボタンの用途として,適切なものはどれか。

 

幾つかの項目について,それぞれの項目を選択するかどうかを指定する。

幾つかの選択項目から一つを選ぶときに,選択項目にないものはテキストボックスに入力する。

互いに排他的な幾つかの選択項目から一つを選ぶ。

特定の項目を選択することによって表示される一覧形式の項目の中から一つを選ぶ。

 

ラジオボタンとは一体・・・?

 

f:id:Tottotto:20190823154339g:plain

これだそうです。

そのほかにもこんなにたくさん。

 

f:id:Tottotto:20190823154243g:plain

もういやになった。

 

 

問26

関係モデルの属性に関する説明のうち,適切なものはどれか。


関係内の属性の定義域は重複してはならない。

関係内の属性の並び順に意味はなく,順番を入れ替えても同じ関係である。

関係内の二つ以上の属性に,同じ名前を付けることができる。

名前をもたない属性を定義することができる。

 

何をおっしゃってるのかよく分かりません。

 

関係データベースにおいて、関係は表、属性は列(又はカラム)、組(又はタプル)は行(又はレコード)に対応します。

属性の並びに意味はありません。また組の並びにも意味はありません。属性・組ともに、並び順が変わっても関係が変わるわけではありません。

属性につける名前は、関係内で一意でなければなりません。

属性には必ず属性名を付けなければなりません。

属性は覚えられません。

 

問27

"中間テスト"表からクラスごと,教科ごとの平均点を求め,クラス名,教科名の昇順に表示するSQL文中のaに入れる字句はどれか。

 中間テスト(クラス名,教科名,学生番号,名前,点数)

SQL文〕
SELECT クラス名,教科名,AVG(点数) AS 平均点
  FROM 中間テスト
  a

 

 SQLって何それおいしいの?

 

クラスごと、教科ごとの平均点を求めるので、
GROUP BY クラス名,教科名
でグループ化します。さらに表示はクラス名、教科名の昇順に行うので、
ORDER BY クラス名,教科名
というように整列優先順位の高い属性順に指定します

f:id:Tottotto:20190823155457g:plain

もうメンタルが鬱に・・・(日本語崩壊)

 

問28

省略

関係データベースの理論である関係モデルでは、表を集合演算及び関係演算によって操作します。関係演算には、結合、射影、選択、商があり、それぞれ以下の操作を行うものです("併合"という演算は存在しません)。
結合
複数の表を共通する属性で結合して1つの表にする操作
射影
表から指定された列を抽出する操作
選択
表から指定された行を抽出する操作

表Rのうち表Sの全ての項目を含む行の集合を返す演算

 

選択と射影似すぎだろ!!

戦車(選射)の行列

の順で覚えておこ。

 

問29

"学生"表と"学部"表に対して次のSQL文を実行した結果として,正しいものはどれか。

f:id:Tottotto:20190823161003g:plain

SQL文〕
SELECT 氏名 FROM 学生, 学部
  WHERE 所属 = 学部名 AND 学部.住所 = '新宿'

 

SQL文で2問も出るとは・・・

SQLから逃れられないのか。

 

 

 

 

 

問30

 
ビッグデータの処理で使われるキーバリューストアの説明として,適切なものはどれか。
  • "ノード","リレーションシップ","プロパティ"の3要素によってノード間の関係性を表現する。
  • 1件分のデータを"ドキュメント"と呼び,個々のドキュメントのデータ構造は自由であって,データを追加する都度変えることができる。
  • 集合論に基づいて,行と列から成る2次元の表で表現する。
  • 任意の保存したいデータと,そのデータを一意に識別できる値を組みとして保存する。

え。こうやって持ってこれたんかい!

今までの労力とは一体・・・

 

答は分かっても別の選択肢に気になることがあったら、

やっぱり復習は必要になるよね。

あー大変すぎる・・・

 

解説

キーバリューストア(KVS)は、NoSQLで用いられてるデータ型の1つです。プログラミングで使用される連想配列のように、1つのキーに1つの値を結びつけてデータを格納します。構造が単純な分、スケーラビリティや処理速度に優れるためビッグデータの処理に使われています。

30.gif/image-size:161×152

NoSQLで用いられる他の主要なデータ型についても簡単にまとめておきます。

カラム指向
行キーに対してカラム(名前と値の組み合わせ)を結びつけて格納する
ドキュメント指向
XMLJSONなどの構造でデータを格納する
グラフ指向
グラフ理論に基づいてデータ間の関係性を表現する
  • "ノード","リレーションシップ","プロパティ"の3要素によってノード間の関係性を表現する。
    グラフ型データベースの説明です。
  • 1件分のデータを"ドキュメント"と呼び,個々のドキュメントのデータ構造は自由であって,データを追加する都度変えることができる。
    ドキュメント指向データベースの説明です。
  • 集合論に基づいて,行と列から成る2次元の表で表現する。
    関係データベースの説明です。
  • 任意の保存したいデータと,そのデータを一意に識別できる値を組みとして保存する。
    正しい。キーバリューストア型は、キーと値の組を単位としてデータを格納するデータベースです。

 

問31

 
OSI基本参照モデルトランスポート層以上が異なるLANシステム相互間でプロトコル変換を行う機器はどれか。

 

 

有名なOSI基本参照モデル系統の問題。これはしっかり取りたい。

 

問32

192.168.0.0/23(サブネットマスク255.255.254.0)のIPv4ネットワークにおいて,ホストとして使用できるアドレスの個数の上限はどれか。

 

IPアドレスという、なじみのある言葉だが

実態は知らないというパターンのやつ。

 

設問のIPアドレス"192.168.0.0"の後方に付加されている"/23"はアドレスプレフィックスといい、先頭から何ビットまでがネットワークアドレスであるかを示す表記法です。

Ipv4アドレスは32ビットであり、"/23"は先頭から23ビット目までがネットワークアドレスであることを表しているので、ホストアドレスに割り当てられるのは残る9ビットになります。

32.gif/image-size:476×91

9ビットで表現できるビット列は「29=512種類」ありますが、全てが0の"000000000"と全てが1の"111111111"は、それぞれネットワークアドレス、ブロードキャストアドレスとして予約されているためホストアドレスとして割り当てることはできません。

したがって、ホストに割当て可能なアドレス数の上限は(512-2=)510個になります。

 

問33

トランスポート層プロトコルであり,信頼性よりもリアルタイム性が重視される場合に用いられるものはどれか。

HTTP
IP
TCP
UDP

 

一番嫌いな問題。これを覚えるのは大変。

 

 

UDP(User Datagram Protocol)は、TCP/IPの通信処理で使われる伝送制御プロトコルのひとつでTCPと同じトランスポート層に位置します。
TCPでは信頼性を担保するために、コネクション確立、再送処理、輻輳処理などの様々な仕組みが取り入れられていますが、その分だけ通信のオーバヘッドは増加してしまいます。UDPは、TCPから信頼性確保を取り除いたコネクションレス型の通信を実現するプロトコルです。ヘッダ構成もTCPと比べて簡素化されデータ比率が高められるようになっています。UDPは、リアルタイム性が重視される音声や画像のストリーム配信、および、DNSDHCP、NTPなどのアプリケーション層プロトコルで用いられています。

  • TCP…信頼性重視
  • UDP…通信効率、リアルタイム性重視

したがって「エ」が正解です。

33.gif/image-size:399×279
 
この図のやつ覚えろと?笑
 
 
ここまでやった結果、
 
 
この方法は効率が悪いと分かった。もっと早く気づけよ