仮の宿 学習室

ITパスポート IT PASSPORT

基礎理論

講義 5 本・確認問題 45 問 | 本試験では「テクノロジ系」(45問)の一部 | 最終更新 2026-09-24

この章で学ぶこと
目次
  1. 離散数学 ― 2進数・16進数と論理演算
  2. 応用数学 ― 確率・統計と単位
  3. 情報に関する理論 ― 文字コードとデジタル化
  4. AIと機械学習の基礎
  5. アルゴリズムとプログラミング
  6. 確認問題(45問)
  7. 演習ツール

1. 離散数学 ― 2進数・16進数と論理演算

コンピュータが数や文字を0と1だけで扱う仕組みと、AND・OR・NOTなどの論理演算の考え方が分かります。

私たちが普段使う数は0から9までの10種類の数字を使う10進数です。これに対しコンピュータは、電気が「流れている/流れていない」という2つの状態しか区別できないため、0と1の2種類だけを使う2進数で情報を扱います。2進数の1桁分の情報量を1ビットといい、8ビットをまとめたものを1バイトと呼びます。1バイトでは2の8乗=256通りの状態を表せます。

2進数の各桁には右から順に1、2、4、8、16…という重み(2のべき乗)が付いています。たとえば2進数1011は、8×1+4×0+2×1+1×1=11となり、10進数の11を表します。逆に10進数を2進数に直すときは、2で割った余りを下から順に並べます。45なら45÷2=22余り1、22÷2=11余り0、11÷2=5余り1、5÷2=2余り1、2÷2=1余り0、1÷2=0余り1となり、余りを逆順に読んで101101です。

2進数は桁数が長くなって読みにくいため、実務では16進数がよく使われます。16進数は0〜9とA〜Fの16種類で1桁を表し、2進数のちょうど4桁分が16進数の1桁に対応します。そのため2進数11010110は、4桁ずつ区切って1101(=D)と0110(=6)に分け、D6と書き換えられます。この対応さえ覚えておけば、変換は暗算でできます。

負の数は「2の補数」という方法で表します。8ビットで−5を表すには、まず5(00000101)の0と1をすべて反転して11111010とし、これに1を足して11111011とします。2の補数を使うと、引き算を足し算の回路だけで計算できるという利点があります。なお最上位の1桁は符号を表し、1なら負の数です。

論理演算は、0を「偽」、1を「真」とみなして行う演算です。両方が1のときだけ1になるのが論理積(AND)、どちらか一方でも1なら1になるのが論理和(OR)、0と1を入れ替えるのが否定(NOT)、2つの値が異なるときだけ1になるのが排他的論理和(XOR)です。入力の全組合せと結果を一覧にした表を真理値表といいます。

論理演算の重要な性質にド・モルガンの法則があります。「AかつBの否定」は「Aの否定 または Bの否定」に等しく、「AまたはBの否定」は「Aの否定 かつ Bの否定」に等しい、というものです。集合で考えると分かりやすく、複数の条件を丸で表して重なりを描いた図をベン図といいます。ベン図では、集合Aと集合Bの少なくとも一方に含まれる要素の個数は、Aの個数+Bの個数−両方に含まれる個数で求められます。

10進数・2進数・16進数の対応表(0〜15)
10進数2進数(4桁)16進数
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F

用語

ビット
コンピュータが扱う情報の最小単位で、0か1のどちらか1つを表す。nビットあれば2のn乗通りの状態を区別できる。8ビットで256通りになる。
バイト
8ビットをひとまとめにした単位。半角英数字1文字がちょうど1バイトで表せるため、データ量を数えるときの基本単位として使われる。
基数変換
同じ数を2進数・10進数・16進数など別の表し方に書き換えること。10進数から2進数へは2で割った余りを逆順に並べる方法が基本。
16進数
0〜9とA〜Fの16種類で1桁を表す数の書き方。2進数4桁がちょうど16進数1桁に対応するので、長い2進数を短く読みやすく書ける。
2の補数
負の数を2進数で表す方法。元の数の0と1をすべて反転し、1を足して作る。引き算を足し算の回路だけで処理できるのでコンピュータで広く使われる。
論理積(AND)
2つの入力がともに1のときだけ結果が1になる演算。「AかつB」に当たる。特定のビットだけ取り出す(マスクする)用途にも使われる。
論理和(OR)
2つの入力のどちらか一方でも1なら結果が1になる演算。「AまたはB」に当たる。両方0のときだけ結果が0になる。
否定(NOT)
入力が1なら0、0なら1に反転させる演算。「Aでない」に当たる。入力は1つだけである点が他の論理演算と違う。
排他的論理和(XOR)
2つの入力の値が異なるときだけ結果が1になる演算。同じ値なら0になる。同じ値で2回演算すると元に戻るため、簡易な暗号化などにも使われる。
真理値表
入力の取り得る組合せをすべて並べ、それぞれに対する演算結果を書き出した表。論理式が正しいかどうかを確かめるときに使う。
ド・モルガンの法則
「AかつBの否定」は「Aの否定またはBの否定」に等しく、「AまたはBの否定」は「Aの否定かつBの否定」に等しいという法則。条件式を書き換えるときに役立つ。
ベン図
集合を丸で描き、重なり具合で「かつ」「または」「でない」の関係を目で見て分かるようにした図。条件の重なりや漏れを整理するのに使う。

例題

例題:2進数の110101を10進数で表すといくつか。
答えと考え方 右から重みは1,2,4,8,16,32。1がある桁は32,16,4,1なので32+16+4+1=53。
例題:2進数10110011と00001111の論理積(AND)はいくつか。
答えと考え方 桁ごとに両方1のときだけ1にする。上位4桁はすべて0、下位4桁は0011が残るので00000011。下位4桁だけを取り出す「マスク」の働きをしている。
例題:ある会社の社員100人のうち、Aを使う人が60人、Bを使う人が45人、両方使う人が25人いる。どちらも使わない人は何人か。
答えと考え方 少なくとも一方を使う人は60+45-25=80人。よって100-80=20人。

出典・根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学)

2. 応用数学 ― 確率・統計と単位

確率や期待値の求め方、平均・中央値・標準偏差といった統計の読み方、K・M・Gなどの単位の意味が分かります。

確率は、あることが起こる見込みを0から1までの数で表したものです。起こり得る場合が同じ確からしさで全部でn通りあり、そのうち目的の場合がm通りなら、確率はm÷nです。たとえば大小2個のさいころを投げて目の和が7になる場合は(1,6)(2,5)(3,4)(4,3)(5,2)(6,1)の6通り、全体は6×6=36通りなので、確率は6÷36=6分の1です。

期待値は、金額などの値が確率に応じて平均するといくらになるかを表す数です。「値×その確率」をすべて足して求めます。たとえば100本のくじに5000円が1本、1000円が5本、残り94本がはずれ(0円)なら、期待値は(5000×1+1000×5)÷100=100円です。期待値は、くじや保険、投資などの損得をならして比べるときに使います。

並べ方の数え方には順列と組合せがあります。順列は順番を区別して並べる数え方で、4人を1列に並べるなら4×3×2×1=24通りです。組合せは順番を区別せずに選ぶ数え方で、6人から2人の代表を選ぶなら(6×5)÷(2×1)=15通りです。「並べる」なら順列、「選ぶだけ」なら組合せ、と見分けます。

データ全体の特徴を1つの値で表したものを代表値といいます。すべての値を足して個数で割った平均値、大きさ順に並べたときの真ん中の値である中央値、最も多く現れる値である最頻値の3つが基本です。10、20、20、30、120という5個のデータでは、平均値は40ですが中央値は20です。極端に大きい値(外れ値)があると平均値は引きずられるため、そのようなときは中央値の方が実感に近くなります。

