忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【アルゴリズム】素数をあぶり出す!「エラトステネスのふるい」|情報処理問題1000本ノック

プログラミングの基礎問題としても頻出の「素数判定」。その中でも、特定の範囲から素数をまとめて探し出す効率的なアルゴリズムを攻略しましょう。

1. 問題:素数抽出のアルゴリズム

【 問題 】 指定された整数以下のすべての素数を効率的に見つけるための手法で、2から順にその倍数を消去していく(ふるい落とす)ことで素数だけを残すアルゴリズムを何と呼ぶでしょうか?

ア、エラトステネスのふるい   イ、遺伝的アルゴリズム   ウ、アリストテレスのアルゴリズム   エ、ピタゴラスの定理

2. 正解:アルゴリズムの基礎に関する正解

正解: ア、エラトステネスのふるい

3. 解説:倍数を消して素数を残す

エラトステネスのふるいは、紀元前3世紀にギリシャの数学者エラトステネスが考案した、非常にシンプルで高速な素数抽出法です。

【図解:エラトステネスのふるいの手順】

1. 初期状態
・2から目的の数(例:30)までの整数を並べます。

2. 倍数の消去
・「2」は素数として残し、2の倍数(4, 6, 8...)をすべて消します。
・次に残っている最小の数「3」を素数とし、3の倍数(9, 12...)を消します。
・これを繰り返し、最後に残ったものがすべて素数となります。

3. 終了条件
・探索する範囲の最大値の平方根(√n)まで調べれば、すべての素数が確定します。
[ 関連用語の整理 ]
計算量:一つ一つ素数判定を行うより圧倒的に速く、O(n log log n)という非常に優れた効率を誇ります。
遺伝的アルゴリズム:生物の進化を模倣して最適解を探る手法であり、素数判定とは無関係です。
素数:1とその数自身でしか割り切れない、1より大きい自然数。

1. 理解のコツ: 「倍数は素数ではない」という性質を利用して、まるで「ふるい」にかけるように不純物(合成数)を取り除いていくイメージです。名前が似ている「アリストテレス(哲学者)」などに惑わされないようにしましょう。
2. 試験対策の視点: アルゴリズムの名称だけでなく、その具体的な手順(倍数を消していく)や効率性について問われることもあります。プログラミング試験でも実装例としてよく取り上げられるテーマです。


4. まとめ

「2から順に倍数を消去し、素数を抽出する」。これがエラトステネスのふるいです。数千年前の知恵が、現代のコンピュータ・プログラムにおいても現役で使われている非常に重要なアルゴリズムであることを押さえておきましょう。


PR

【情報セキュリティ】解読を拒む複雑なルール!「多重音字換字暗号」|情報処理問題1000本ノック

単一の文字を別の文字に置き換えるだけの「単一換字暗号」は、出現頻度分析で容易に解読されてしまいます。その弱点を克服するために考案された、より高度な換字手法を攻略しましょう。

1. 問題:複数文字をまとめる暗号化

【 問題 】 換字暗号のうち、1文字ずつではなく「複数文字をひとまとめ」にして暗号化する方式を何と呼ぶでしょうか? また、特に2文字を1組として暗号化するものを何と呼ぶでしょうか?

ア、多重音字換字暗号(ダイグラフィック換字暗号)   イ、シーザー暗号(ローテーション暗号)   ウ、転置暗号(ルート暗号)   エ、共通鍵暗号(ブロック暗号)

2. 正解:暗号アルゴリズムに関する正解

正解: ア、多重音字換字暗号(2文字1組はダイグラフィック換字暗号)

3. 解説:パターンの破壊

多重音字換字暗号(Polygraphic substitution cipher)は、複数の文字を1つのユニットとして扱うことで、文字の出現頻度の偏り(統計的性質)を隠蔽します。

【図解:ダイグラフィック換字暗号の特徴】

■ 基本概念
・例えば「HE」という2文字を、あらかじめ決めた換字表に基づいて「XY」という全く別の2文字の組み合わせに変換します。

