離散数学(基礎)

1. 数値表現と基数変換

疑問を持つ人
あなた
先生!普段私たちは「0から9」までの10進数を使っているのに、なんでパソコンの世界は「0と1」だけの2進数とか、16進数なんてややこしいものを使うんですか?
解説するロボット
ロボ先生
いい質問だね!パソコンの頭脳(CPUやメモリ)は、電気のスイッチと同じで「電気が流れている(1)」か「流れていない(0)」の2通りしか判別できないんだ。
だから、コンピュータの世界はすべて2進数で動いているんだよ!

それぞれの「桁が上がるタイミング(基数)」の違いを確認しましょう。

10進数

0~9の数字を使う。
10になったら桁上がり。

8, 9, 10, 11...
2進数

0と1だけを使う。
2になったら桁上がり。

0, 1, 10, 11, 100...
16進数

0~9とA~Fを使う。
16になったら桁上がり。

9, A, B... F, 10, 11...
納得する人
あなた
なるほど!電気がONかOFFかしかないから2進数なんですね。でも、16進数はなんで必要なの?
解説するロボット
ロボ先生
2進数だと「10110100...」みたいに桁が長すぎて人間が読むと目がチカチカするよね?(笑)
実は「2進数の4桁」をちょうど「16進数の1桁」にまとめられるんだ!人間が見やすく短縮するための短縮表記だと覚えよう!

2. 基数変換

ある進数で表された数値を、別の進数に変換することを「基数変換」といいます。

注意するロボット
ロボ先生
【⚠️ 試験で必須の計算ルール!】
10進数から2進数に変えるときは、ひたすら「2で割り算」して、余った数を下から順に読み上げるだけ!この「下から読む」のを忘れやすいから注意してね!
10進数 2進数(2で割って余りを下から読む!)

例:10進数「4」を2進数へ

2 ) 4 ... 余り 0 (1桁目)
2 ) 2 ... 余り 0 (2桁目)
  1 ... 余り 1 (3桁目)
下から順に読むと 100
2進数 10進数(桁の重みを足す!)

2進数は、右から順に「1の位」「2の位」「4の位」「8の位」...と、2倍ずつ重みが増えていきます。「1」が立っている場所の重みを足すだけです!

例:2進数「101」を10進数へ

4の位 1 4
+
2の位 0 0
+
1の位 1 1
= 5

3. 集合とベン図

解説するロボット
ロボ先生
条件に合うものを集めたグループを「集合」、それを図にしたものを「ベン図」というよ。
覚えてほしい記号は2つだけ!∩(かつ:両方重なる部分)と、∪(または:合体した全部)だ!
A ∩ B (積集合)

A かつ B (AND)

両方に重なっている真ん中だけ!

A ∪ B (和集合)

A または B (OR)

どちらか一方でも入っていれば全合体!

4. 論理演算の基本

「0(偽)」と「1(真)」だけを使ったパズルです。基本の4つの動きをチェックしよう!

疑問を持つ人
あなた
AND(両方)や OR(どちらか)は分かるんですが、XOR(排他的論理和)って何ですか?名前が強そう…!
解説するロボット
ロボ先生
漢字に騙されないで!XORはシンプルに「2つの値が違うときだけ『1』になる」と覚えれば一発だよ。
「0と1」「1と0」みたいに、食い違っているときだけ正解(1)になるんだ!
AND (論理積)

両方が「1」のときだけ「1」

ABA AND B
000
010
100
111
OR (論理和)

どちらか片方でも「1」なら「1」

ABA OR B
000
011
101
111
XOR (排他的論理和)

値が食い違うときだけ「1」

ABA XOR B
000
011
101
110
NOT (否定)

0と1をひっくり返す

ANOT A
01
10

5. データの単位

疑問を持つ人
あなた
スマホの通信量で「ギガ」とか「メガ」って言いますが、そもそも基本の「ビット」や「バイト」って何バイトで1文字なんですか?
解説するロボット
ロボ先生
「0か1か」のスイッチ1個分が「1ビット(bit)」だ!
そして、そのスイッチを8個まとめたものが「1バイト(Byte)」。ちょうどアルファベット半角1文字(AとかBとか)を保存するのに必要な大きさなんだよ!
ビット (bit)
データの最小単位。「0」か「1」の2通りの状態を表す。
バイト (Byte)
8ビット = 1バイト
1バイトで256通り(2の8乗)のパターンが作れます。
大きな単位(1,000倍ずつアップ!)