データのばらつきを表すのが分散と標準偏差です。各データと平均値の差を2乗して平均したものが分散、その平方根が標準偏差です。値が大きいほどばらつきが大きいことを意味します。多くの自然現象や測定値は、平均値を中心に左右対称の釣り鐘形になる正規分布に近い形で分布します。

2つの量の関係を見るときは相関係数を使います。−1から+1までの値をとり、+1に近いほど一方が増えれば他方も増える正の相関、−1に近いほど一方が増えれば他方が減る負の相関、0に近いほど関係が薄いことを示します。相関があっても原因と結果の関係(因果関係)があるとは限らない点に注意が必要です。また、ある変数の値から別の変数の値を予測する式を求める手法を回帰分析といいます。

数値を扱うときは丸めと単位にも注意します。四捨五入は4以下を切り捨て5以上を切り上げる方法、切上げは端数があれば必ず上げる方法、切捨ては端数を捨てる方法です。単位に付ける接頭語は、大きい方がK(キロ、10の3乗)、M(メガ、10の6乗)、G(ギガ、10の9乗)、T(テラ、10の12乗)、小さい方がm(ミリ、10のマイナス3乗)、μ(マイクロ、10のマイナス6乗)、n(ナノ、10のマイナス9乗)、p(ピコ、10のマイナス12乗)です。

単位に付ける接頭語(大きい方・小さい方)
記号読み意味(倍率)
Tテラ10の12乗倍
Gギガ10の9乗倍
Mメガ10の6乗倍
k(K)キロ10の3乗倍
mミリ10のマイナス3乗倍
μマイクロ10のマイナス6乗倍
nナノ10のマイナス9乗倍
pピコ10のマイナス12乗倍

用語

確率
あることが起こる見込みを0〜1の数で表したもの。同じ確からしさで起こる全n通りのうち目的がm通りなら m÷n で求める。1に近いほど起こりやすい。
期待値
値とその確率を掛けたものをすべて足した平均的な値。くじの当たり金額のように、何度も繰り返したときに1回あたりいくらになるかを表す。
順列
順番を区別して並べる場合の数。異なるn個からr個を取り出して並べる数え方で、4人を1列に並べるなら4×3×2×1=24通りとなる。
組合せ
順番を区別せずに選ぶ場合の数。6人から2人を選ぶなら(6×5)÷(2×1)=15通り。同じ顔ぶれなら並び順が違っても1通りと数える。
平均値
すべての値の合計を個数で割った代表値。計算しやすい反面、極端に大きい値や小さい値があると、そちらに引っ張られてしまう。
中央値
データを大きさ順に並べたときのちょうど真ん中の値。個数が偶数のときは中央2つの平均をとる。外れ値の影響を受けにくい。
最頻値
データの中で最も多く現れる値。アンケートの回答のように数値でないデータにも使える代表値。
分散
各データと平均値の差を2乗して平均した値。ばらつきの大きさを表し、値が大きいほどデータが平均から離れて散らばっている。
標準偏差
分散の平方根。元のデータと同じ単位でばらつきを表せるので実務で使いやすい。値が小さいほどデータが平均値の近くに集まっている。
正規分布
平均値を中心に左右対称の釣り鐘形になる分布。身長や測定誤差など多くのデータがこの形に近くなり、統計的な推定の基礎になっている。
相関係数
2つの量の関係の強さを−1〜+1で表した値。+1に近いと一方が増えれば他方も増え、−1に近いと一方が増えれば他方は減る。0に近いと関係が薄い。
回帰分析
ある変数の値から別の変数の値を予測する式(回帰式)を、実データに最もよく当てはまるように求める手法。売上予測などに使われる。

例題

例題:データ 2,4,4,4,5,5,7,9 の標準偏差はいくつか。
答えと考え方 平均は40÷8=5。平均との差の2乗は9,1,1,1,0,0,4,16で合計32。分散は32÷8=4、標準偏差はその平方根で2。
例題:相関係数が−0.9であるとき、2つのデータの関係はどう読めるか。
答えと考え方 −1に近いので、一方が増えると他方が減る強い負の相関がある。ただし相関があるだけで、原因と結果の関係があるとは言い切れない。
例題:1ミリ秒は1ナノ秒の何倍か。
答えと考え方 ミリは10のマイナス3乗、ナノは10のマイナス9乗なので、差は10の6乗。つまり100万倍。

出典・根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学)

3. 情報に関する理論 ― 文字コードとデジタル化

文字が数値として扱われる仕組みと、音や画像をデジタルデータに変える手順・データ量の計算ができるようになります。

コンピュータは0と1しか扱えないため、文字にも1つずつ番号を割り当てて数値として記憶します。この文字と番号の対応表を文字コードといいます。代表的なものにASCII、シフトJIS、EUC-JP、Unicode、UTF-8があります。送る側と受け取る側で違う文字コードを使うと、文字が正しく表示されない文字化けが起こります。

ASCIIは7ビットで英数字や記号など128種類を表すもっとも基本的な文字コードで、日本語は表せません。シフトJISは日本語の漢字やかなを表すために日本で作られた文字コードです。Unicodeは世界中の文字に共通の番号を割り当てることを目指した文字コード体系で、その番号を実際のバイト列にする代表的な方式がUTF-8です。UTF-8は1文字を1〜4バイトの可変長で表し、英数字はASCIIと同じ1バイトになるので互換性が高く、Webで最も広く使われています。日本語の多くの文字はUTF-8では1文字3バイトになります。

音声や画像のように連続的に変化するアナログの情報をデジタルデータに変えることをデジタル化(A/D変換)といいます。手順は、標本化(サンプリング)→量子化→符号化の3段階です。標本化は一定の時間間隔で波の高さを読み取ること、量子化は読み取った値を決められた段階の数値に置き換えること、符号化はその数値を2進数のビット列にすることです。

1秒間に標本化する回数をサンプリング周波数といい、単位はHz(ヘルツ)です。標本化定理により、元の信号に含まれる最高周波数の2倍を超える周波数で標本化すれば、元の波形を復元できます。20kHzまでの音を記録するには最低40kHzのサンプリング周波数が必要になる、という形で出題されます。量子化ビット数を大きくするほど音の強弱を細かく表せますが、その分データ量は増えます。

デジタル化されたデータの量は掛け算で求められます。音声なら「サンプリング周波数×量子化ビット数×チャネル数×秒数」でビット数が出るので、8で割ればバイト数になります。画像なら「横のピクセル数×縦のピクセル数×1ピクセルあたりのビット数」です。1ピクセルを赤・緑・青それぞれ8ビットで表す24ビットフルカラーなら、1ピクセルは3バイトです。

情報量の考え方も大切です。nビットあれば2のn乗通りの状態を区別できるので、区別したい種類の数を上回る最小のビット数が必要なビット数になります。50種類の記号を区別するなら、2の5乗=32では足りず、2の6乗=64で足りるので6ビット必要です。

主な文字コードの比較
文字コード扱える文字1文字のバイト数主な用途
ASCII英数字・記号128種類1バイト(7ビット使用)英語圏の基本。他の文字コードの土台
シフトJIS日本語(漢字・かな)と英数字英数字1バイト、日本語2バイト日本のWindows環境で長く利用
EUC-JP日本語と英数字英数字1バイト、日本語2バイトUNIX系の日本語環境で利用
Unicode世界中の文字符号化方式による多言語を1つの文書で扱う文字コード体系
UTF-8世界中の文字1〜4バイトの可変長(日本語は主に3バイト)Web・電子メールの標準的な符号化方式