■ ダイグラフィック(Digraphic)
・Di(2つの)+Graphic(書きもの)を意味し、2文字1組で処理する方式を指します。

■ 代表例:プレイフェア暗号
・5×5のアルファベット表を使い、2文字の相対的な位置関係から暗号化を行う、歴史的に有名なダイグラフィック暗号です。
[ 古典暗号の進化 ]
単一換字暗号:常に A→D のように決まった文字に置き換える(頻度分析に弱い)。
多表式換字暗号:場所によって A が D になったり X になったりする(ヴィジュネル暗号など)。
多重音字換字暗号:文字の「塊」で置き換える(今回のテーマ)。

1. 理解のコツ: 「単語」として暗号化するのではなく、「2文字のペア」という中途半端な単位で変換することで、言語特有のパターンを見えなくする工夫です。
2. 試験対策の視点: 古典暗号の分類として出題されることがあります。「複数文字をまとめて」「2文字1組(ダイグラフィック)」というキーワードが出たら、この方式を特定できるようにしましょう。現代のブロック暗号の先駆けとも言える考え方です。


4. まとめ

「複数文字をまとめて暗号化し、2文字1組をダイグラフィックと呼ぶ」。これが多重音字換字暗号です。単なる置き換えから一歩進んだ、情報理論的な安全性を高めるための基礎概念であることを押さえておきましょう。


【システム構成要素】限界まで性能を引き出す!「ターボ・ブースト」|情報処理問題1000本ノック

CPUは常に全力で動いているわけではありません。消費電力や温度に余裕があるとき、一時的にギアを上げる「ブースト機能」の仕組みを攻略しましょう。

1. 問題:CPUの動的クロック制御

【 問題 】 Core i5やCore i7などのプロセッサに搭載されており、稼働コア数、CPU負荷率、温度などを監視して、発熱量が一定枠内に収まっている場合に、動作クロックを定格以上に引き上げる機能を何と呼ぶでしょうか?

ア、ハイパースレッディング   イ、ターボ・ブースト・テクノロジー   ウ、オーバークロック   エ、キャッシュコヒーレンシ

2. 正解:プロセッサの技術に関する正解

正解: イ、ターボ・ブースト・テクノロジー

3. 解説:「熱の余白」を処理能力に変える

ターボ・ブーストは、OSがより高いパフォーマンスを必要とした際、プロセッサが消費電力・電流・温度の仕様限界未満で動作している場合に、自動的に動作周波数を高める技術です。

【図解:ターボ・ブーストの仕組み】

1. 状態監視
・CPUが「現在の温度は低いか?」「使っていないコアはあるか?」をリアルタイムでチェックします。

2. 余裕(マージン)の活用
・熱や電力に余裕があれば、動いているコアの動作クロックを段階的に引き上げます。

3. 自動調整
・負荷が下がったり、温度が上昇して限界に近づいたりすると、元のクロックに自動で戻ります。
[ 関連用語の整理 ]
ハイパースレッディング:1つの物理コアを、OSから2つの論理コアに見せかけて並列処理効率を高める技術。
オーバークロック:ユーザーが自己責任で定格以上の電圧・クロックを設定すること。ターボ・ブーストは「メーカー保証内での自動自動調整」である点が異なります。

1. 理解のコツ: 「余裕がある時だけ本気を出す」機能です。マラソンランナーが、心拍数や気温に余裕がある時だけスパートをかけるようなイメージです。
2. 試験対策の視点: 「温度や負荷を監視」「必要に応じてクロックを引き上げる」というキーワードがセットで出題されます。また、電力消費を抑えるための「省電力制御(スピードステップなど)」と対比させて理解しておくとより確実です。


4. まとめ

「発熱量が枠内であれば、動作クロックを引き上げる」。これがターボ・ブースト・テクノロジーです。ハードウェアの限界を賢く使い切り、処理能力を最大化する現代のプロセッサには欠かせない技術です。


【マネジメント】近代企業の基本形!「所有と経営の分離」|情報処理問題1000本ノック