k(キロ)→ M(メガ)→ G(ギガ)→ T(テラ)の順で大きくなります。千円札が1000枚で100万円...と同じ感覚ですね!

単位記号意味(0の数)読み方
テラT1,000,000,000,0001兆(ハードディスクの容量など)
ギガG1,000,000,00010億(スマホのデータ容量など)
メガM1,000,000100万(写真1枚のサイズなど)
キロk1,0001千(テキストファイルのサイズなど)

過去問演習(離散数学)

令和2年秋期 問62

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

  • 10011011
  • 10110011
  • 11001101
  • 11011001
平成30年春期 問75

A~Zの26種類の文字を表現する文字コードに最小限必要なビット数は幾つか。

  • 4
  • 5
  • 6
  • 7
平成29年秋期 問98

次のベン図の網掛けした部分の検索条件はどれか。

平成29年秋期 問98 ベン図
  • (not A) and (B and C)
  • (not A) and (B or C)
  • (not A) or (B and C)
  • (not A) or (B or C)

応用数学

1. 確率と統計(データの特徴を掴む!)

疑問を持つ人
あなた
「平均値」は分かるんですが、「中央値」や「最頻値」って何のためにあるんですか?平均だけでよくないですか?
解説するロボット
ロボ先生
例えば10人のクラスで、9人の年収が300万円なのに、1人だけ年収3億円の大富豪がいたらどうなると思う?
「平均年収は約3270万円です」と言われたら嘘みたいに感じるよね(笑)。極端に大きな値(外れ値)があるときは、真ん中の順位の人の金額である「中央値」を見たほうが現実的なんだ!
データの3大代表値
平均値
合計 ÷ 個数。
極端なデータ(外れ値)に引っ張られやすいのが弱点。
中央値 (メジアン)
背の順に並べたときに真ん中にくる人の値。
大富豪がいても影響を受けにくい!
最頻値 (モード)
最も頻繁(アンケートで1位)に登場した値。洋服の売れ筋サイズを見る時などに使う。
データの「ばらつき」を表す言葉
  • 分散標準偏差:クラス全員の点が「平均点付近にギュッと集まっているか」、それとも「0点と100点にバラバラに散らばっているか」を表す数値。

2. パソコン特有の「計算の誤差」

注意するロボット
ロボ先生
【⚠️ 専門用語の「引っかけ」に注意!】
「1億円 + 0.0001円」みたいに、超巨大な数と超小さな数を足すと、小さい方が無視されて消えちゃうことを「情報落ち」というよ!「桁落ち」と名前が似ているから間違えないでね!
丸め誤差
四捨五入や切り捨てで、端数が捨てられることによって生じるズレ。
情報落ち
超巨大な数と超小さな数の足し算で、小さな数が無視されてしまう現象。
桁落ち
ほぼ同じ大きさの数同士を引き算したときに、有効桁数が激減してしまう現象。

3. グラフ理論・待ち行列

グラフ理論(鉄道の路線図など)

点(駅)と線(線路)でつながりを表現する考え方。カーナビの最短ルート検索などで使われます。

待ち行列(レジの行列計算)

「何台レジを開ければ、お客さんを待たせずにスムーズにさばけるか?」を計算する理論です。

過去問演習(応用数学)

令和4年度 問59

次のデータの平均値と中央値の組合せはどれか。
〔データ〕 10,20,20,20,40,50,100,440,2000

  • 平均値:20、中央値:40
  • 平均値:40、中央値:20
  • 平均値:300、中央値:20
  • 平均値:300、中央値:40
令和6年度 問83

1から6までの六つの目をもつサイコロを3回投げたとき,1回も1の目が出ない確率は幾らか。

  • 1/216
  • 5/72
  • 91/216
  • 125/216
令和5年度 問77

ある受験者の4教科の得点が全て71点であったときこの受験者が最も高い偏差値を得た教科はどれか。
(平均点と標準偏差の表を参照)

令和5年度 問77 表
  • 国語
  • 社会
  • 数学
  • 理科

AI(人工知能)

1. 機械学習(AIがルールを学ぶ仕組み)

疑問を持つ人
あなた
最近ChatGPTとかAIがすごく話題ですが、そもそも「AI(人工知能)」ってどうやって頭が良くなるんですか?
解説するロボット
ロボ先生
人間が「これは猫の画像だよ」「これは犬だよ」と大量のデータを読み込ませて、AI自身にルールを覚えさせる「機械学習」がベースになっているんだ!
勉強のさせ方によって、3つのタイプに分かれるよ!
学習タイプ勉強のしかた(特徴)身近な活用例
教師あり学習 問題と「正解(解答)」をセットで与えて勉強させる。 迷惑メールの自動振り分け
明日の売上予測
教師なし学習 正解は教えず、データ全体の「似たもの同士のグループ分け」をさせる。 おすすめ商品の表示(レコメンド)
顧客のグループ分け
強化学習 試行錯誤を繰り返させ、「成功したらボーナス(報酬)」を与えて最善の行動を学ばせる。 将棋や囲碁の最強AI
自動運転・お掃除ロボット