用語

文字コード
文字1つ1つに番号を割り当てた対応表。コンピュータは文字そのものではなくこの番号を記憶している。送受信で種類が食い違うと文字化けが起こる。
ASCII
7ビットで英数字・記号など128種類の文字を表す、最も基本的な文字コード。アメリカで作られたもので、日本語の漢字やかなは表せない。
シフトJIS
日本語の漢字・ひらがな・カタカナを表すために日本で作られた文字コード。Windowsの日本語環境で長く使われてきた。
Unicode
世界中の文字に世界共通の番号を割り当てることを目指した文字コード体系。日本語・英語・中国語などを1つの文書に混ぜて扱える。
UTF-8
Unicodeの番号を実際のバイト列に表す方式の一つ。1文字を1〜4バイトの可変長で表し、英数字はASCIIと同じ1バイトになる。Webで最も広く使われる。
標本化(サンプリング)
アナログの波を一定の時間間隔で区切り、その時点の値を読み取ること。1秒間に読み取る回数をサンプリング周波数といい、単位はHzで表す。
量子化
標本化で読み取った値を、あらかじめ決めた段階の数値に当てはめること。段階の細かさを表すのが量子化ビット数で、大きいほど原音に忠実になる。
符号化
量子化した数値を0と1のビット列に置き換えること。デジタル化の最後の段階で、ここで初めてコンピュータが扱えるデータになる。
標本化定理
元の信号に含まれる最高周波数の2倍を超える周波数で標本化すれば元の波形を復元できる、という定理。必要なサンプリング周波数を決める根拠になる。
画素(ピクセル)
デジタル画像を構成する最小の点。横と縦の画素数が多いほど細かい画像になる。1画素の色を何ビットで表すかによってデータ量が変わる。

例題

例題:サンプリング周波数44.1kHz、量子化ビット数16ビット、ステレオ(2チャネル)で60秒録音したときのデータ量はおよそ何バイトか。
答えと考え方 44100×16×2×60=84,672,000ビット。8で割って10,584,000バイトなので、およそ10.6Mバイト。
例題:横640画素、縦480画素、24ビットフルカラーの非圧縮画像のデータ量はおよそ何バイトか。
答えと考え方 24ビットは3バイトなので640×480×3=921,600バイト。およそ922Kバイト。
例題:UTF-8で日本語の文字だけ1000文字を保存すると、およそ何バイトになるか。
答えと考え方 UTF-8では日本語の多くの文字が1文字3バイトなので、3×1000=3000バイト程度になる。

出典・根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論)

4. AIと機械学習の基礎

機械学習の3つの学習方法の違いと、ディープラーニング・過学習など試験に出る用語が説明できるようになります。

AI(人工知能)は、人が行うような認識・判断・推論をコンピュータに行わせる技術の総称です。その中心にあるのが機械学習で、人がルールを1つ1つ書くのではなく、大量のデータからコンピュータ自身に規則性を見つけさせる方法です。機械学習は学習のさせ方によって、教師あり学習・教師なし学習・強化学習の3つに大きく分けられます。

教師あり学習は、入力データと正解(ラベル)の組を大量に与えて、入力から正解を言い当てられるようにする方法です。過去のメールに「迷惑メール」「通常メール」の印を付けて学習させ、新着メールを判定させるのが典型例です。結果が「はい/いいえ」や「A・B・C」のような区分なら分類、売上金額や気温のような連続した数値なら回帰と呼びます。

教師なし学習は、正解を与えずにデータそのものの構造や傾向を見つけさせる方法です。購買履歴から似た傾向の顧客を自動的にグループ分けするクラスタリングが代表例です。正解がないので「何が正しいか」ではなく「どんなまとまりがあるか」を発見するのに向いています。

強化学習は、ある状態で取った行動に対して報酬(良い結果ならプラス、悪い結果ならマイナス)を与え、試行錯誤を繰り返しながら報酬の合計が最大になる行動の選び方を学ばせる方法です。囲碁や将棋のAI、ロボットの歩行制御、自動運転などに使われます。

ニューラルネットワークは、人の脳の神経細胞のつながりをまねた仕組みで、入力層・中間層・出力層からなります。この中間層を何層も深く重ねたものがディープラーニング(深層学習)です。従来は人が指定していた「どこに注目すべきか」という特徴を、大量のデータから自動的に取り出せる点が大きな特徴で、画像認識や音声認識、生成AIの土台になっています。

機械学習では、手元のデータを訓練データ(学習用)とテストデータ(評価用)に分けて使います。学習に使っていないテストデータで精度を測ることで、未知のデータにどれだけ通用するかを確かめられるからです。訓練データに合わせ込みすぎて、訓練データでは高い精度なのに未知のデータでは精度が落ちてしまう現象を過学習(オーバーフィッティング)といいます。また、学習データに偏りがあると判断にも偏り(バイアス)が生じるため、データの選び方には注意が必要です。

機械学習の3つの学習方法の比較
学習方法与えるデータ学習の目的具体例
教師あり学習入力データと正解ラベルの組入力から正解を予測できるようにする迷惑メールの判定、手書き文字の認識、過去実績からの売上予測
教師なし学習正解ラベルのないデータのみデータに潜む構造やまとまりを見つける購買履歴による顧客のグループ分け、異常値の発見
強化学習行動に対する報酬(良し悪しの評価)報酬の合計が最大になる行動を身につける囲碁・将棋のAI、ロボットの歩行制御、自動運転の運転制御

用語

AI(人工知能)
人が行うような認識・判断・推論をコンピュータに行わせる技術の総称。現在の中心は、データから規則性を学ばせる機械学習である。
機械学習
人がルールを書くのではなく、大量のデータからコンピュータ自身に規則性を見つけさせる技術。学習のさせ方で教師あり・教師なし・強化の3つに分かれる。
教師あり学習
入力データと正解ラベルの組を与えて、入力から正解を予測できるようにする学習方法。迷惑メール判定や売上予測に使われる。
教師なし学習
正解を与えず、データ自体の構造や似たもの同士のまとまりを見つけさせる学習方法。顧客のグループ分け(クラスタリング)が代表例。
強化学習
行動の結果に報酬を与え、報酬の合計が最大になる行動の選び方を試行錯誤で学ばせる学習方法。囲碁AIやロボット制御、自動運転に使われる。
ニューラルネットワーク
人の脳の神経細胞のつながりをまねた仕組み。入力層・中間層・出力層があり、つながりの重みを調整することで学習を行う。
ディープラーニング(深層学習)
ニューラルネットワークの中間層を何層も深く重ねた手法。注目すべき特徴を人が指定しなくてもデータから自動的に取り出せる点が大きな特徴。
過学習(オーバーフィッティング)
訓練データに合わせ込みすぎて、訓練データでは高精度なのに未知のデータでは精度が落ちてしまう現象。データを増やす、モデルを簡単にするなどで抑える。
訓練データとテストデータ
手元のデータを学習用と評価用に分けたもの。学習に使っていないテストデータで測ることで、未知のデータへの実力を正しく評価できる。
クラスタリング
正解を与えずに、似た特徴を持つデータどうしを自動でグループにまとめる手法。教師なし学習の代表例で、顧客分析などに使われる。

例題

