基本情報技術者試験に挑戦しよう!「基数変換」

IT ITの基礎

現代はIT社会といえるでしょう。私たちは、パソコン、スマホ、インターネットなどの様々な情報技術の進化の恩恵を受けて生活しています。そんな中、ただこれらのIT機器を利用するだけでなく、ITの仕組みを学びながらIT資格を目指すのはいかがでしょうか。

目指す資格は、「基本情報技術者試験」です。

基本情報技術者試験とは

基本情報技術者試験は、独立行政法人情報処理推進機構(IPA)が実施し、「情報処理の促進に関する法律」に基づき経済産業省が認定する国家試験です。

ITエンジニアとしてキャリアをスタートする方のIT基礎力を問う試験で、「ITエンジニアの登竜門」とも呼ばれます。

「基本情報技術者試験」の試験範囲は、IPAのWebサイトに掲載されているシラバスに明記されています。

試験は、「科目A」で、知識を問う小問題と、「科目B」で、技能を問う小問題に分けて行われます。
試験は、CBT(Computer Based Testing)方式によって行われます。

そして、科目Aと科目Bの両科目で合格点を取らなければ、基本情報技術者試験の合格とはなりません。

まずは、「科目A」について、学んでいきましょう。

問題については、IPAが公開している「サンプル問題」を利用します。
この問題の取り扱いは、下記IPAが定める指針に基づいて使用します。

本サンプル問題の使用に関し、使用許諾や使用料は必要ありません。(ダウンロードでのご利用も特に問題ございません。)
ただし、以下の留意点を確認の上、ご使用ください。

サンプル問題に関する留意点

  • 著作権は放棄していません。教育目的など、情報処理技術者試験制度の意義に反しない限り、問題集やテキストに使用される際、使用許諾および使用料の必要はありません。
  • 出典を以下のように明記してください。
    [例]
    「出典:情報セキュリティマネジメント試験 サンプル問題セット」
    「出典:基本情報技術者試験 科目B試験サンプル問題」
  • 公表しているPDF以外の電子データの提供はできません。また、PDFセキュリティの解除方法は提供できません。
IPAのWebサイト

それでは、基本情報技術者試験(科目A)のサンプル問題にチャレンジしてみましょう。

科目A試験サンプル問題 「基数変換」

問2 次の流れ図は,10進整数j(0 < j < 100)を8桁の2進数に変換する処理を表している。2進数は下位桁から順に,配列の要素NISHIN (1) からNISHIN (8) に格納される。流れ図のa及びbに入れる処理はどれか。ここで,j div 2は jを2で割った商の整数部分を,j mod 2は jを2で割った余りを表す。

出典:基本情報技術者試験 科目A試験サンプル問題

正解:4

それでは、問題を検討していこう。

10進数をK進数に変換するには、Kで割り余りを下から書き並べる方法があります。
(例)10進数の57を2進数に直す。

この方法をj=57として、

問題文にあてはめてみると、57 mod 2 の結果1は、最下位桁として配列NISHIN (1)に格納されます。
また、57 div 2の結果の28は、次の計算に使われます。

したがって、aには、「NISHIN (k) ← j mod 2」が、bには、「j ← j div 2」が入ります。

実際に確認しておきましょう

[a] 57 mod 2 = 1 → NISHIN(1)
[b] 57 div 2 = 28 → j
[a] 28 mod 2 = 0 → NISHIN(2)
[b] 28 div 2 = 14 → j
[a] 14 mod 2 = 0 → NISHIN(3)
[b] 14 div 2 = 7 → j
[a] 7 mod 2 = 1 → NISHIN(4)
[b] 7 div 2 = 3 → j
[a] 3 mod 2 = 1 → NISHIN(5)
[b] 3 div 2 = 1 → j
[a] 1 mod 2 = → NISHIN(6)
[b] 1 div 2 = 0 → j
[a] 0 mod 2 = 0 → NISHIN(7)
[b] 0 div 2 = 0 → j
[a] 0 mod 2 = 0 → NISHIN(8)
[b] 0 div 2 = 0 → j

本問では、配列に順に、0011 1001 が格納される。

コメント

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