会社を誰が持ち、誰が動かすのか。この役割分担を明確にすることで、企業はより大きな資本を集め、専門的な経営を行うことが可能になりました。その根幹となる概念を攻略しましょう。

1. 問題:企業の所有と運営

【 問題 】 株式会社などにおいて、出資者である株主(会社の所有者)と、実際の事業運営を行う経営者が異なる状態にあることを、何と何の分離と呼ぶでしょうか?

ア、資本と経営   イ、労働と経営   ウ、企画と実行   エ、組織と個人

2. 正解:企業形態に関する正解

正解: ア、資本と経営(所有と経営)

3. 解説:専門経営者によるガバナンス

資本(お金)を出す人と、経営(舵取り)をする人を分けることで、出資者はリスクを限定し、会社はプロの経営者による効率的な運営を享受できます。

【図解:資本と経営の分離】

■ 資本(所有):株主
・出資を行い、株主総会を通じて経営陣の選任や重要事項の決定権を持ちます。
・目的:配当や株価上昇による利益の最大化。

■ 経営(執行):取締役・執行役員
・株主から経営を委託され、専門知識を活かして事業を運営します。
・目的:企業の持続的な成長と価値向上。
[ 発生する課題 ]
エージェンシー問題:経営者が株主の利益よりも自分の利益を優先してしまう問題。これを防ぐための仕組みが「コーポレートガバナンス(企業統治)」です。
ディスクロージャー:所有者(株主)に対して、経営状況を正しく報告するための情報公開制度。

1. 理解のコツ: 「オーナー社長」は資本と経営が一致していますが、大企業になるほど「株主(投資家)」と「サラリーマン社長(専門経営者)」に分かれていきます。これが「資本と経営の分離」です。
2. 試験対策の視点: 「会社の所有者と経営者が異なる」という一文が出たら、この用語を即座に引き出せるようにしましょう。また、関連して「株主総会」と「取締役会」の役割の違いも問われることがあります。


4. まとめ

「会社の所有者と経営者が異なることを資本経営の分離という」。この構造を維持しつつ、健全な経営が行われているかを監視する仕組みが、現代の企業社会には不可欠であることを押さえておきましょう。


【マネジメント】顧客単価を上げる手法!「クロスセル」|情報処理問題1000本ノック

限られた顧客数の中で売上を最大化するには、一人ひとりの購入額を増やす工夫が必要です。関連商品を提案する「クロスセル」の仕組みを攻略しましょう。

1. 問題:販売促進のテクニック

【 問題 】 顧客が特定の製品を購入しようとする際、それに関連する別の製品やサービスを組み合わせて、併せて購入するように促す手法を何と呼ぶでしょうか?

ア、アップセル   イ、クロスセル   ウ、バンドル販売   エ、リテンション分析

2. 正解:マーケティング戦略に関する正解

正解: イ、クロスセル

3. 解説:関連商品を「ついで買い」してもらう

クロスセル(Cross-selling)は、購入を決定した商品に対して「こちらのケースもいかがですか?」といった関連提案を行い、品目数を増やす手法です。

【図解:クロスセルとアップセルの違い】

■ クロスセル(Cross-sell)
別の製品を組み合わせて売ること。
・例:スマートフォンを購入する客に、保護フィルムやイヤホンを勧める。

■ アップセル(Up-sell)
より高額な製品に切り替えてもらうこと。
・例:5万円のPCを検討している客に、より高性能な10万円のモデルを勧める。
[ デジタルマーケティングでの応用 ]
レコメンデーション:ECサイトなどで「この商品を買った人はこんな商品も買っています」と表示される機能は、自動化されたクロスセルの代表例です。
LTV(顧客生涯価値):クロスセルによって顧客との接点が増えれば、長期的な収益の向上にもつながります。

1. 理解のコツ: クロス(交差)するように横へと広げていくのがクロスセル、アップ(上)へとグレードを上げるのがアップセルです。ファストフード店での「ご一緒にポテトはいかがですか?」は、世界で最も有名なクロスセルの一つです。
2. 試験対策の視点: クロスセルとアップセルはセットで出題されることが非常に多いです。問題文に「別の製品を合わせて」とあればクロスセル、「より上位の製品を」とあればアップセルを選択しましょう。