例題:過去の気象データと来客数の実績から、明日の来客数を予測するモデルを作った。どの学習方法か。
答えと考え方 実績という正解が付いたデータで学習しているので教師あり学習。予測する対象が連続した数値なので、その中でも回帰にあたる。
例題:訓練データでは正解率99%なのに、テストデータでは正解率60%だった。何が起きているか。
答えと考え方 訓練データに合わせ込みすぎた過学習の状態。学習データを増やす、モデルを単純にするなどの対策をとる。

出典・根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

5. アルゴリズムとプログラミング

処理の手順を表す流れ図の読み方、探索・整列などの基本アルゴリズム、データ構造とデータ形式の違いが分かります。

アルゴリズムとは、問題を解くための手順を、誰が実行しても同じ結果になるように順序立てて示したものです。アルゴリズムを図で表したものが流れ図(フローチャート)で、処理は長方形、判断(条件分岐)はひし形、開始と終了は角丸の図形、データの入出力は平行四辺形で表し、矢印で流れをつなぎます。アルゴリズムは、順次(上から順に実行)、選択(条件で分かれる)、繰返し(条件が成り立つ間続ける)の3つの基本構造の組合せで作られます。

プログラムでは、値を入れておく箱を変数といい、変数に値を入れることを代入といいます。同じ種類のデータを番号(添字)で並べて管理する仕組みが配列で、たとえば配列の3番目の要素、というように位置を指定して直接読み書きできます。よく使う処理をひとまとまりにして名前を付け、必要なときに呼び出せるようにしたものが関数(手続き)で、同じ処理を何度も書かずに済み、修正も1か所で済みます。

探索は目的のデータを探し出す処理です。線形探索は先頭から1件ずつ順に照合する方法で、事前の準備は要りませんがデータが多いと時間がかかります。n件の中に必ず目的のデータがある場合、平均の比較回数は(n+1)÷2回です。二分探索は、あらかじめ整列されたデータの真ん中と比べて、探す範囲を毎回半分に狭めていく方法で、比較のたびに候補が半分になるため非常に速くなります。1000件なら最大10回程度の比較で見つかります。ただし、データが整列済みであることが前提です。

整列(ソート)はデータを大小の順に並べ替える処理です。バブルソートは隣り合う要素を比較して順序が逆なら交換する処理を繰り返す方法で、仕組みが単純です。ほかに、未整列部分から最小値を選んで先頭に置く選択ソート、要素を既に整列した部分の適切な位置に挿入する挿入ソートなどがあります。

データ構造にはそれぞれ得意な使い方があります。スタックは最後に入れたデータを最初に取り出す後入れ先出し(LIFO)の構造で、入れる操作をプッシュ、取り出す操作をポップといいます。キューは最初に入れたデータを最初に取り出す先入れ先出し(FIFO)の構造で、順番待ちの行列と同じ考え方です。リストは各要素が次の要素の位置情報を持つ構造で、途中への挿入や削除を要素の移動なしに行えます。木構造は要素が枝分かれしてつながる構造で、組織図やフォルダの階層のように親子関係のあるデータを表すのに適しています。

プログラム言語には、読みやすく機械学習やデータ分析でよく使われるPython、業務システムで広く使われるJava、OSや組込み機器など機械に近い制御に強いC、Webページに動きを付けるJavaScript、統計解析やグラフ描画に強いRなどがあります。一方、文書の構造や見た目をタグで指示する言語をマークアップ言語といい、Webページを記述するHTML、利用者が独自にタグを定義してデータの意味や構造を表せるXMLがあります。データをやり取りする形式としては、値をカンマで区切って表形式のデータを表すCSV、項目名と値の組を波括弧で囲んで入れ子構造を表せるJSON、タグで構造を表すXMLがよく使われます。

主なデータ構造とアルゴリズムの特徴
名称分類特徴使いどころ
配列データ構造番号(添字)で位置を指定して直接読み書きできる件数が決まっていて位置指定で取り出したいとき
リストデータ構造各要素が次の要素の位置情報を持つ。挿入・削除が得意途中への追加・削除が頻繁に起こるとき
スタックデータ構造後入れ先出し(LIFO)。プッシュとポップで出し入れする直前の状態に戻す処理、式の計算
キューデータ構造先入れ先出し(FIFO)。入れた順に取り出す印刷の待ち行列など順番どおりの処理
木構造データ構造要素が枝分かれし、親子関係で階層を表すフォルダの階層、組織図
線形探索アルゴリズム先頭から順に照合する。整列不要件数が少ない、または整列されていないとき
二分探索アルゴリズム範囲を半分ずつ狭める。整列済みが前提件数が多く、あらかじめ整列できるとき
バブルソートアルゴリズム隣り合う要素を比較し順序が逆なら交換する仕組みを学ぶ基本の整列方法

用語

アルゴリズム
問題を解くための手順を、誰が実行しても同じ結果になるように順序立てて示したもの。同じ結果でも手順の良し悪しで処理時間が大きく変わる。
流れ図(フローチャート)
処理の手順を図で表したもの。処理は長方形、条件分岐はひし形、開始・終了は角丸の図形で表し、矢印で流れをつなぐ。
変数
値を入れておく名前付きの箱。プログラムの途中で中身を入れ替えられる。値を入れる操作を代入という。
配列
同じ種類のデータを番号(添字)で並べて管理する仕組み。位置を指定して直接読み書きできるが、途中への挿入・削除は後ろの要素をずらす必要がある。
関数(手続き)
よく使う処理をひとまとまりにして名前を付け、必要なときに呼び出せるようにしたもの。同じ処理を何度も書かずに済み、修正も1か所で済む。
線形探索
先頭から1件ずつ順に照合して目的のデータを探す方法。整列していなくても使えるが、n件なら平均で(n+1)÷2回の比較が必要になる。
二分探索
整列済みのデータの真ん中と比較し、探す範囲を毎回半分に狭めていく探索方法。非常に速いが、データが整列済みであることが前提となる。
バブルソート
隣り合う要素を比較し順序が逆なら交換する処理を繰り返して並べ替える方法。仕組みが単純で分かりやすいが、件数が多いと時間がかかる。
スタック
最後に入れたデータを最初に取り出す後入れ先出し(LIFO)のデータ構造。入れる操作をプッシュ、取り出す操作をポップという。
キュー
最初に入れたデータを最初に取り出す先入れ先出し(FIFO)のデータ構造。順番待ちの行列と同じ考え方で、処理の待ち行列などに使う。
木構造
要素が枝分かれしてつながるデータ構造。フォルダの階層や組織図のように、親子関係のあるデータを表すのに適している。
マークアップ言語
文書の構造や見た目をタグで指示する言語。Webページを表すHTML、独自のタグを定義してデータの意味を表せるXMLが代表例。
JSON
項目名と値の組を波括弧で囲み、入れ子構造も表せる軽量なデータ記述形式。Webアプリケーションのデータ交換で広く使われる。
CSV
値をカンマで区切り、改行で1行分を表す表形式のデータ形式。表計算ソフトやデータベースとのやり取りに使われる。

例題

例題:変数xに1を代入し、「xにxの2倍の値を代入する」処理を3回繰り返した。最後のxはいくつか。
答えと考え方 1回目で2、2回目で4、3回目で8になる。答えは8。
例題:空のスタックに1、2、3の順にプッシュし、ポップを1回、次に4をプッシュ、その後ポップを2回行った。取り出された値を順に並べるとどうなるか。
答えと考え方 後入れ先出しなので最初のポップで3、次に4を入れてポップすると4、さらにポップすると2。順に3、4、2となる。
例題:配列[3,1,4,1,5]に対し、先頭から隣り合う要素を比較して大きい方を後ろへ移す走査を1回行うとどうなるか。
答えと考え方 3と1を交換して1,3,4,1,5、3と4はそのまま、4と1を交換して1,3,1,4,5、4と5はそのまま。結果は1,3,1,4,5。