2. ディープラーニング(深層学習)

人間の脳の神経回路(ニューロン)をヒントにした「ニューラルネットワーク」を進化させた、現在のAIの核心技術です。
最大の特徴は、「どこに注目すべきかのポイント(特徴量)すら、AI自身が勝手に発見してくれる」という点です!

3. 生成AIとよく出る最新トレンド用語

拍手するロボット
ロボ先生
ChatGPTなどの生成AIに、「どういう命令文(プロンプト)を書けば、一番賢い答えを引き出せるか?」を工夫する技術を「プロンプトエンジニアリング」というよ!今の試験でめちゃくちゃ狙われるから絶対覚えよう!
  • 生成AI (Generative AI):学習データをもとに、新しい文章・画像・音楽などをゼロから「生成」するAI。
  • LLM (大規模言語モデル):大量のテキストを学習した、文章作成を得意とする超巨大なAIモデル(ChatGPTの頭脳など)。
  • ファインチューニング:すでに完成しているAIに、自社の専門データなどを追加で学習させて「専用AI」にカスタマイズすること。

過去問演習(AI技術)

令和4年度 問67

ディープラーニングに関する記述として,最も適切なものはどれか。

  • インターネット上に提示された教材を使って,距離や時間の制約を受けることなく,習熟度に応じて学習をする方法である。
  • コンピュータが大量のデータを分析し,ニューラルネットワークを用いて自ら規則性を見つけ出し,推論や判断を行う。
  • 体系的に分類された特定分野の専門的な知識から,適切な回答を提供する。
  • 一人一人の習熟度,理解に応じて,問題の難易度や必要とする知識,スキルを推定する。
令和5年度 問74

ニューラルネットワークに関する記述として,最も適切なものはどれか。

  • PC,携帯電話,情報家電などの様々な情報機器が,社会の至る所に存在し,いつでもどこでもネットワークに接続できる環境
  • 国立情報学研究所が運用している,大学や研究機関などを結ぶ学術研究用途のネットワーク
  • 全国の自治体が,氏名,生年月日,性別,住所などの情報を居住地以外の自治体から引き出せるようにネットワーク化したシステム
  • ディープラーニングなどで用いられる,脳神経系の仕組みをコンピュータで模したモデル
令和7年度 問86

動物が写っている大量の画像から犬や猫などの特徴を自動的に抽出して,動物の種類を識別できるようにするAIの技術はどれか。

  • e-ラーニング
  • アクティブラーニング
  • アダプティブラーニング
  • ディープラーニング

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

1. データ構造(データの並べ方のルール)

疑問を持つ人
あなた
「キュー」とか「スタック」とか、聞いただけで頭が痛くなりそうです…。どう使い分けるんですか?
解説するロボット
ロボ先生
日常生活の例で考えれば一瞬だよ!
「キュー」はコンビニのレジの行列!(最初にならんだ人が最初にお会計を終えて出ていく)
「スタック」は机に積み上げた本!(一番上に追加した本を、一番最初に取り出す)と覚えよう!
キュー (Queue):レジの行列

FIFO (先入れ先出し)

最初に入れたデータが最初に出てくる構造。
例:プリンターの印刷待ちの順番

[入口] → 3番 2番 1番 → [出口]
スタック (Stack):積み上げた本

LIFO (後入れ先出し)

最後に入れたデータが最初に出てくる構造。
例:ブラウザの「戻る」ボタンの履歴

↓入れる ↑出す
[一番上のデータ]

2. アルゴリズム(問題解決の手順書)

料理でいう「レシピ」のことです。「どういう順番で計算すれば目的の答えが出るか」を組み立てる手順のことを指します。

注意するロボット
ロボ先生
【⚠️ 「2分探索法」の必須ルール!】
データを高速で見つけ出す「2分探索法」を使うには、絶対に「データがあらかじめキレイに昇順か降順に並べ替え(ソート)されていること」が条件だ!バラバラのデータには使えないから注意してね!
探索(探す):ターゲットのデータを見つける
線形探索法
先頭から1つずつ泥臭くチェックする方法。バラバラのデータでも使えるが時間がかかる。
2分探索法
キレイに並んだデータの真ん中を見て、「それより大きいか小さいか」で範囲を半分ずつに絞っていく高速な方法。