4. まとめ

「他の製品と合わせて購入させる」。これがクロスセルです。顧客のニーズを先読みし、利便性を高める提案をすることで、顧客満足度と売上の両立を目指す戦略であることを押さえておきましょう。

【マネジメント】状況に応じた最適解!「コンテンジェンシー理論」|情報処理問題1000本ノック

組織運営において「唯一絶対の正解」は存在しません。置かれた環境や技術に合わせて、柔軟に組織構造を変えていく考え方を攻略しましょう。

1. 問題:組織構造と環境の適合

【 問題 】 組織の置かれた環境や、組織が利用する技術が異なれば、それらに適合する最適な組織構造も異なるという考え方を、何理論と呼ぶでしょうか?

ア、コンテンジェンシー理論   イ、科学的管理法   ウ、二要因理論   エ、X理論・Y理論

2. 正解:組織論に関する正解

正解: ア、コンテンジェンシー理論

3. 解説:不確実性への適応

コンテンジェンシー(Contingency)とは「不慮の出来事」や「条件次第」を意味します。つまり、環境の変化に応じて組織の形を変える「状況適応理論」のことです。

【図解:コンテンジェンシー理論の要点】

■ 唯一最善の否定
・どんな状況でも通用する「最高の組織構造」は存在しないと考えます。

■ 環境との適合性
・安定した環境:ピラミッド型の「機械的組織」が効率的。
・激変する環境:柔軟な「有機的組織」が適合しやすい。

■ リーダーシップへの応用
・リーダーのスタイルも、メンバーの成熟度や業務の性質によって使い分けるべきだとされます(フィードラー理論など)。
[ 関連する組織論 ]
機械的組織:権限が集中し、規律やマニュアルが重視される組織。
有機的組織:個々の判断が尊重され、コミュニケーションが横断的な組織。
バーンズ&ストーカー:環境の不確実性と組織構造の関係を調査し、この理論の基礎を築いた研究者。

1. 理解のコツ: 「ケース・バイ・ケース(時と場合による)」を学問的に体系化したものがコンテンジェンシー理論です。「環境が違えば、正解も違う」という柔軟な姿勢がポイントです。
2. 試験対策の視点: 経営組織やプロジェクトマネジメントの文脈で頻出です。特に「状況が異なれば、適合する構造も異なる」というフレーズが出たら、即座にこの理論を想起できるようにしましょう。


4. まとめ

「環境や技術に合わせて、組織の形を最適化する」。これがコンテンジェンシー理論です。変化の激しい現代のIT業界において、この「状況適応」の考え方は極めて重要な指針となります。


【マネジメント】在庫評価のルール!「後入先出法」|情報処理問題1000本ノック

仕入れた商品の単価が時期によって変動する場合、在庫の評価額をどう計算するかは利益に直結します。出庫の優先順位による計算の違いを攻略しましょう。

1. 問題:在庫評価の計算方式

【 問題 】 在庫評価法のうち、新しく仕入れたもの(後に入庫したもの)から先に払い出される(出庫される)と仮定して、棚卸資産の価額を計算する手法を何と呼ぶでしょうか?

ア、先入先出法   イ、後入先出法   ウ、移動平均法   エ、総平均法

2. 正解:在庫管理・会計に関する正解

正解: イ、後入先出法

3. 解説:後に仕入れた分が、先に出庫される前提

後入先出法(LIFO:Last-In, First-Out)は、物価が上昇している局面では、直近の高い仕入値を売上原価に反映させるため、利益を低く(保守的に)見積もる特徴があります。

【図解:在庫評価の代表的な手法】

■ 後入先出法(LIFO)
・後に仕入れたものから順に出庫されるとみなす計算。
・手元に残る在庫は「古い単価」になります。