出典・根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング

確認問題(45問)

四肢択一。「正解と解説」を開くと、正解の理由と他の選択肢が違う理由を確認できます。

問1|2進数変換

2進数の1011を10進数で表した値はどれか。

  1. 9
  2. 11
  3. 13
  4. 15
正解と解説
正解:B. 11

2進数の各桁は右から1,2,4,8の重みをもつ。1011は8×1+4×0+2×1+1×1=11となる。アの9は2進数で1001、ウの13は1101、エの15は1111であり、いずれも1011とは異なる。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・基数)

問2|10進→2進

10進数の45を2進数で表したものはどれか。

  1. 101011
  2. 101101
  3. 110101
  4. 111001
正解と解説
正解:B. 101101

45を2で割った余りを下から並べると1,0,1,1,0,1となり、逆順に読んで101101となる。検算すると32+8+4+1=45で一致する。アの101011は43、ウの110101は53、エの111001は57であり、いずれも45にならない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・基数変換)

問3|16進→10進

16進数の2Fを10進数で表した値はどれか。

  1. 31
  2. 43
  3. 47
  4. 62
正解と解説
正解:C. 47

16進数の2桁目は16の重みをもち、Fは15を表す。2×16+15=47となる。アの31は16進数で1F、イの43は2B、エの62は3Eであり、いずれも2Fとは異なる。16進数ではA〜Fがそれぞれ10〜15を表す点を押さえておく。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・基数変換)

問4|2進→16進

2進数の11010110を16進数で表したものはどれか。

  1. 6D
  2. B6
  3. C6
  4. D6
正解と解説
正解:D. D6

2進数4桁が16進数1桁に対応するので、11010110を1101と0110に区切る。1101は13すなわちD、0110は6なのでD6となる。アの6Dは01101101、イのB6は10110110、ウのC6は11000110であり、いずれも元の値と一致しない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・基数変換)

問5|ビット数

8ビットで表現できる符号なし2進数は何通りか。

  1. 8通り
  2. 16通り
  3. 128通り
  4. 256通り
正解と解説
正解:D. 256通り

nビットでは2のn乗通りの状態を表せるので、8ビットでは2の8乗=256通り(10進数の0〜255)となる。アの8はビット数そのもの、イの16は4ビット分、ウの128は7ビット分の値であり、いずれも8ビットの組合せ数ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・ビットとバイト)

問6|必要ビット数

50種類の記号を、それぞれ異なるビット列に対応付けて表したい。最低限必要なビット数はどれか。

  1. 5ビット
  2. 6ビット
  3. 7ビット
  4. 8ビット
正解と解説
正解:B. 6ビット

nビットでは2のn乗通りを区別できる。2の5乗=32では50種類に足りず、2の6乗=64なら足りるので最低6ビットが必要である。アは32通りしか表せず不足する。ウの7ビット(128通り)とエの8ビット(256通り)でも表せるが、「最低限」という条件を満たさない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・ビットとバイト)

問7|論理積

2進数10110011と2進数00001111の論理積(AND)を求めた結果はどれか。

  1. 00000011
  2. 00001111
  3. 10110000
  4. 10111111
正解と解説
正解:A. 00000011

論理積は桁ごとに両方が1のときだけ1になる。上位4桁は相手が0なのですべて0、下位4桁は0011がそのまま残り00000011となる。イは相手の値そのもの、エは論理和(OR)の結果である。ウは00001111ではなく11110000でマスクした場合の結果であり、上位4桁を取り出したものである。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・論理演算)

問8|排他的論理和

2進数1101と2進数1011の排他的論理和(XOR)を求めた結果はどれか。

  1. 0110
  2. 1001
  3. 1111
  4. 0100
正解と解説
正解:A. 0110

排他的論理和は桁ごとに値が異なるときだけ1になる。左から1と1で0、1と0で1、0と1で1、1と1で0となり0110である。イの1001は論理積、ウの1111は論理和の結果であり、エの0100はどの基本演算の結果とも一致しない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・論理演算)

問9|2の補数

8ビットの2の補数表現で10進数の−5を表したものはどれか。

  1. 10000101
  2. 11111010
  3. 11111011
  4. 11111100
正解と解説
正解:C. 11111011

2の補数は、元の数の各ビットを反転して1を加えて作る。5は00000101、反転すると11111010、1を加えて11111011となる。イは反転しただけ(1の補数)で1を足していない。アは最上位に符号ビット1を置いただけの符号絶対値表現、エは−4を表す。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・補数)

問10|ド・モルガン

論理式 NOT(A AND B) と常に同じ結果になる式はどれか。ここでNOTは否定、ANDは論理積、ORは論理和を表す。

  1. NOT A AND NOT B
  2. A OR B
  3. NOT A OR NOT B
  4. A AND NOT B
正解と解説
正解:C. NOT A OR NOT B

ド・モルガンの法則により、論理積の否定は各項の否定の論理和になる。したがってNOT(A AND B)はNOT A OR NOT Bと等しい。アはNOT(A OR B)に等しい別の式、イは否定を含まないため反対の結果になり、エはBだけを否定した式で成り立たない。真理値表で全4通りを確かめると確認できる。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・ド・モルガンの法則)

問11|集合の計算

社員100人に調査したところ、システムAを使う人が60人、システムBを使う人が45人、AとBの両方を使う人が25人であった。AもBも使わない人は何人か。

  1. 10人
  2. 15人
  3. 20人
  4. 25人
正解と解説
正解:C. 20人

少なくとも一方を使う人は、重複を1回引いて60+45−25=80人となる。したがって、どちらも使わない人は100−80=20人である。アとイは重複の引き方を誤った場合の値、エは両方使う人数そのものであり、問われている人数ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・集合)

問12|真理値表

2つの入力AとBに対する排他的論理和(XOR)の結果が1になるのはどの場合か。

  1. AとBがともに1のとき
  2. AとBの値が異なるとき
  3. AとBがともに0のとき
  4. AとBの値が等しいとき
正解と解説
正解:B. AとBの値が異なるとき

排他的論理和は入力の値が異なるときだけ1、等しいときは0になる。アのようにともに1のときは0になり、これが1になるのは論理積である。ウのようにともに0のときも0になる。エは排他的論理和の否定(一致回路)の説明であり、結果が逆になる。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(離散数学・論理演算)

問13|期待値

100本のくじがあり、1等5000円が1本、2等1000円が5本、残りははずれで0円である。このくじを1本引いたときにもらえる金額の期待値はいくらか。

  1. 100円
  2. 150円
  3. 200円
  4. 600円
正解と解説
正解:A. 100円

期待値は「金額×その確率」をすべて足して求める。(5000×1+1000×5)÷100=10000÷100=100円となる。イとウは当たり金額や本数の掛け方を誤った値であり、エの600円は、当たる確率6÷100に当たり金額の合計10000円を掛けてしまった値であり、金額ごとに確率を掛けていない誤りである。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・確率と期待値)

問14|確率

大小2個のさいころを同時に投げたとき、出た目の和が7になる確率はどれか。

  1. 12分の1
  2. 9分の1
  3. 8分の1
  4. 6分の1
正解と解説
正解:D. 6分の1