3. プログラミング言語と開発の仕組み

言語名得意なこと・特徴
Python 文法がシンプルで超人気!AI開発やデータ分析をするなら絶対コレ。
Java どんなOSでも動く万能選手。大企業のシステムやAndroidアプリ開発で広く使われている。
JavaScript Webブラウザ上で動く唯一の言語!サイトにアニメーションをつけたり動きを出すのに必須。
C言語 歴史が古く、実行スピードが超高速。家電の中身(組み込みシステム)などハードウェア制御に強い。
開発効率を上げるトレンド用語
  • ノーコード / ローコード:プログラムを一切書かず(または少し書くだけで)、画面のドラッグ&ドロップだけでアプリを作る技術。
  • API:他の会社が作ったシステムやデータ(Googleマップなど)を、自分のプログラムから簡単に呼び出して使える窓口。

4. その他の言語(マークアップ言語など)

プログラミング(計算や分岐)ではなく、「文章の構造やデータの見た目を指定する」ための言葉です。

納得する人
あなた
今見ているこのWebページも、まさに「HTML」というマークアップ言語で書かれているんですよね!
拍手するロボット
ロボ先生
その通り!素晴らしい気づきだね!
HTMLは「ここは見出しだよ」「ここは画像だよ」とタグ `< >` で囲んでWebページを作る言葉。そして、そのタグを自分たちの自由な名前で自作して、データのやり取りに使えるようにしたのが「XML」だ!
HTML
Webページを作るための標準言語。タグを使ってデザインや構造を指定する。
XML
自由にタグを自作できる言語。会社のシステム同士でデータを交換する時などに使う。
JSON
現在Webのデータ交換で一番人気の軽量な書き方。JavaScriptの書き方をベースにしている。

過去問演習(アルゴリズムとプログラミング)

平成30年秋期 問76

複数のデータが格納されているスタックからのデータの取出し方として,適切なものはどれか。

  • 格納された順序に関係なく指定された任意の場所のデータを取り出す。
  • 最後に格納されたデータを最初に取り出す。
  • 最初に格納されたデータを最初に取り出す。
  • データがキーをもっており,キーの優先度のデータを取り出す。
令和7年度 問98

4個の要素 [27, 42, 33, 12] を以下の手順で昇順に整列するとき、手順(1)~(3)は何回実行されるか。
(1) 最大値を選び、最後の要素と入れ替える。
(2) 最後の要素を対象から外す。
(3) 要素が1個以上残っていれば(1)へ。

  • 2
  • 3
  • 4
  • 5
令和5年度 問69

配列のデータを探索するアルゴリズムの記述として適切なものはどれか。

  • 2分探索法は,探索対象となる配列の先頭の要素から順に探索する。
  • 線形探索法で探索するのに必要な計算量は,探索対象となる配列の要素数に比例する。
  • 線形探索法を用いるためには,探索対象となる配列の要素は要素の値で昇順又は降順にソートされている必要がある。
  • 探索対象となる配列が同一であれば,探索に必要な計算量は探索する値によらず,2分探索法が線形探索法よりも少ない。
令和6年度 問88

JavaScriptに関する記述として,適切なものはどれか。

  • Webブラウザ上に,動的な振る舞いなどを組み込むことができる。
  • Webブラウザではなく,Webサーバ上だけで動作する。
  • 実行するためには,あらかじめコンパイルする必要がある。
  • 名前のとおり,Javaのスクリプト版である。
令和4年度 問88

IoTデータの形式記述について。[a]はコンマ区切り、[b]はタグを用いるマークアップ言語である。

  • a: CSV, b: JSON
  • a: CSV, b: XML
  • a: RSS, b: JSON
  • a: RSS, b: XML
令和6年度 問62

配列を文字列に変換する関数 convert(arrayInput)。
1なら"A"、それ以外なら"B"を追加する。
戻り値が"AABAB"になる配列はどれか。

令和6年度 問62 コード
  • {0,0,1,2,1}
  • {0,1,2,1,1}
  • {1,0,1,2,0}
  • {1,1,2,1,0}
令和5年度 問64

1からmaxまでの総和を求める関数。プログラム中のaに入れる字句はどれか。

令和5年度 問64 コード
  • calcX ← calcX × n
  • calcX ← calcX + 1
  • calcX ← calcX + n
  • calcX ← n