■ 先入先出法(FIFO)
・先に仕入れたものから順に出庫されるとみなす計算。
・手元に残る在庫は「新しい単価」になります。食品などの鮮度管理のイメージに近い手法です。
[ 補足 ]
平均法:仕入れた商品の単価を平均して計算する手法(移動平均法や総平均法)。
会計基準の動向:国際的な会計基準(IFRS)等では、後入先出法は実態との乖離が大きくなりやすいため、現在は認められない傾向にあります。

1. 理解のコツ: 「後に入れたものを先に出す」から「後入先出」です。実際の商品の動きがどうであれ、あくまで「計算上のルール」であることを押さえておきましょう。
2. 試験対策の視点: 物価上昇時において「先入先出法」と「後入先出法」のどちらが利益を大きく見せるか、といった比較問題が出ることがあります。先入先出は「古い(安い)原価」が計上されるため、利益が大きく出やすくなります。


4. まとめ

「後に仕入れた分が、先に出庫される前提で計算する」。これが後入先出法です。在庫評価の方法によって、企業の財務諸表(損益計算書など)に現れる数値が変わることを理解しておきましょう。

【データベース】表の「縦」と「横」を数える!「次数」と「濃度」|情報処理問題1000本ノック

リレーショナルデータベースの理論では、表(リレーション)の構造や規模を「次数」と「濃度」という言葉で表現します。どちらが「列」でどちらが「行」か、混乱しやすいポイントを攻略しましょう。

1. 問題:リレーションの特性

【 問題 】 あるデータベースの表において、定義されている「属性(列・項目)」の数と、格納されている「タプル(行・レコード)」の数を指す用語の組み合わせとして、正しいものはどれでしょうか?

ア、属性の数:濃度   タプルの数:次数
イ、属性の数:次数   タプルの数:濃度
ウ、属性の数:ドメイン   タプルの数:スキーマ
エ、属性の数:インスタンス   タプルの数:カーディナリティ

2. 正解:データベースの基本用語に関する正解

正解: イ、属性の数:次数   タプルの数:濃度

3. 解説:集合論から見た表の数え方

リレーショナルモデルは数学の集合論に基づいています。そのため、日常的な「列・行」ではなく、数学的な用語が使われます。

【図解:次数と濃度の違い】

■ 次数(Degree)
・表を構成する「列(属性)」の数のこと。
・例:[社員番号, 氏名, 部署名] の表なら、次数は「3」です。

■ 濃度(Cardinality:カーディナリティ)
・表に含まれる「行(タプル)」の数(データ件数)のこと。
・例:100人分のデータが入っていれば、濃度は「100」です。
[ 覚え方のヒント ]
次数:関数の「二次式、三次式」のように、変数の数(項目の数)をイメージしましょう。
濃度:カルピスの濃さのように、中にどれだけ要素(データ)が詰まっているか、というイメージで覚えましょう。
変化の性質:運用中に「濃度」はデータの増減で激しく変化しますが、「次数」はテーブル定義変更(ALTER TABLE)をしない限り変わりません。

1. 理解のコツ: 実務では「カーディナリティ(濃度)」という言葉は、インデックスの効き具合(データの種類の多さ)を指す文脈でもよく使われます。理論用語としては「行の数」そのものを指すという点をまず押さえましょう。
2. 試験対策の視点: 午後問題や論理設計の問題で「このリレーションの次数はいくつか」といった問われ方をすることがあります。また、直積(デカルト積)の演算結果において、次数は「和」になり、濃度は「積」になる、といった計算問題への応用も重要です。


4. まとめ

「横(項目数)が次数、縦(データ件数)が濃度」。このシンプルな区別が、複雑なデータベース理論を解くための第一歩です。用語を正確に使い分けられるようにしておきましょう!


【データベース】SQL操作の土台!「基底表(ベーステーブル)」|情報処理問題1000本ノック

データベースには、実際にデータが格納されている「実体のある表」と、利便性のために作られた「仮想的な表」があります。全ての操作の根源となる「基底表」を攻略しましょう。

1. 問題:表の結合と元となる表

【 問題 】 SQLのSELECT文やビュー(VIEW)を定義する際、その元となる、実際にディスク上にデータが格納されている表のことを何と呼ぶでしょうか?