目の出方は全部で6×6=36通り。和が7になるのは(1,6)(2,5)(3,4)(4,3)(5,2)(6,1)の6通りなので、6÷36=6分の1である。アの12分の1は3通り、イの9分の1は4通り、ウの8分の1は4.5通りに相当し、いずれも該当する組合せ数と合わない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・確率)

問15|組合せ

6人の中から2人の代表を選ぶとき、選び方は何通りか。ここで選ばれた2人の順序は区別しない。

  1. 12通り
  2. 15通り
  3. 30通り
  4. 36通り
正解と解説
正解:B. 15通り

順序を区別しない選び方は組合せで求め、(6×5)÷(2×1)=15通りとなる。ウの30通りは順序を区別した順列6×5の値で、同じ2人を2回数えている。アの12は6×2、エの36は6×6であり、いずれも数え方が誤っている。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・順列組合せ)

問16|順列

4人を1列に並べるとき、並べ方は何通りか。

  1. 4通り
  2. 12通り
  3. 16通り
  4. 24通り
正解と解説
正解:D. 24通り

1番目に4通り、2番目に残り3通り、3番目に2通り、4番目に1通りなので4×3×2×1=24通りである。イの12は4×3で2人分までしか数えていない。ウの16は4×4で同じ人を重複して数えた値、アの4は人数そのものであり、いずれも並べ方の総数ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・順列組合せ)

問17|中央値

5人のテストの点数が10、20、20、30、120であるとき、この5個のデータの中央値はどれか。

  1. 20
  2. 30
  3. 40
  4. 120
正解と解説
正解:A. 20

中央値はデータを大きさ順に並べたときの真ん中の値である。5個なので3番目の20が中央値になる。ウの40は平均値(合計200÷5)で、120という極端に大きい値に引きずられている。イの30は4番目の値、エの120は最大値であり、いずれも中央値ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・統計)

問18|標準偏差

データ 2、4、4、4、5、5、7、9 の標準偏差はいくつか。ここでこのデータの平均値は5であり、分散はデータの個数で割って求めるものとする。

  1. 1
  2. 2
  3. 4
  4. 8
正解と解説
正解:B. 2

平均との差の2乗は9、1、1、1、0、0、4、16で合計32。分散は32÷8=4、標準偏差はその平方根なので2である。ウの4は分散の値をそのまま答えたもの、エの8はデータの個数、アの1は差の2乗の一部の値であり、いずれも標準偏差ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・統計)

問19|標準偏差の意味

標準偏差が表しているものはどれか。

  1. データの合計を個数で割った値
  2. データを大きさ順に並べたときの真ん中の値
  3. データが平均値からどれだけばらついているかの度合い
  4. データの中で最も多く現れる値
正解と解説
正解:C. データが平均値からどれだけばらついているかの度合い

標準偏差は分散の平方根で、データが平均値からどれだけ離れて散らばっているかを表す。値が小さいほど平均値の近くにまとまっている。アは平均値、イは中央値、エは最頻値の説明であり、これらはいずれもデータを代表する1つの値であってばらつきの大きさは表さない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・統計)

問20|相関係数

2つのデータの相関係数を求めたところ−0.9であった。この値から言えることはどれか。

  1. 2つのデータの間にはほとんど関係がない
  2. 一方が増えると他方も増える強い正の相関がある
  3. 一方が他方の原因になっていることが証明された
  4. 一方が増えると他方は減る強い負の相関がある
正解と解説
正解:D. 一方が増えると他方は減る強い負の相関がある

相関係数は−1から+1の値をとり、−1に近いほど一方が増えると他方が減る強い負の相関を示す。アは0に近い場合、イは+1に近い場合の説明で符号が逆である。ウは誤りで、相関が強くても原因と結果の関係(因果関係)があるとは限らない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・統計)

問21|回帰分析

回帰分析の説明として、適切なものはどれか。

  1. ある変数の値から別の変数の値を予測する式を、実データによく当てはまるように求める手法
  2. データを似た特徴をもつグループに自動的に分ける手法
  3. 大量の取引データから同時に買われやすい商品の組合せを見つける手法
  4. 母集団から一部を無作為に抜き出して全体の傾向を推定する手法
正解と解説
正解:A. ある変数の値から別の変数の値を予測する式を、実データによく当てはまるように求める手法

回帰分析は、広告費から売上を予測するように、ある変数の値から別の変数の値を求める式を実データに当てはめて導く手法である。イはクラスタリング、ウはバスケット分析(アソシエーション分析)、エは標本調査の説明であり、いずれも予測式を求める手法ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・回帰分析)

問22|単位の接頭語

1ナノ秒は何秒か。

  1. 10のマイナス3乗秒
  2. 10のマイナス6乗秒
  3. 10のマイナス9乗秒
  4. 10のマイナス12乗秒
正解と解説
正解:C. 10のマイナス9乗秒

ナノ(n)は10のマイナス9乗を表す接頭語である。アの10のマイナス3乗はミリ(m)、イの10のマイナス6乗はマイクロ(μ)、エの10のマイナス12乗はピコ(p)を表す。小さい方はミリ、マイクロ、ナノ、ピコの順に1000分の1ずつ小さくなる。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・単位)

問23|数値の丸め

37.462の小数第2位を四捨五入した値はどれか。

  1. 37.4
  2. 37.46
  3. 37.5
  4. 38.0
正解と解説
正解:C. 37.5

小数第2位の数字は6であり、5以上なので小数第1位に1を繰り上げて37.5となる。アは小数第2位を切り捨てた場合の値、イは小数第3位を四捨五入した場合の値、エは小数第1位を切り上げた場合の値であり、いずれも指定された位置で指定された丸め方をしていない。なお小数第1位を四捨五入すると37になる。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(応用数学・数値の丸め)

問24|UTF-8

UTF-8の説明として、適切なものはどれか。

  1. 英数字と記号だけを1バイトで扱う文字コードで、日本語は表せない
  2. Unicodeの文字を1〜4バイトの可変長で表す符号化方式で、英数字はASCIIと同じ1バイトになる
  3. 日本語を扱うために日本国内で作られた文字コードで、漢字やかなをすべて2バイトの固定長で表す方式のこと
  4. 写真などの画像を圧縮して保存するためのファイル形式
正解と解説
正解:B. Unicodeの文字を1〜4バイトの可変長で表す符号化方式で、英数字はASCIIと同じ1バイトになる

UTF-8はUnicodeの文字を1〜4バイトの可変長で表す符号化方式で、英数字はASCIIと同じ1バイトになるため互換性が高く、Webで最も広く使われている。アはASCII、ウはシフトJISなど日本語向け文字コードの説明に近い。エは文字コードではなく画像形式の説明であり、まったく別のものである。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・文字コード)

問25|ASCII

ASCIIコードの説明として、適切なものはどれか。

  1. 7ビットで英数字や記号など128種類の文字を表す文字コード
  2. 日本語の漢字やかなを表すために日本で作られた文字コード
  3. 世界中の文字に共通の番号を割り当てることを目指した文字コード体系
  4. アナログの音声を数値データに変換する方式
正解と解説
正解:A. 7ビットで英数字や記号など128種類の文字を表す文字コード

ASCIIは7ビットで128種類の英数字・記号・制御文字を表す最も基本的な文字コードで、日本語は扱えない。イはシフトJISやEUC-JPなど日本語向け文字コード、ウはUnicodeの説明である。エはA/D変換(デジタル化)の説明であり、文字コードとは関係がない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・文字コード)

問26|デジタル化

アナログの音声をデジタルデータに変換するときの手順を、正しい順に並べたものはどれか。

  1. 標本化 → 量子化 → 符号化
  2. 量子化 → 標本化 → 符号化
  3. 符号化 → 標本化 → 量子化
  4. 標本化 → 符号化 → 量子化
正解と解説
正解:A. 標本化 → 量子化 → 符号化

まず一定間隔で波の高さを読み取る標本化を行い、次に読み取った値を決められた段階の数値に置き換える量子化を行い、最後にその数値を0と1のビット列にする符号化を行う。イ、ウ、エはこの順序が入れ替わっており、値を読み取る前に段階分けや符号化はできないため誤りである。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・デジタル化)

問27|標本化定理

20kHzまでの周波数成分を含む音を、標本化定理に基づいて元の波形を復元できるように記録したい。必要となる最低限のサンプリング周波数はどれか。

  1. 10kHz
  2. 20kHz
  3. 30kHz
  4. 40kHz
正解と解説
正解:D. 40kHz

標本化定理により、元の信号に含まれる最高周波数の2倍を超える周波数で標本化すれば元の波形を復元できる。20kHzの2倍である40kHz程度が必要になる。ア、イ、ウはいずれも最高周波数の2倍に達しておらず、元の波形を正しく復元できない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・標本化)

問28|音声データ量

サンプリング周波数44.1kHz、量子化ビット数16ビット、ステレオ(2チャネル)で60秒間録音した音声データの量はおよそ何バイトか。ここで圧縮は行わず、1kHzは1000回毎秒、1Mバイトは10の6乗バイトとする。

  1. 約2.6Mバイト
  2. 約5.3Mバイト
  3. 約10.6Mバイト
  4. 約21.2Mバイト
正解と解説
正解:C. 約10.6Mバイト

44100×16×2×60=84,672,000ビットとなり、8で割って10,584,000バイト、およそ10.6Mバイトである。イはモノラルとして計算した値、アは量子化ビット数を8ビットとしモノラルで計算した値、エは量子化ビット数を32ビットとして計算した場合の値である。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・データ量)

問29|画像データ量

横640画素、縦480画素、1画素あたり24ビットのフルカラーで表す非圧縮画像のデータ量はおよそ何バイトか。ここで1Kバイトは1000バイト、1Mバイトは10の6乗バイトとする。

  1. 約38Kバイト
  2. 約307Kバイト
  3. 約922Kバイト
  4. 約7.4Mバイト
正解と解説
正解:C. 約922Kバイト

24ビットは3バイトなので640×480×3=921,600バイト、およそ922Kバイトである。エの約7.4Mはバイトに直さずビット数のまま答えた値、イの約307Kは1画素を8ビット(1バイト)として計算した値、アの約38Kは1画素1ビットとした場合の値であり、いずれも条件と合わない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・データ量)

問30|転送時間

伝送速度100Mビット/秒の回線で1Gバイトのデータを転送する。伝送効率が50%であるとき、転送に要する時間は何秒か。ここで1Gバイトは10の9乗バイト、1Mビット/秒は10の6乗ビット/秒とする。

  1. 80秒
  2. 160秒
  3. 320秒
  4. 640秒
正解と解説
正解:B. 160秒

1Gバイトは8×10の9乗ビット。伝送効率50%なので実効速度は50×10の6乗ビット/秒となり、8×10の9乗÷(50×10の6乗)=160秒である。アの80秒は伝送効率を考えず100%として計算した値、ウとエはバイトとビットの換算や効率の扱いを重ねて誤った値である。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・データ量と単位)

問31|教師あり学習

機械学習における教師あり学習の説明として、適切なものはどれか。

  1. 入力データと正解ラベルの組を大量に与え、入力から正解を予測できるようにする
  2. 正解を与えず、データに潜む構造や似たもの同士のまとまりを見つけさせる
  3. 行動の結果に報酬を与え、報酬が最大になる行動を試行錯誤で身につけさせる
  4. 判断のルールを人がすべて書き出し、そのとおりに動かす
正解と解説
正解:A. 入力データと正解ラベルの組を大量に与え、入力から正解を予測できるようにする

教師あり学習は、正解ラベル付きのデータから入力と正解の関係を学び、未知の入力に対して予測できるようにする方法である。イは教師なし学習、ウは強化学習の説明である。エは人手でルールを記述する方式であり、データから規則性を学ぶ機械学習には当たらない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

問32|教師なし学習

教師なし学習の適用例として、適切なものはどれか。

  1. 過去の気温と売上の実績データから、明日の売上額を予測する
  2. 過去の判定結果を使って、新着メールが迷惑メールかどうかを判別する
  3. ゲームで高い得点を得られる操作方法を、試行錯誤を繰り返して身につける
  4. 購買履歴をもとに、似た購買傾向をもつ顧客どうしをグループに分ける
正解と解説
正解:D. 購買履歴をもとに、似た購買傾向をもつ顧客どうしをグループに分ける

教師なし学習は正解を与えずにデータの構造やまとまりを見つける方法で、顧客のグループ分け(クラスタリング)が代表例である。アとイは正解付きデータから学ぶ教師あり学習、ウは報酬をもとに行動を学ぶ強化学習であり、いずれも教師なし学習ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

問33|強化学習

強化学習の説明として、適切なものはどれか。

  1. 大量の正解付きデータから、入力と出力の対応関係を学ぶ
  2. 行動の結果として与えられる報酬が最大になるように、試行錯誤しながら行動の選び方を学ぶ
  3. 正解となるラベルを与えずに、データを似た特徴をもつものどうしで自動でグループ分けする
  4. 学習データの誤りを人手で修正し、データの品質を高める
正解と解説
正解:B. 行動の結果として与えられる報酬が最大になるように、試行錯誤しながら行動の選び方を学ぶ

強化学習は、ある状態で取った行動に対する報酬をもとに、報酬の合計が最大になる行動の選び方を試行錯誤で学ぶ方法で、囲碁AIやロボット制御に使われる。アは教師あり学習、ウは教師なし学習の説明である。エはデータの前処理作業であり、学習方法の分類ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

問34|深層学習

ディープラーニング(深層学習)の説明として、適切なものはどれか。

  1. 表計算ソフトの関数やグラフ機能を使い、大量のデータを人の手で集計して傾向を読み取る技術
  2. 人があらかじめ決めておいた条件とルールを順番に適用して、結論を導き出す技術
  3. ニューラルネットワークの中間層を多層に重ね、大量のデータから特徴を自動的に抽出する技術
  4. データを暗号化し、第三者に読まれずに安全にやり取りする技術
正解と解説
正解:C. ニューラルネットワークの中間層を多層に重ね、大量のデータから特徴を自動的に抽出する技術

ディープラーニングは、脳の神経細胞のつながりをまねたニューラルネットワークの中間層を深く重ねた手法で、注目すべき特徴を人が指定しなくてもデータから自動的に取り出せる。アは表計算による分析、イはルールベースの推論、エは暗号化技術の説明であり、いずれも深層学習とは異なる。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

問35|過学習

機械学習における過学習(オーバーフィッティング)の説明として、適切なものはどれか。

  1. 訓練データに合わせ込みすぎた結果、未知のデータに対する精度が下がってしまう現象
  2. 学習に使うデータが少なすぎて、学習をまったく開始できない状態
  3. 学習済みのモデルを別の課題に転用して、少ないデータで学習させること
  4. 学習の計算量が多すぎて、処理が終わらなくなる状態
正解と解説
正解:A. 訓練データに合わせ込みすぎた結果、未知のデータに対する精度が下がってしまう現象