ア、結合表   イ、スキーマ表   ウ、基底表   エ、導出表

2. 正解:データベースの構造に関する正解

正解: ウ、基底表

3. 解説:データの「実体」と「見かけ」

リレーショナルデータベース(RDB)において、表(テーブル)は大きく「基底表」と「導出表(仮想表)」の2つに分類されます。

【図解:基底表とビューの関係】

■ 基底表(Base Table)
・CREATE TABLE文で定義され、実際にハードディスクなどの記憶装置にデータが書き込まれている表。

■ ビュー(View)/ 導出表
・1つ以上の基底表から、特定の列や行を抽出・結合して作られた仮想的な表。
・ビュー自体にはデータの実体はなく、参照されるたびに基底表からデータを取り出します。
[ 運用のポイント ]
更新の制限:ビューに対してUPDATEやINSERTを行う場合、その操作が「どの基底表のどの行か」を一意に特定できる必要があります(結合されたビューなどは更新できない場合が多い)。
正規化:基底表を適切に正規化(第3正規形など)し、冗長性を排除することがDB設計の基本です。

1. 理解のコツ: 「基底表は本物の書類」で、「ビューはその書類の必要な部分だけをコピーしたり、複数の書類を重ねて見せている透過シート」のようなものです。透過シート上の文字を書き換えるには、元の書類(基底表)が特定できなければなりません。
2. 試験対策の視点: 「元となる表」というキーワードが出たら基底表を指します。また、ビューの定義を削除しても基底表のデータは消えない、といった「実体か仮想か」という区別を問う問題も頻出です。


4. まとめ

「SQLやビューの定義の元になる、実体を持った表」。これが基底表です。データベースのパフォーマンスや整合性を支えるのは、この基底表の設計(物理設計・論理設計)そのものであることを押さえておきましょう。


【情報セキュリティ】脅威を分類して対策を練る!「STRIDE」モデル|情報処理問題1000本ノック

セキュリティ対策は、壁を作って防ぐことだけではありません。システムに潜む「どのような脅威があるか?」をあらかじめ分類し、漏れなく対策を講じることが、設計段階における鉄則です。

■ セキュリティ脅威の分類:STRIDEモデル

マイクロソフトが提唱した「STRIDE」は、脆弱性がどのように悪用されるかを6つのカテゴリに分類したフレームワークです。

脅威の分類概要とリスク代表的な対策例
S: なりすまし
(Spoofing)
正当な権限を持つユーザーやシステムに化ける ・多要素認証 (MFA)
・デジタル署名
T: 改ざん
(Tampering)
データやプログラムを不正に書き換える ・ハッシュ値による検知
・アクセス制御 (ACL)
R: 否認
(Repudiation)
「やっていない」と操作の事実を否定・主張する ・操作ログ、監査ログ
・デジタル署名
I: 情報漏洩
(Information Disclosure)
機密情報が第三者にさらされる・盗まれる ・データの暗号化 (SSL/TLS)
・最小権限の原則
D: サービス拒否
(Denial of Service)
過負荷を与え、システムの利用を妨害する ・WAF、CDNによる防御
・レートリミット(制限)
E: 特権昇格
(Elevation of Privilege)
一般ユーザーが管理者権限を不正に奪取する ・特権管理 (PAM)
・入力値のバリデーション

試験対策の重要キーワード

  • 脅威モデリング:設計段階でSTRIDEなどを用いて、「どこにどのような攻撃のリスクがあるか」を洗い出す作業です。
  • CIAとの関係:機密性(C)は情報漏洩、完全性(I)は改ざん、可用性(A)はDoS攻撃と、それぞれのセキュリティ特性に密接に関係しています。
  • デフォルト・セキュア:設計段階からこれらの脅威を想定し、初期設定から安全な状態(権限最小化など)を維持する考え方です。

※STRIDEは、エンジニアが「漏れ」なく脅威を特定するための共通言語です。開発の初期段階からこれらを意識することで、後からの修正コストを大幅に削減できます。