過学習は、訓練データの細かな特徴まで覚え込んでしまい、訓練データでは高精度なのに未知のデータでは精度が落ちる現象である。イはデータ不足の問題、ウは転移学習の説明、エは計算資源の問題であり、いずれも訓練データへの過剰な適合を指すものではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

問36|訓練とテスト

機械学習において、手元のデータを訓練データとテストデータに分けて使う主な目的はどれか。

  1. 学習にかかる計算時間を短くするため
  2. データに含まれる個人情報を保護するため
  3. 訓練データに含まれる誤りやばらつきを、自動的に見つけて修正するため
  4. 学習に使っていないデータで、未知のデータに対する性能を評価するため
正解と解説
正解:D. 学習に使っていないデータで、未知のデータに対する性能を評価するため

学習に使ったデータで精度を測ると、そのデータを覚えているだけでも高い値が出てしまう。学習に使っていないテストデータで評価することで、未知のデータへの実力を正しく測れる。アは分割の主目的ではなく、イは匿名加工など別の対策、ウは分割によって実現できることではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

問37|学習方法の判別

過去に受信した大量のメールに「迷惑メール」「通常メール」の区分を付けたデータを使って学習させ、新しく届いたメールがどちらかを判定するモデルを作った。この学習方法はどれか。

  1. 教師なし学習
  2. 教師あり学習
  3. 強化学習
  4. 深層強化学習
正解と解説
正解:B. 教師あり学習

あらかじめ正解(区分)を付けたデータで学習しているので教師あり学習であり、出力が区分なので分類にあたる。アの教師なし学習は正解を与えない方法、ウの強化学習は報酬をもとに行動を学ぶ方法である。エは強化学習にニューラルネットワークを組み合わせた手法で、正解ラベルを使う本問には当てはまらない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類13:基礎理論(情報に関する理論・AI)

問38|繰返し処理

次の処理を実行したとき、最後の変数xの値はどれか。まず変数xに1を代入する。次に「xに、そのときのxの2倍の値を代入する」という処理を3回繰り返す。

  1. 2
  2. 4
  3. 6
  4. 8
正解と解説
正解:D. 8

xは1から始まり、1回目で2、2回目で4、3回目で8になるので答えは8である。アの2は1回目、イの4は2回目までしか実行しなかった場合の値である。ウの6は2を3回足した場合の値であり、2倍を繰り返す処理の結果ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(繰返し)

問39|二分探索

あらかじめ昇順に整列された1000件のデータから、二分探索によって目的のデータを探す。必要となる比較回数は最大で何回か。

  1. 7回
  2. 9回
  3. 10回
  4. 500回
正解と解説
正解:C. 10回

二分探索は1回の比較で候補が半分になる。2の9乗は512で1000件に足りず、2の10乗は1024で1000件を超えるので、最大10回の比較で見つけられる。エの500回は線形探索の平均比較回数に近い値であり、アとイは半減の回数が不足している。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(探索)

問40|線形探索

n件のデータを線形探索するとき、目的のデータが必ず1件含まれ、どの位置にある可能性も等しいとすると、平均の比較回数はどれか。

  1. (n+1)÷2回
  2. n÷4回
  3. n回
  4. log2 n回
正解と解説
正解:A. (n+1)÷2回

1回目で見つかる場合からn回目で見つかる場合まで等しい確率なので、平均は(1+2+…+n)÷n=(n+1)÷2回となる。ウのn回は最悪の場合の比較回数、エのlog2 n回は二分探索の比較回数の目安である。イのn÷4回は根拠のない値である。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(探索)

問41|バブルソート

配列の要素が先頭から順に 3、1、4、1、5 と並んでいる。隣り合う2つの要素を先頭から順に比較し、左が右より大きければ入れ替える、という走査を1回行った直後の配列の並びはどれか。

  1. 1、1、3、4、5
  2. 1、3、1、4、5
  3. 3、1、1、4、5
  4. 1、3、4、1、5
正解と解説
正解:B. 1、3、1、4、5

3と1を比べて入れ替えて1,3,4,1,5、3と4はそのまま、4と1を入れ替えて1,3,1,4,5、4と5はそのままとなる。アは整列が完了した状態で1回の走査では到達しない。エは最初の入替えだけを行った途中の状態、ウは先頭の3と1の入替えを行わずに走査を進めた場合の並びである。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(整列)

問42|スタック

空のスタックに1、2、3をこの順にプッシュ(格納)し、続いてポップ(取出し)を1回行い、次に4をプッシュし、その後ポップを2回行った。取り出された値を取り出した順に並べたものはどれか。

  1. 1、2、3
  2. 1、4、2
  3. 3、2、4
  4. 3、4、2
正解と解説
正解:D. 3、4、2

スタックは後入れ先出しなので、最初のポップでは最後に入れた3が出る。次に4を入れてポップすると4、さらにポップすると2が出るので3、4、2となる。アは先入れ先出しのキューの場合に近い並び、イとウは取出しの順序を取り違えた並びである。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(データ構造)

問43|リスト構造

リスト構造の特徴として、適切なものはどれか。

  1. 各要素が次の要素の位置情報をもち、途中への挿入や削除を要素の移動なしに行える
  2. 要素が連続した領域に並び、先頭からの位置を番号で指定して直接読み書きできる
  3. 最後に格納したデータを最初に取り出す
  4. 最初に格納したデータを最初に取り出す
正解と解説
正解:A. 各要素が次の要素の位置情報をもち、途中への挿入や削除を要素の移動なしに行える

リストは各要素が次の要素の位置情報(ポインタ)をもつ構造で、位置情報を付け替えるだけで途中への挿入・削除ができる。イは配列、ウはスタック(後入れ先出し)、エはキュー(先入れ先出し)の説明であり、いずれもリスト構造の特徴ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(データ構造)

問44|データ形式

項目名と値の組を波括弧で囲んで記述し、入れ子構造も表せる軽量なデータ記述形式で、Webアプリケーションのデータ交換に広く使われるものはどれか。

  1. CSV
  2. XML
  3. JSON
  4. HTML
正解と解説
正解:C. JSON

JSONは項目名と値の組を波括弧で囲んで表す軽量なデータ記述形式で、Webのデータ交換で広く使われる。アのCSVは値をカンマで区切る表形式のデータ形式、イのXMLは独自のタグでデータの意味や構造を表すマークアップ言語、エのHTMLはWebページの構造を記述するマークアップ言語である。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(その他の言語・データ形式)

問45|プログラム言語

統計解析やデータ分析の分野で広く使われ、グラフ描画の機能も充実しているプログラム言語はどれか。

  1. HTML
  2. R
  3. SQL
  4. XML
正解と解説
正解:B. R

Rは統計解析やデータ分析に特化したプログラム言語で、豊富な統計手法とグラフ描画機能をもつ。アのHTMLはWebページの構造を記述するマークアップ言語、ウのSQLはデータベースを操作する問合せ言語、エのXMLはデータの意味や構造を表すマークアップ言語であり、いずれも統計解析用のプログラム言語ではない。

根拠:IPA「ITパスポート試験」シラバス Ver.6.5 大分類7:基礎理論 中分類14:アルゴリズムとプログラミング(プログラム言語)

演習:この章の問題を解く

ランダム出題の演習ツールです(JavaScript が有効な場合に動きます)。上の「確認問題」はそのままでもすべて読めます。

※ 解説は学習用の情報提供です。最新の出題範囲・制度は必ずIPAの公式発表をご確認ください。
※ 出題はIPA公開のシラバスVer.6.5(2026年1月1日適用)に沿った仮の宿 学習室のオリジナル問題です。試験制度・実施要項はIPAの公式発表をご確認ください。