-- Table structure for table `section_6`
--

CREATE TABLE `section_6` (
  `id` int NOT NULL AUTO_INCREMENT,
  `chapter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `main_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `sub_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `theory_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `tip` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `section_6`
--

INSERT INTO `section_6` VALUES (1,'01','オペレーティングシステム','OSとは','OS（Operating System）とは、アプリケーションソフトウェアとハードウェアの間で処理を仲介するソフトウェアです。世界で最も普及しているパソコン向けのOSはWindowsです。また、macOSも広く利用されています。他にも、iPhoneに搭載されているiOSや、さまざまなスマートフォンに搭載されているAndroidもOSの一種です。',NULL,'/home/air/goalskill_t/back/img/section6/1.png','OSは前ページの図のように「アプリケーションソフトウェアとハードウェアをつなぐ架け橋」ということもできます。 一方、アプリケーションソフトウェアとは、ユーザーに特定の機能を提供するソフトウェアです。例えば「カメラ機能」や「メッセージ機能」などです。'),(2,'01','オペレーティングシステム','OSの４つの機能','OSにはさまざまな機能が搭載されていますが、基本情報技術者試験では次の４つの機能に関する知識が出題されます。 \n（１）ジョブ管理 \n（２）タスク管理（p.209） \n（３）記憶管理（p.213） \n（４）データ管理（p.218）\nそれぞれの解説が比較的長いので、通読するのは大変ですが、それぞれの特徴や違いを把握するためにも、（４）データ管理まで一気に読み進めることをお勧めします。それでは、まずはジョブ管理から解説します。',NULL,NULL,NULL),(3,'01','オペレーティングシステム','（１）ジョブ管理','ジョブ管理とは、ジョブの実行順序を管理する機能です。ジョブとは、ユーザーがコンピュータに依頼する仕事の単位です。例えば、「書類の印刷」「ファイルの複製」などがジョブに該当します。 ジョブはOSが取り扱います。OSは、ユーザーが出したジョブを受け取ると、それをさらに細かい単位に分解し、CPUに渡して処理を実行してもらいます。',NULL,NULL,NULL),(4,'01','オペレーティングシステム','なぜジョブ管理が必要か','なぜジョブ管理が必要なのでしょうか。それは、CPUとその他のハードウェアの処理速度が大幅に異なるからです。例えば「書類の印刷」のようなジョブの場合、プリンターはCPUと比べて処理速度が圧倒的に遅いため、もしOSにジョブ管理機能がない場合、CPUはプリンターの処理が完了するまで、待ち状態となります。これではCPUの能力を十分に活かせません。そこで、OSがジョブ管理を行い、プリンターが印刷処理を実行している間は、CPUには別のジョブを実行させるなどして、CPUを有効活用します。これがジョブ管理の内容です。','試験にはコレが出る！ \nジョブ管理では処理時間を求める計算問題が出題されます。章末の過去問題を参照（p.219）。','/home/air/goalskill_t/back/img/section6/2.png',NULL),(5,'01','オペレーティングシステム','スプーリング','OSがジョブ管理を行って、CPUとプリンターを別々に動作させるには、「スプーリング」という技術が必要となります。 スプーリングとは、「CPU」と「低速の入出力装置」の間のデータ転送を、「高速の補助記憶装置」に仲介させる技術です。 スプーリングは、プリンターでの印刷時によく使われる技術です。先述したように、CPUと比べるとプリンターの動作は非常に遅いため、CPUとプリンターが直接やり取りをするとCPUが待ち状態になってしまいます。 そこで、CPUとプリンターの間に補助記憶装置（ハードディスクなど）を配置し、そこに一時的にデータを保存します。そして、プリンターの処理のスピードに合わせて補助記憶装置からプリンターにデータを送ります。こうすることで、CPUは別のジョブを行うことができます。',NULL,'/home/air/goalskill_t/back/img/section6/3.png',NULL),(6,'01','オペレーティングシステム','バッファ','スプーリングで使用する補助記憶装置のように、処理速度や転送速度の異なる２つの装置の差を補うことを目的として、データを一時的に保存する記憶装置のことを「バッファ」といいます。装置間の差を和らげる（緩衝する）役割であることから「緩衝記憶装置」と呼ばれることもあります。 なお、CPUと主記憶装置の処理速度の差を補う「キャッシュメモリ」（p.161）や、主記憶装置とハードディスクの処理速度の差を補う「ディスクキャッシュ」もバッファの１つです。','試験にはコレが出る！\n・スプーリングとは、CPUと低速の入出力装置の間のデータ転送を、高速の補助記憶装置に仲介させる技術\n・バッファの機能は、処理速度や転送速度の異なる２つの装置の差を緩和すること',NULL,NULL),(7,'01','オペレーティングシステム','（２）タスク管理','タスク管理とは、タスクの実行順序を管理する機能です。タスクとは、OSがCPUに出す命令の単位です。\n\n・ユーザーがコンピュータに出す命令を「ジョブ」という\n・OSがCPU（ハードウェア）に出す命令を「タスク（プロセス）」という',NULL,'/home/air/goalskill_t/back/img/section6/4.png','私たちは普段、アプリ（アプリケーションソフトウェア）を使って写真を撮ったり、メッセージを送受信したりします。OSはそれらの一連の処理を「タスク（プロセス）」という単位に分割してから、CPUに実行させます。'),(8,'01','オペレーティングシステム','マルチタスク','マルチタスクとは、タスク管理によって複数のタスクを頻繁にすばやく切り替えることによって、それらのタスクがあたかも同時に実行されているかのように見せる技術です。\n\n実はCPUの１つのコア (p.145) は一度に１つの作業しか実行できません。しかし、だからといって、１つのタスクが完了するまで他のタスクを待機させておく方法だと、処理完了までに時間のかかるタスクが発生した場合に、他のタスクが長時間待たされることになってしまいます。 こういった問題を防ぐのがOSのマルチタスクという機能です。マルチタスクを利用すると、見かけ上は、複数のタスクを同時に実行することができます。なお、マルチタスクは、CPUが単体で行っているのではなく、OSがCPUを操作することで実現しています。',NULL,'/home/air/goalskill_t/back/img/section6/5.png','マルチタスクを正しく理解するためのポイントは「あたかも同時に実行されているかのように見せる」という点です。これはつまり「実際には同時に実行されているわけではない」ということです（上図を参照）。'),(9,'01','オペレーティングシステム','プリエンプティブとノンプリエンプティブ','タスクを切り替える方法は「プリエンプティブ」と「ノンプリエンプティブ」の２つに分類されます。',NULL,'/home/air/goalskill_t/back/img/section6/6.png',NULL),(10,'01','オペレーティングシステム','タスクが生成されてから消滅するまで','タスクは、その生成から消滅までに以下の３つの状態をとります。 \n（１）実行可能状態：いつでもタスクを実行できる状態 \n（２）実行状態：タスクを実行している状態 \n（３）待ち状態：タスクの入出力処理の完了を待っている状態',NULL,'/home/air/goalskill_t/back/img/section6/7.png','①タスクの生成 → 実行可能状態 \nタスクが生成されると、まずは実行可能状態になります。\n\n②実行可能状態 → 実行状態 \nCPUの使用権がOS、またはタスクに割り当てられると、タスクは実行状態に移ります。なお、OSがタスクを実行状態に移すことを「ディスパッチ」といいます。\n\n③実行状態 → 実行可能状態 \nプリエンプティブの場合、より優先度の高いタスクが発生すると、優先度の低いタスクは実行可能状態に戻り、優先度の高いタスクが実行状態に移ります。 一方、ノンプリエンプティブの場合、より優先度の高いタスクが発生しても、現在のタスクが終了するのを待ってから、優先度の高いタスクが実行状態に移ります。\n\n④実行状態 → 待ち状態 \nタスクに入出力処理が必要になると、実行状態から待ち状態に移ります。 入出力処理とは、CPUが入出力装置や補助記憶装置などとデータをやり取りすることです。 これらの処理には時間がかかるため、OSは入出力処理が必要なタスクを待ち状態に移して、CPUに別のタスクを実行させます。\n\n⑤待ち状態 → 実行可能状態 \n入出力処理が完了すると、タスクは待ち状態から実行可能状態に移ります。\n\n⑥実行状態 → タスクの消滅 \nタスクの実行が完了すると、タスクは消滅します。'),(11,'01','オペレーティングシステム','タスクスケジューリング','タスクスケジューリングとは、実行可能状態にある複数のタスクの中から、どのタスクを実行状態に移すのかを決めることです。いくつかの方式があります。','試験にはコレが出る！\n\n・人間がコンピュータに出す命令を「ジョブ」という\n\n・OSがCPU（ハードウェア）に出す命令を「タスク」という\n\n・マルチタスクとは、タスク管理によって複数のタスクを頻繁にすばやく切り替えることで、それらのタスクがあたかも同時に実行されているかのように見せる技術\n\n・タスクは、その生成から消滅までに以下の３つの状態をとる\n(1) 実行可能状態：いつでもタスクを実行できる状態\n(2) 実行状態：タスクを実行している状態\n(3) 待ち状態：タスクの入出力処理の完了を待っている状態\n\n・ディスパッチとは、実行可能状態のタスクを実行状態に移すこと（CPUの使用権を割り当てること）\n\n・プリエンプティブとは、CPUの使用権をOSが管理する方式。優先度の低いタスクを実行中に、優先度の高いタスクが発生したら、優先度の低いタスクを実行可能状態にして、優先度の高いタスクを実行状態にする\n\n・ノンプリエンプティブとは、CPUの使用権をタスクが管理する方式。優先度の低いタスクを実行中に、優先度の高いタスクが発生しても切り替えない\n\n・ラウンドロビン方式とは、タスクを一定時間ごとに切り替えて実行する方式','/home/air/goalskill_t/back/img/section6/8.png',NULL),(12,'01','オペレーティングシステム','（3）記憶管理','記憶管理とは、記憶装置を効率的に利用するための機能です。 記憶管理はさらに、主記憶装置(p.160)を管理する「主記憶管理」と、仮想記憶を管理する「仮想記憶管理」の２つに分類されます。\n なお、基本情報技術者試験では仮想記憶管理が頻出です。そこで、ここでは仮想記憶管理のみを解説します。',NULL,NULL,NULL),(13,'01','オペレーティングシステム','仮想記憶管理','　仮想記憶管理とは、補助記憶装置(p.160)の一部をあたかも主記憶装置であるかのように扱う方式です。 この方式を利用すると、プログラムが主記憶装置の容量を超える大きさの場合に、そのプログラムを仮想記憶上に格納することで、実行できるようになります。 \n　仮想記憶管理では、OSが「論理的な記憶領域」を作ります。この「論理的な記憶領域」のことを仮想記憶といいます。 これに対して、主記憶装置上の「物理的な記憶領域」のことを実記憶といいます。',NULL,'/home/air/goalskill_t/back/img/section6/9.png','仮想記憶管理はさらに、セグメンテーション方式とページング方式の２つの方式に分類されます。'),(14,'01','オペレーティングシステム','セグメンテーション方式','セグメンテーション方式とは、仮想記憶と実記憶をセグメントと呼ぶ可変長の領域に分割して管理する方式です。 \nなお、基本情報技術者試験では、この方式よりも、ページング方式のほうが出題頻度が圧倒的に高いので、ページング方式についてのみ、詳しく解説します。',NULL,NULL,NULL),(15,'01','オペレーティングシステム','ページング方式','　ページング方式とは、仮想記憶と実記憶をページと呼ぶ固定長の領域に分割して管理する方式です。 \n　仮想記憶と実記憶の各ページには、先頭から順にアドレスが割り振られるのですが、仮想記憶のアドレスのことを「仮想アドレス」と呼び、実記憶のアドレスのことを「物理アドレス」と呼びます。 \n　仮想アドレスと物理アドレスは「ページテーブル」と呼ばれる表によって対応付けられます。ページテーブルは、仮想アドレスと物理アドレスを示す２つの列があり、それぞれに以下の値が割り当てられます。\n\n・仮想アドレスを示す列には、仮想記憶の仮想アドレスと同じ番号\n・物理アドレスを示す列には、実記憶の物理アドレスと同じ番号',NULL,'/home/air/goalskill_t/back/img/section6/10.png','なお、仮想記憶の各ページとページテーブルの各行は１対１で対応付けられるため、仮想記憶にあるページの総数とページテーブルの行の総数は同じになります。'),(16,'01','オペレーティングシステム','CPUがページにアクセスする流れ','ページング方式でCPUが目的のページにアクセスする流れを説明します。上図をみながら確認してください。\nここでは、例として、CPUがプログラムの実行中に「ページA」が必要になったとしましょう。\n（１）まず、CPUは仮想記憶の「ページA」にアクセスする。「ページA」の仮想アドレスは「1」なので、ページテーブルにある仮想アドレスが「1」の行にアクセスする \n（２）続いて、その行の物理アドレスは「2」なので、実記憶にある物理アドレスが「2」のページにアクセスする \n（３）CPUは「ページA」の実体にアクセスすることができる',NULL,NULL,NULL),(17,'01','オペレーティングシステム','ページインとページアウト','もし「プログラムを実行するために必要なページ」が実記憶に存在しない場合、ページフォールトという割込みが発生します。 ページフォールトとは、実記憶に存在しないページへのアクセスによって起こる割込みです。 この割込みが発生すると、OSは「プログラムを実行するために必要なページ」を補助記憶装置から実記憶へ読み込みます。この動作をページインといいます。',NULL,'/home/air/goalskill_t/back/img/section6/12.png','一方、実記憶に空きページがない場合は、実記憶から外すページを１つ選び、そのページを実記憶から補助記憶装置へ書き出します。この動作をページアウトといいます。空きページを確保できたら、補助記憶装置から実記憶に必要なページを読み込みます（ページイン）。'),(18,'01','オペレーティングシステム','ページの置き換えアルゴリズム','ページアウト・ページインはできるだけ発生しないほうがCPUの処理効率は高まります。つまり、頻繁に使うページはできるだけ実記憶に残しておき、めったに使わないページを実記憶から外すことが望ましいといえます。 どのページを実記憶から外すのかを決めるためのアルゴリズムのことを「ページの置き換えアルゴリズム」といいい、アルゴリズムは全部で3種類あります。',NULL,'/home/air/goalskill_t/back/img/section6/14.png','上記のような状況において、各アルゴリズムを採用したときに追い出されるページは次のとおりです。\n\nLRUの場合：ページB：最後に参照した時刻が最も古いため\n\nLFUの場合：ページC：参照回数が最も少ないため\n\nFIFOの場合：ページA：主記憶に最も先に読み込んだため\n\nなお、基本情報技術者試験に出題されるのは主に「LRU (Least Recently Used)」です。'),(19,'01','オペレーティングシステム','スラッシング','スラッシングとは、仮想記憶管理において、割り当てられる実記憶の容量が小さいときに、ページアウトとページインが頻繁に起こる現象です。 実記憶の容量に比べて扱うデータが大きければ、空きページがなくなります。\n先述したように、スラッシングとは、仮想記憶管理において、割り当てられる実記憶の容量が小さいときに、ページアウトとページインが頻繁に起こる現象です。 実記憶の容量に比べて扱うデータが大きければ、空きページがなくなります。','試験にはコレが出る！\n・ページングとは、仮想記憶と実記憶をそれぞれ固定長の領域に区切り、対応づけて管理する方式\n\n・ページフォールトとは、実記憶に存在しないページへアクセスしたときの割込み\n\n・CPUがページにアクセスする流れは、仮想記憶へのアクセス → ページテーブルの参照 → ページフォールト → 置き換えるページの決定 → ページアウト → ページイン\n\n・LRUとは、最後に参照されてからの経過時間が最も長いページを置き換える方式\n\n・スラッシングとは、ページアウトとページインが頻発すること','/home/air/goalskill_t/back/img/section6/15.png',NULL),(20,'01','オペレーティングシステム','(4) データ管理','ここまでに、4つあるOSの機能のうちの3つの機能を解説してきました。最後の1つは「データ管理」です。 データ管理とは、コンピュータが処理するデータを管理する機能です。 具体的には、「ファイルシステム」や「バックアップ」などの機能です。 これらの機能は、基本情報技術者試験においてとても重要なので、次項以降で詳しく解説します。',NULL,NULL,NULL),(21,'02','データ管理とファイルシステム','データ管理とは','「OSの4つの機能」(p.207)のうちの1つである「データ管理」について解説します。 データ管理とは、コンピュータが処理する「データ」を管理する機能です。 具体的には、「ファイルシステム」や「バックアップ」などの機能です。 これらの機能は、基本情報技術者試験においてとても重要です。 中でも「絶対パス」は非常によく出題されるのでしっかり押さえておいてください。',NULL,NULL,NULL),(22,'02','データ管理とファイルシステム','ファイルシステム','ファイルシステムとは、データのまとまりを「ファイル」として扱うことで、データを管理しやすくする機能です。 下図はWindowsのファイルシステムの操作画面です。 写真や音楽などのデータがフォルダに格納されています。',NULL,'/home/air/goalskill_t/back/img/section6/17.png','先述したように、コンピュータは「0」と「1」の２つの数値しか扱うことができません。 このため、コンピュータに保存されているあらゆるデータは、突き詰めれば「0」と「1」の羅列になります。 しかし、このような無機質な数値を人間が解読するのは不可能です。 ２進数の羅列を見て、それが画像なのか、音楽なのかを判別できる人はいないでしょう。 そこで、ファイルシステムの登場です。 ファイルシステムが、２進数の羅列であるデータを「ファイル」として視覚化し、人間に扱いやすい形に変換します。'),(23,'02','データ管理とファイルシステム','ファイルとディレクトリ','ファイルとは、記憶装置に記録された情報の集まりであり、ファイルシステムの管理単位の１つです。 ファイルには「書類」という意味があります。 ディレクトリとは、ファイルを格納する場所です。 ディレクトリを活用することで、無数に存在するファイルを、種類ごとに分類して格納することが可能になります。 例えば、音楽ファイルは音楽ディレクトリに、画像ファイルは画像ディレクトリにと、人間がわかりやすい形でファイルを格納できます。','学習のポイント ディレクトリとフォルダ\n　 ディレクトリと似た用語に「フォルダ」があります。 どちらもファイルを格納する場所です。 フォルダは、主にマウスを使って、ダブルクリックしながら視覚的にファイル間を移動する、WindowsやMacなどの操作画面で使われる用語です。 一方、ディレクトリは、主にキーボードを使って、文字を入力しながらファイル間を移動する操作画面で使われる用語です。','/home/air/goalskill_t/back/img/section6/18.png',NULL),(24,'02','データ管理とファイルシステム','ツリー構造によるデータ管理','ファイルシステムは、ファイルやディレクトリを「ツリー構造（木構造、階層構造）」で管理します。 ツリー構造とは、各ファイルを下図のように分類して管理するデータの管理方法です。 枝分かれしている木を逆さまにしたような形状になることから**ツリー構造（木構造）**と呼ばれています。','学習のポイント 英語の意味がわかれば、用語の意味もわかる \n　ルートディレクトリの「ルート (Root)」とは、「根っこ」という意味です。このことから、すべてのツリー構造の最上位に位置するディレクトリであることがわかります。同様に、カレントディレクトリの「カレント (Current)」とは「現在の」という意味です。つまり、現在、ユーザーが操作しているディレクトリであることがわかります。','/home/air/goalskill_t/back/img/section6/20.png',NULL),(25,'02','データ管理とファイルシステム','「パス」によるファイルの指定','WindowsやMacなどでは、マウスを操作することでディレクトリ（フォルダ）の階層を上下に行き来できるのですが、その他にも、キーボードで直接「パス」という文字列を指定することで、目的のディレクトリへ移動する方法もあります。 基本情報技術者試験では、この「パスを使って目的のディレクトリやファイルを指定する方法」が必ずといっていいほど出題されます。そのため、ここでその方法を詳しく解説します。必ず習得しておいてください。',NULL,NULL,NULL),(26,'02','データ管理とファイルシステム','パスとは','パス (Path) とは、ファイルやディレクトリの場所を示す文字列です。 パスは、次の４つのルールに従って記述します。各ルールについては次項以降で１つずつ詳しく解説していきます。まずは４つのルールをざっと確認してください。\n\nルール1：ディレクトリやファイルは「/」(スラッシュ)で区切る\n\nルール2：パスのはじまりが「/」のときは、左端にルートディレクトリが省略されているものとする\n\nルール3：カレントディレクトリは「.」で表す\n\nルール4：１階層上のディレクトリは「..」で表す','学習のポイント ４つのルールは覚えなくてもよい \n　パス指定には４つもルールがあるので、「これも覚えないといけないのか...」とうんざりした人も多いと思いますが、安心してください。パス指定の４つのルールは、試験の問題文に記載されているので、暗記する必要はありません。大切なのは、各ルールの内容を理解することです。一度理解してしまえば、試験当日に問題文を読めば、難なく解答できます。',NULL,NULL),(27,'02','データ管理とファイルシステム','ルール1：ディレクトリやファイルは「/」(スラッシュ)で区切る','フォルダやファイルの階層構造は「/」(スラッシュ)で区切ります。例えば、下図の [りんご.jpg] ファイルを指定する場合は、次のようにパスを指定します。\n\n /画像/りんご.jpg',NULL,NULL,NULL),(28,'02','データ管理とファイルシステム','ルール2：パスのはじまりが「/」のときは、左端にルートディレクトリが省略されているものとする','パスの指定が「/」からはじまる場合、それは「ルートディレクトリからの指定」であることを意味します。なお、ツリー構造の最上位であるルートディレクトリから指定したパスのことを「絶対パス」といいます。',NULL,NULL,NULL),(29,'02','データ管理とファイルシステム','ルール3：カレントディレクトリは「.」で表す','パスは、カレントディレクトリから指定することもできます。ルートディレクトリから指定する場合、パスは「/」からはじめますが、カレントディレクトリから指定する場合は「./」からはじめます。この「.」(ドット)がカレントディレクトリを意味します。 例えば、現在 [画像] フォルダを参照している状態で、[画像] → [高解像度] → [みかん.jpg] を指定する場合は、次のようにパスを指定します。 \n\n./高解像度/みかん.jpg',NULL,'/home/air/goalskill_t/back/img/section6/21.png','このように、カレントディレクトリ（現在の場所）から別のファイルやフォルダを指定するパスのことを「相対パス」といいます。 なお、当然のことながら、[みかん.jpg] はルートディレクトリから絶対パスで指定することも可能です。 その場合は次のようにパスを指定します。\n\n/画像/高解像度/みかん.jpg'),(30,'02','データ管理とファイルシステム','ルール4 １階層上のディレクトリは「..」で表す','絶対パスの場合は、最上位にあるルートディレクトリからパスを指定するので、パスの指定は常に上から下へ向かいますが、相対パスの場合は、カレントディレクトリよりも上の階層のファイルやフォルダを指定するケースもあります。 例えば、下図において、カレントディレクトリが [画像] フォルダの場合に、[どんぐりころころ.mp3] ファイルを指定する場合を考えてみましょう。','学習のポイント パスの区切り文字 \nパスの区切り文字は「/」が基本ですが、OSによっては「¥」で区切る場合もあります。 多くの人が利用しているWindowsのパスの区切り文字は「¥」です。 なお、記号が異なっても指定方法は同じです。 例えば「/画像/りんご.jpg」は「¥画像¥りんご.jpg」と指定します。 試験問題においてパスの区切り文字がどの記号であるかは試験の問題文に記載されています。','/home/air/goalskill_t/back/img/section6/22.png','上図のようなツリー構造の場合、相対パスで [どんぐりころころ.mp3] を指定するには、いったん [ルートディレクトリ] に上がってから、[音楽] → [どんぐりころころ.mp3] へと階層を下がっていく必要があります。 このように、階層を上がる際に指定するのが「..」（ドット２つ）です。 つまり、カレントディレクトリが [画像] フォルダの場合に、相対パスで [どんぐりころころ.mp3] を指定するには、次のようにパスを指定します。\n\n../音楽/どんぐりころころ.mp3\n\nこのように、特定のファイルやフォルダを指定する方法には、絶対パスと相対パスの２種類があります。 それぞれの指定方法をしっかりと覚えておいてください。'),(31,'03','バックアップ','バックアップとは','バックアップとは、通常使用している補助記憶装置とは別の補助記憶装置上にデータの予備を取っておくことです。 基本情報技術者試験で出題されるのは「フルバックアップ」「差分バックアップ」「増分バックアップ」の３種類です。',NULL,NULL,NULL),(32,'03','バックアップ','フルバックアップ','フルバックアップ（完全バックアップ）とは、常にすべてのデータをバックアップすることです。 フルバックアップのメリットの１つに「作業の簡易さ」が挙げられます。 フルバックアップでは常に全データがバックアップされているので、システム障害が発生した際には、最新のバックアップデータを使うだけで、システムを元の状態に戻すことができます。',NULL,'/home/air/goalskill_t/back/img/section6/23.png','ただし、フルバックアップでは常にすべてのデータをバックアップしなければならないので、データ量が多い場合には、バックアップの作成に時間がかかります。'),(33,'03','バックアップ','差分バックアップ','差分バックアップとは、フルバックアップ以降、新たに追加されたデータのみをバックアップすることです。 バックアップするのはフルバックアップからの追加分だけなので、バックアップにかかる時間は短いです。 反面、復旧にはフルバックアップと差分バックアップの２つのデータが必要になるので、復旧作業が煩雑になります。 下図は、日曜日にフルバックアップをとり、月曜日から水曜日までの毎日、差分バックアップをとった状態を表しています。 例えば、水曜日にデータベースを復旧する場合は、日曜日のフルバックアップと水曜日の差分バックアップの２つのデータを使って、システムを元の状態に戻します。',NULL,'/home/air/goalskill_t/back/img/section6/24.png',NULL),(34,'03','バックアップ','増分バックアップ','増分バックアップとは、前回のバックアップから新たに追加されたデータのみをバックアップすることです。 バックアップするのは前回のバックアップからの追加分だけなので、バックアップにかかる時間は差分バックアップよりもさらに短いです。 反面、バックアップのデータが複数になるので、復旧作業が差分バックアップよりもさらに煩雑になります。 下図は、日曜日にフルバックアップをとり、月曜日から水曜日までの毎日、増分バックアップをとった状態を表しています。 例えば、水曜日にデータベースの復旧を行う場合は、日曜日のフルバックアップと月曜日、火曜日、水曜日の増分バックアップの４つのデータを使って、システムを元の状態に戻します。','学習のポイント：レプリケーションとアーカイブ\nバックアップと似た機能に「レプリケーション」と「アーカイブ」があります。 レプリケーションとは、データの複製（レプリカ）を別のコンピュータ上に作成して、リアルタイムで内容を同期することです。 一方、アーカイブとは、データを保管庫（アーカイブ）にコピーして長期間保存することです。','/home/air/goalskill_t/back/img/section6/26.png',NULL),(35,'04','開発ツール','プログラムが実行されるまで','下図は、人間が書いたプログラムが、コンピュータで実行されるまでの過程を表した図です。',NULL,'/home/air/goalskill_t/back/img/section6/27.png',NULL),(36,'04','開発ツール','ソースコードとオブジェクトコード','コンピュータは「0」と「1」の数字しか理解することができません。 一方で、人間にとっては「0」と「1」の数字の羅列はとても読みづらいです。 そこで、人間は「プログラム言語」という、人間にとって読みやすい言語を使ってプログラムを書き、それをコンピュータが理解できる形に変換することで、コンピュータに命令を出しています。 この人間が読みやすいプログラム言語で書かれたプログラムのことを「ソースコード」といい、「0」と「1」の数字の羅列に変換されたプログラムのことを「オブジェクトコード」といいます。 また、この変換を実行するツールのことを「コンパイラ」といいます（次項を参照）。',NULL,NULL,NULL),(37,'04','開発ツール','コンパイラ','コンパイラは「人間が書いたソースコード」を「コンピュータが読めるオブジェクトコード」へ翻訳するツールです。',NULL,NULL,NULL),(38,'04','開発ツール','コンパイラの処理手順','コンパイラが実行する処理を細かく見ると、以下の5つの処理を行うことでソースコードをオブジェクトコードに変換します。 基本情報技術者試験では、5つの処理の順序とそれぞれの処理内容が出題されます。\n\n（1）字句解析：ソースコードを細かい要素に分けて、間違いがないかチェックする\n （2）構文解析：プログラムの文法が間違っていないかチェックする \n （3）意味解析：プログラムの手続きに矛盾がないかチェックする \n （4）最適化：計算の順序などを改善して、効率的なプログラムに変換する \n （5）コード生成：オブジェクトコードのプログラムを作る',NULL,'/home/air/goalskill_t/back/img/section6/28.png','なお、現在のコンパイラは、単にプログラムをオブジェクトコードに変換するだけでなく、上記のようにプログラムの「最適化」も行います。 このような、最適化の手順を含むコンパイラのことを特に「最適化コンパイラ」と呼びます。'),(39,'04','開発ツール','リンカとロードモジュール','コンパイラが生成したオブジェクトコードは、コンピュータが理解できる「0」と「1」の形式になっていますが、このままではまだ実行できません。 なぜなら、このオブジェクトコードを実行するうえで必要となる別のオブジェクトコードやライブラリなどが１つにまとめられていないためです。 そこで「リンカ」というツールを使って、複数のオブジェクトコードとライブラリを１つにまとめて、実行できるプログラム（ロードモジュール）を生成します。',NULL,'/home/air/goalskill_t/back/img/section6/30.png',NULL),(40,'04','開発ツール','インタプリタ','インタプリタとは、ソースコードを１文字ずつ解釈しながら実行するツールです。 コンパイラがソースコードを一括で変換するのに対し、インタプリタはソースコードを１文字ずつ変換しながら実行します。 インタプリタは書いたソースコードをすぐに実行できるので、効率よくソフトウェアを開発できるというメリットがあります。 一方で、インタプリタでは、コンパイラのようにソースコードの最適化が行われないため、実行時の効率が悪いというデメリットがあります。 この「コンパイラと比較した場合のメリットとデメリット」は必ず覚えておいてください。','もう少し詳しく！ ソースコードとオブジェクトコードの別の呼び方 \n　理論説明：基本情報技術者試験では、「ソースコード」のことを「原始プログラム」と記載することがあります。 また、「オブジェクトコード」のことを「目的モジュール」や「目的プログラム」と記載することがあります。 これらの別名が頻繁に登場するわけではありませんが、稀に登場することがあるので、頭の片隅に入れておいてください。',NULL,NULL),(41,'04','開発ツール','テストツール','プログラムが正しく動くかどうかは、テストをして確認します。 テストは大きく「人間によるテスト」と「コンピュータによるテスト」の２つに分類できます。 人間によるテストの代表例は「レビュー」です。 レビューとは、複数の人が集まってドキュメントやソースコードを読み、誤りがないか確認することです。\nコンピュータによるテストは「静的テスト」と「動的テスト」に分類できます。','試験にはコレが出る！\n\n・ソースコード解析ツールは、ソースコードを解析して、プログラムの誤りを見つけるソフトウェア\n\n・ソースコード解析ツールは、静的テストツールに分類される','/home/air/goalskill_t/back/img/section6/32.png','コンピュータによるテストでは、「テストツール」と呼ばれる、プログラムの間違いを見つけるプログラムを用いてテストを行います。 なお、世の中にはさまざまなテストツールがありますが、基本情報技術者試験によく出題されるのは「ソースコード解析ツール」です。その他のテストツールは不正解選択肢として登場するだけなので、一度目を通すだけで十分です。'),(42,'05','オープンソースソフトウェア','オープンソースソフトウェアとは','オープンソースとは、ソースコードが公開されていて、誰でも自由に見たり、変更したりすることができるという考え方です。 また、オープンソースの考え方に基づいて作られたソフトウェアのことを「オープンソースソフトウェア (OSS)」といいます。オープンソースソフトウェアのソースコードは一般に公開されており、誰でも自由にソースコードを改変したり、再配布したりすることができます。なお、基本情報技術者試験では「OSS」と記載されることが多いです。',NULL,NULL,NULL),(43,'05','オープンソースソフトウェア','Eclipse','Eclipseとは、OSSの統合開発環境です。統合開発環境 (IDE : Integrated Development Environment) とは、テキストエディタやコンパイラ、テストツールなど、開発に必要なツールが１つにまとまったソフトウェアです。 EclipseはJava言語によるシステム開発などで広く利用されています。基本情報技術者試験では、OSSの代表例の１つとして、よく出題されます。',NULL,NULL,NULL),(44,'05','オープンソースソフトウェア','その他のソフトウェア','オープンソースソフトウェアの他に「商用ソフトウェア」と「パブリックドメインソフトウェア」があります。',NULL,'/home/air/goalskill_t/back/img/section6/33.png',NULL),(45,'05','オープンソースソフトウェア','コピーレフト','コピーレフト (Copyleft) とは、プログラムの著作権は作者が保持するが、誰もがプログラムの複製、改変、再配布ができ、さらに２次著作物（派生物）にもオリジナルと同じ配布条件を求める考え方です。 コピーレフトのポイントは「２次著作物にも」という文章です。これは「改変したプログラムを再配布する場合はソースコードも公開しなければならない」ということです。','試験にはコレが出る！\n\n・Eclipseとは、OSSの代表的な統合開発環境\n\n・コピーレフトとは、２次著作物（派生物）に、オリジナルと同じ配布条件を適用すること','/home/air/goalskill_t/back/img/section6/34.png',NULL);

--
-- Table structure for table `section_7`
--

CREATE TABLE `section_7` (
  `id` int NOT NULL AUTO_INCREMENT,
  `chapter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `main_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `sub_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `theory_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `tip` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `section_7`
--

INSERT INTO `section_7` VALUES (1,'01','半導体メモリ','半導体と半導体メモリ','半導体とは、電気を通す「導体」と、電気を通さない「絶縁体」の中間の性質を持つ物質です。半導体は、温度を変えたり、不純物を加えたりすることで、電気抵抗が変化します。 また、半導体メモリとは、半導体の性質を利用してデータを保存する装置です。記憶装置にデータを保存する方法には磁気（HDDなど）や、光（CDやDVDなど）、電気（USBメモリなど）があります（p.161）。半導体メモリは、これらのうち、電気を使ってデータを保存する記憶装置の部品として使われています。',NULL,NULL,NULL),(2,'01','半導体メモリ','半導体メモリの種類','半導体メモリには次ページの図のようにたくさんの種類があります。なお、基本情報技術者試験では「RAM」「ROM」「DRAM」「SRAM」「SDRAM」「フラッシュメモリ」の６種類がよく出題されます。',NULL,'/home/air/goalskill_t/back/img/section7/1.png',NULL),(3,'01','半導体メモリ','RAMとROMの違い','半導体メモリは「RAM」と「ROM」の２種類に大別できます（上図を参照）。',NULL,NULL,NULL),(4,'01','半導体メモリ','RAMとは','RAM (Random Access Memory) とは、揮発性メモリです。「揮発性」の本来の意味は「蒸発のしやすさ」です。このことから、揮発性メモリとは、電源が切れるとデータが消滅してしまう半導体メモリのことを指します。\n先述した主記憶装置（p.160）やキャッシュメモリ（p.161）は、RAMに分類されるDRAMやSRAMを用いた記憶装置です。',NULL,NULL,NULL),(5,'01','半導体メモリ','ROMとは','ROM (Read Only Memory) とは、不揮発性メモリです。読んで字のごとく、不揮発性メモリとは、電源を切ってもデータが保持される半導体メモリです。先述したSSD（p.161）やUSBメモリ（p.159）は、ROMに分類されるフラッシュメモリを用いた記憶装置です。',NULL,NULL,NULL),(6,'01','半導体メモリ','DRAMとSRAMの違い','RAMには「DRAM」と「SRAM」の２種類があります（上図を参照）。',NULL,NULL,NULL),(7,'01','半導体メモリ','DRAMとは','DRAM (Dynamic RAM) とは、絶えずリフレッシュを繰り返し続けているRAM（揮発性メモリ）です。リフレッシュとは、データが消えないように１秒間に何度も繰り返し電荷を加えることです。 DRAMは主に**主記憶装置（メインメモリ）**で使われている半導体メモリです。DRAMに蓄えられる電荷はものすごく小さいので、常にリフレッシュを行わないと、すぐにデータが消えてしまいます。一方で、DRAMは回路が単純で小さいので、データ容量の大きい半導体メモリを安く作ることができます。',NULL,NULL,NULL),(8,'01','半導体メモリ','SDRAMとは','DRAMには、SDRAM (Synchronous DRAM) という種類があります。何と同期するかというと、SDRAMはクロック (p.142) と同期して動作する半導体メモリです。',NULL,NULL,NULL),(9,'01','半導体メモリ','SRAMとは','SRAM (Static RAM) とは、リフレッシュをする必要がないRAM（揮発性メモリ）です。リフレッシュが不要であるため、非常に高速に動作します。そのため、主にキャッシュメモリ (p.161) で使われています。SRAMのデメリットは値段が高い点にあります。',NULL,NULL,NULL),(10,'01','半導体メモリ','フラッシュメモリ','ROMにはいくつかの種類がありますが、基本情報技術者試験では「フラッシュメモリ」が最頻出です。 フラッシュメモリとは、**電気的にデータの書き換えができるROM（不揮発性メモリ）**です。第4章で説明した「SSD」や「USBメモリ」の中身はすべてフラッシュメモリです。 フラッシュメモリでは、「ページ」と呼ばれる、ビットをひとまとめにした単位でデータの読み書きを行います。また、データの消去は「ブロック」と呼ばれる、ページをひとまとめにした単位で行います。','試験にはコレが出る！\n・DRAMはSRAMに比べ、データ容量の大きいメモリを安く作ることができる\n・SRAMは、リフレッシュをする必要がない\n・フラッシュメモリは、ブロック単位で電気的にデータを消去する',NULL,NULL),(11,'02','電子回路','メモリセル','コンデンサやフリップフロップ回路について理解するためには、先に「メモリセル」について理解しておく必要があります。 メモリセルとは、半導体メモリの中で「0」または「1」という情報を保存する入れ物です。半導体メモリの構造における最小単位であり、別の言い方をすると、「半導体メモリは無数のメモリセルによって構成されている」といえます。',NULL,'/home/air/goalskill_t/back/img/section7/2.png',NULL),(12,'02','電子回路','コンデンサ','主記憶装置に使われることが多いDRAMは、メモリセルがコンデンサで作られています（メモリセルの中にコンデンサが１つずつ入っています）。コンデンサとは、電気を蓄えることができる電子部品です。','学習のポイント　コンデンサの仕組みを理解する必要はない \n基本情報技術者試験では「DRAMはコンデンサを利用して作られている」ということを覚えておけば十分です。コンデンサがどのような仕組みであるかは出題されません。',NULL,NULL),(13,'02','電子回路','フリップフロップ回路','キャッシュメモリに使われることが多いSRAMは、メモリセルがフリップフロップ回路で作られています。フリップフロップ回路とは、１ビットの情報（0または1）を保存できる順序回路です。順序回路とは、現在の入力だけでなく、過去の入力によって出力が決まる論理回路(p.56)です。 フリップフロップ回路の特徴は、電圧を保持し続けられる点にあります。コンデンサのように頻繁にリフレッシュする必要がなく、高速に動作します。そのため、処理速度が求められるキャッシュメモリに採用されています。','試験にはコレが出る！\n・DRAMは、コンデンサを利用する\n・SRAMは、フリップフロップ回路を利用する\n・コンデンサは、価格が安い\n・フリップフロップ回路とは、2つの安定状態を持つ順序回路','/home/air/goalskill_t/back/img/section7/3.png',NULL),(14,'02','電子回路','その他のハードウェア関連の用語',NULL,NULL,NULL,NULL),(15,'02','電子回路','チャタリング','チャタリングとは、機械式スイッチのオン／オフが切り替わる短い間に、意図しないオン／オフが何度も繰り返される現象のことです。例えば、マウスを一度しかクリックしていないのにダブルクリックと認識されたりするような現象をチャタリングといいます。',NULL,NULL,NULL),(16,'02','電子回路','7セグメントLED','7セグメントLEDとは、8個のLEDを組み合わせて数字を表現するディスプレイです。具体的には右図のようなディスプレイです。7つのLEDで数字を表しますが、小数点を表すドットのLEDもあるので、LEDは合計で8つあります。7セグメントLEDは、以下の2つに分類できます。\n\n・アノードコモン型：ポート（接続口）から出力される電圧が低いときに光る\n・カソードコモン型：ポート（接続口）から出力される電圧が高いときに光る\n\n例えば、カソードコモン型の7セグメントLEDに「4」という数字を表示するには、下図のP1(b), P2(c), P5(f), P6(g)の出力ポートに高い電圧をかけます。','試験にはコレが出る！\n\n・チャタリングとは、機械式スイッチのオン／オフが切り替わる短い間に、意図しないオン／オフが何度も繰り返される現象\n\n・7セグメントLEDに関する問題が出題される','/home/air/goalskill_t/back/img/section7/5.png',NULL);

--
-- Table structure for table `section_8`
--

CREATE TABLE `section_8` (
  `id` int NOT NULL AUTO_INCREMENT,
  `chapter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `main_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `sub_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `theory_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `tip` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `section_8`
--

INSERT INTO `section_8` VALUES (1,'01','ユーザーインタフェース技術','ユーザーインタフェースの必要性','どれほど素晴らしい機能を持ったシステムであっても、ユーザーインタフェースがきちんとデザインされていなければ、そのシステムはユーザーにとって使いづらいシステムになります。そのため、現在のシステム開発では、ユーザーインタフェースの設計と開発にたくさんの時間が割かれています。 ソフトウェアのユーザーインタフェースは大きく「CUI」と「GUI」の2つに分類されます。',NULL,'/home/air/goalskill_t/back/img/section8/1.png','GUIが普及した現在も、業務によってはコンピュータをCUIで操作することがあります。しかし、みなさんが業務で使うのは多くの場合、GUIだと思います。そのため、基本情報技術者試験でもGUIに関する問題が出題されます。出題数は少ないものの「GUIの部品」に関する問題が出題される傾向にあるので、それらについて解説していきます。'),(2,'01','ユーザーインタフェース技術','試験によく出るGUIの部品','基本情報技術者試験では、「ラジオボタン」「チェックボックス」「プルダウンメニュー」「コンボボックス」の4つの部品が出題されます。',NULL,NULL,NULL),(3,'01','ユーザーインタフェース技術','ラジオボタン','ラジオボタンとは、選択肢から一項目だけを選択できる部品です。通常、丸い形のボタンで表されます。',NULL,'/home/air/goalskill_t/back/img/section8/2.png','ラジオボタンの特徴は「1つしか選べない」ことです。基本情報技術者試験では、ラジオボタンの用途の説明文として「互いに排他的ないくつかの選択項目から1つを選ぶ」という表現で出題されます。ここでいう「排他的」とは、自身以外の項目を排除することです。例えば「会社員」と「小学生」はお互いに排他的ですが、「会社員」と「20代」は排他的ではありません。「20代の会社員」が存在するからです。'),(4,'01','ユーザーインタフェース技術','チェックボックス','チェックボックスとは、選択肢から複数の項目を選択できる部品です。通常は、ラジオボタンと区別するために四角い形のボタンで表されます。',NULL,'/home/air/goalskill_t/back/img/section8/3.png',NULL),(5,'01','ユーザーインタフェース技術','プルダウンメニュー','プルダウンメニューとは、選択肢を一覧表示し、その中から1つの項目だけを選択できる部品です（下図を参照）。先述したラジオボタンでは最初から選択肢が表示されますが、プルダウンメニューではボタンを押して選択肢を表示します。',NULL,NULL,NULL),(6,'01','ユーザーインタフェース技術','コンボボックス','コンボボックスとは、プルダウンメニューに手入力できる枠を追加した部品です。手入力できる枠のことをテキストボックスといいます。つまり、コンボボックスは「プルダウンメニュー＋テキストボックス」です。\n\n基本情報技術者試験では、これら4つのGUI部品を区別する問題が出題されます。各部品の特徴や違いを把握したうえで区別できるようになってください。','試験にはコレが出る！ \n・ラジオボタンの用途は、互いに排他的ないくつかの選択項目から1つを選ぶ \n・プルダウンメニューなどの「選択肢を表示する部品」は選択肢が多い場合は使わない','/home/air/goalskill_t/back/img/section8/6.png',NULL),(7,'02','ユーザーインタフェース設計','ユーザビリティ','ユーザビリティとは、使いやすさです。JIS（日本産業規格）では、ユーザビリティは以下のように定義されています。\n\n基本情報技術者試験では、ユーザビリティは「どれだけ利用者がストレスを感じずに、目標とする要求を達成できるか」という表現で出題されます。ストレスとは「不快感」のことで、利用者の満足度を測る指標の1つです。',NULL,'/home/air/goalskill_t/back/img/section8/8.png','上記の定義文にある「効果」「効率」「満足」には、それぞれ次のような意味があります。'),(8,'02','ユーザーインタフェース設計','ユーザビリティの評価','ユーザビリティは非常に重要な指標ですが、一方で、目に見えないため、良し悪しがすぐに判断できません。そこで、ユーザビリティを評価するいくつかの方法が考え出されました。 ユーザビリティを評価する代表的な方法は以下の4つです。','試験にはコレが出る！ \n・ユーザビリティとは、利用者がどれだけストレスを感じずに、目標とする要求が達成できるか \n・インタビュー法とは、「満足」を評価するときに用いる方法','/home/air/goalskill_t/back/img/section8/10.png',NULL),(9,'02','ユーザーインタフェース設計','入力チェック','ユーザビリティを向上させる機能の1つに「入力チェック」があります。 入力チェックとは、ユーザーがコンピュータに入力したデータが適切かどうかを調べることです。例えば、入力に誤りがあった場合は、画面にエラーを表示します。このような入力チェックもユーザーインタフェースの役割です。 主な入力チェックの手法に以下の4種類がありますが、基本情報技術者試験では「論理チェック」が頻出です。','試験にはコレが出る！ \n論理チェックとは、入力されたデータが論理的に正しいかどうかを検査すること','/home/air/goalskill_t/back/img/section8/11.png',NULL),(10,'02','ユーザーインタフェース設計','ユーザビリティを向上させるその他の機能','ここで、ユーザビリティを向上させるその他の機能を見てみましょう。\n\n他にも、基本情報技術者試験では、「ユーザビリティ」とその関連用語を区別させる問題もよく出題されます。関連用語と区別できるようにしておいてください。','試験にはコレが出る！ \n・マクロ機能の目的は、定型的な作業を行う利用者の操作数を少なくすること \n・ショートカットキーの目的は、頻繁に行う操作を効率よく行えるようにすること','/home/air/goalskill_t/back/img/section8/12.png',NULL),(11,'02','ユーザーインタフェース設計','ユニバーサルデザイン','ユニバーサルデザインとは、年齢、文化、言語、能力の違い、障害の有無などにかかわらず、できるだけ多くの人が利用できることを目指した設計であり、「すべての人のためのデザイン」という意味です。ユニバーサルとは「万国共通」という意味です。',NULL,NULL,NULL),(12,'02','ユーザーインタフェース設計','バリアフリーデザイン','バリアフリーデザインとは、高齢者や障害者が生活するうえでの障壁（バリア）を取り除く設計です。なお、「ユニバーサルデザイン」と「バリアフリーデザイン」は混同されがちなので注意してください。ユニバーサルデザインのほうがより広範囲を対象とした考え方です。',NULL,NULL,NULL),(13,'02','ユーザーインタフェース設計','Webアクセシビリティ','Webアクセシビリティとは、年齢、身体的条件にかかわらず、すべての人がWebサイトにアクセスし、コンテンツを利用できる度合いです。',NULL,NULL,NULL),(14,'03','マルチメディア技術','(1) 文字','文字をデジタルデータとして表す方法には、以下の2種類があります。\n\n　ビットマップフォントは、ドットの集まりで文字を表現しているため、拡大するとギザギザが目立ちます。 \n　一方、アウトラインフォントは、文字の形状を「座標値や方程式などのデータ」として保持しており、文字を拡大・縮小するたびに形状を再計算するので、どんなに拡大・縮小しても、なめらかな曲線で表示されます。ギザギザが目立つようなことはありません。そのため、アウトラインフォントは、文字を任意の倍率に拡大して表示するケースなどに適しています。',NULL,'/home/air/goalskill_t/back/img/section8/14.png',NULL),(15,'03','マルチメディア技術','フォントの表示速度','アウトラインフォントも、実際に画面に出力する際には、ビットマップ（ドットの集まり）に変換する必要があります。この処理を「ラスタライズ」といいます。ビットマップフォントは、このラスタライズの処理が必要ないので表示が高速です。','試験にはこれが出る！ \nアウトラインフォントの利用が適しているのは、文字を任意の倍率に拡大して表示する場合',NULL,NULL),(16,'03','マルチメディア技術','(2) 音声','コンピュータはデジタルデータしか扱えないため、音声データもデジタル化されて保存されています。一方、人間の耳は「音波」というアナログ信号しか聞き取ることができません。そのため、コンピュータで音声データを扱う際には、アナログ信号をデジタルデータに変換したり、反対にデジタルデータをアナログ信号に変換したりする必要があります。',NULL,NULL,NULL),(17,'03','マルチメディア技術','PCMによるデータ変換','PCM (Pulse Code Modulation) とは、音声などのアナログ信号をデジタル信号に変換する方式の１つです。PCMでは下図のように３つのステップで、アナログ信号をデジタル信号に変換します。\n\nPCMで変換したデータの量は以下の計算式で算出します。\n\nPCM変換後のデータ量 = 標本化周波数 × 量子化ビット数 × 秒数 \n\n上記の式に例題で与えられた値を代入すると以下となります。\n\n PCM変換後のデータ量 = 44.1kHz × 16ビット × (60分 × 60秒) \n= 2,540,160kビット \n= 317,520kバイト \n≒ 318Mバイト\n\nよって、例題のデータ量はおよそ318Mバイトとなります。','試験にはコレが出る！ \nPCMの計算問題が出題される。p.273の過去問題で慣れておくことが重要','/home/air/goalskill_t/back/img/section8/18.png','音楽用CDの場合は、標本化（サンプリング）の周波数は44.1kHz、量子化では16ビットで音声データを記録します。これは、1秒間に44,100回（44.1kHz）データを区切り、区切ったデータを最大65,536（2の16乗）個の数で数値化することを意味します。'),(18,'03','マルチメディア技術','(3) 静止画','静止画とは、写真やイラストなどの「動きのない画像」です。基本情報技術者試験では、静止画に関する用語として「クリッピング」「アンチエイリアシング」「テクスチャマッピング」の3つの用語がよく出題されます。どれも馴染みのない用語かもしれませんが、ここでしっかりと各用語の特徴を把握しておいてください。',NULL,NULL,NULL),(19,'03','マルチメディア技術','クリッピング','クリッピングとは、画像の一部を切り抜くことです。特に、3次元グラフィックスの画像においては、クリッピングは作成した3次元画像にウィンドウと呼ばれる枠を指定して、ウィンドウの中だけを画像として取り出すことです。',NULL,'/home/air/goalskill_t/back/img/section8/19.png','基本情報技術者試験では、クリッピングの説明文として「画像表示領域にウィンドウを定義し、ウィンドウの外側を除去し、内側の見える部分だけを取り出す処理」という表現で出題されます。'),(20,'03','マルチメディア技術','アンチエイリアシング','アンチエイリアシングとは、画像処理の際に生じる線や輪郭のギザギザを目立たなくする手法です。',NULL,'/home/air/goalskill_t/back/img/section8/20.png','基本情報技術者試験では、アンチエイリアシングの説明文として「液晶ディスプレイなどの表示装置において、傾いた直線を滑らかに表示する手法」という表現で出題されます。'),(21,'03','マルチメディア技術','テクスチャマッピング','テクスチャマッピングとは、物体の表面に模様などの画像を貼り付けて質感を出す手法です。','試験にはこれが出る！ \n・クリッピングとは、画像表示領域にウィンドウを定義し、ウィンドウの外側を除去し、内側の見える部分だけを取り出す処理 \n・アンチエイリアシングとは、液晶ディスプレイなどの表示装置において、傾いた直線を滑らかに表示する手法 \n・テクスチャマッピングとは、物体の表面に画像を貼り付けることによって、表面の質感を表現する手法','/home/air/goalskill_t/back/img/section8/21.png','テクスチャ (texture) は「生地」、マッピング (mapping) は「模様を描く」という意味です。つまり「生地（画像）を使って物体に模様を描く」という意味になります。基本情報技術者試験では、テクスチャマッピングの説明文として「物体の表面に画像を貼り付けることによって、表面の質感を表現する手法」という表現で出題されます。'),(22,'03','マルチメディア技術','(4) 動画','動画とは「動きのある映像」です。動画はパラパラ漫画と同じです。たくさんの静止画をすばやく切り替えることで画像が動いているように見せています。一般的な動画では、1秒間に60枚の静止画を切り替えています。 基本情報技術者試験では、動画に関する用語として動画の圧縮技術である「H.264/MPEG-4 AVC」がよく出題されます。',NULL,NULL,NULL),(23,'03','マルチメディア技術','H.264/MPEG-4 AVC','高解像度の静止画を大量に使うと、動画のファイルサイズがとても大きくなってしまいます。そこで、ファイルサイズを小さくするための動画を圧縮する技術が必要となります。 H.264/MPEG-4 AVC (H.264/Moving Picture Experts Group phase 4 Advanced Video Coding) とは、動画を圧縮するための技術です。他の動画圧縮技術と同じように、動画の中で「変化があった部分（差分）」だけを保存することで、動画のファイルサイズを小さくします。H.264/MPEG-4 AVCは圧縮率が高く、従来の動画圧縮規格であるMPEG-2のおよそ2倍であり、現在は、ワンセグ放送（携帯端末向けの地上デジタル放送）、Blu-ray Disc、YouTubeなど、さまざまなメディアで使われています。','もう少し詳しく！ 名前が長い理由 \n「H.264/MPEG-4 AVC」の名前がこんなにも長く、そして複雑なのは、2つの規格名が併記されているからです。「H.264/MPEG-4 AVC」は、ITUとISO/IECという組織が共同で開発しました。ITUはこの技術を「H.264」という名前で規格化し、一方で、ISO/IECはこの技術を「MPEG-4 AVC」という名前で規格化しました。しかしながら、どちらの規格も同一の技術です。',NULL,NULL);

--
-- Table structure for table `section_9`
--

CREATE TABLE `section_9` (
  `id` int NOT NULL AUTO_INCREMENT,
  `chapter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `main_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `sub_title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `theory_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `tip` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `img_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=82 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `section_9`
--

INSERT INTO `section_9` VALUES (1,'01','データベースの基本','データベースとは','データベース（Database）とは、情報の集まりです。データベースに情報（データ）を集めると、データを一元管理できます。',NULL,'/home/air/goalskill_t/back/img/section9/1.png','データベースの概念図 データをファイルで管理する場合（データがバラバラなところにある）と、データをデータベースで管理する場合（データが1つの場所に集まっている）の比較が示されています。 なお、データベースを図で表す場合は慣習として、円柱で表記します。システム関連の図の中に円柱が記載されていたら、その図はデータベースであると考えて間違いありません。'),(2,'01','データベースの基本','データモデルとは','データモデルとは、現実世界にある複雑なデータの相互関係をわかりやすく表した図です。データモデルはデータベースを作る際の設計図になります。 現実世界にあるデータは種類が多く複雑です。それらを何の考えもなしに一箇所に集めても、そのデータベースは使い物になりません。 まず、現実世界のデータの相互関係を整理する必要があります。この作業をデータモデリングといいます。データモデリングによって作られる図がデータモデルです。データモデルをコンピュータ上に実装したものをデータベースといいます。',NULL,'/home/air/goalskill_t/back/img/section9/2.png',NULL),(3,'01','データベースの基本','関係データモデル','一口にデータモデルといっても、世の中には「関係データモデル」「階層データモデル」「ネットワークデータモデル」など、さまざまなデータモデルがあります。 これらのうち、現在最も普及しており、かつ試験によく出題されるのは「関係データモデル」です。このモデルでは、データの集まりを「表」で表します。',NULL,'/home/air/goalskill_t/back/img/section9/3.png','なお、基本情報技術者試験では「関係データモデル」の同義語として、「関係モデル」という用語が使われる場合があります。'),(4,'02','関係データベース','関係データベースとは','関係データベースとは、データを「表」で管理するデータベースです。 前述の関係データモデル（p.279）をコンピュータ上に実装したものです。 具体的には下図のような形でデータを管理します。 図に記載されている各用語についてはこれから解説していきます。','試験にはこれが出る！\n関係データベースは、データを2次元の表で管理する','/home/air/goalskill_t/back/img/section9/4.png','上図を見て「表計算ソフトと似ているな」と感じた人も多いと思います。 その印象は正しいです。 表計算ソフトと関係データベースはともに、データを「表」で管理するという点で同じです。 この点はぜひ覚えておいてください。'),(5,'02','関係データベース','レコードと列','上記で「関係データベースは、データを表で管理する」と解説しましたが、基本情報技術者試験では「表」という日本語名ではなく、「テーブル」という英語名で表記されることが多いので、ここからは英語名を使って解説していきます。 テーブルは、レコード（行）と列で構成されます。','用語の使い分けに注意 理論説明：関係データベースでは、データの集まりを「テーブル（表）」といい、横の並びのことを「レコード（行）」、縦の並びのことを「列」といいます。 一方、関係データベースの設計図となる関係データモデルでは、テーブルを「関係」、レコードを「組」、列を「属性」といいます。 試験でどの用語が登場しても対応できるようになっておいてください。','/home/air/goalskill_t/back/img/section9/5.png','上図のテーブルには3つのレコードが登録されています（3人の学生が登録されています）。 このデータベースに学生を1人追加すると、レコードが1行増えます。 また、このテーブルには［学生番号］［学生名］［電話番号］の3つの列が定義されています。 列はデータの属性（特徴や性質）を表します。 レコードと列には次の相違点があります。\n\n・データが追加されると、レコードは1行増えるが、列は変わらない\n\n・レコードには名前がないが、列には「列名」がある'),(6,'02','関係データベース','主キー','主キーとは、テーブルの中から特定のレコードを識別するための列です。専門的な表現を使うと「レコードを一意に識別するための列」といいます。「一意に識別する」とは、膨大なレコードの中から、1つのレコードを特定することです。 前ページのテーブルのように、レコードが3件しか登録されていない場合は、簡単に目的のデータを探し出せますが、レコードが数万件、数十万件になると、データを探すだけでも一苦労です。そのような場合に役立つのが主キーです。',NULL,NULL,NULL),(7,'02','関係データベース','主キーに向いている列','では、どのような列が主キーに向いているでしょうか。 ［学生名］は特定のレコードを取り出すのに向いているように思えますが、世の中には同姓同名の人はたくさんいるので、［学生名］ではレコードを一意に識別することができません。［電話番号］はどうでしょうか。電話番号に重複する番号は存在しないため、名前よりも主キーに向いていそうです。しかし、「電話番号を持っていない人」が存在する可能性があるため、電話番号も主キーとしては使えません。 最後に残っているのが［学生番号］です。学生番号は入学と同時に強制的に必ず割り振られますし、重複する学生番号も存在しません。このため、学生番号を使えば、全データの中から特定のレコードを識別できます。',NULL,'/home/air/goalskill_t/back/img/section9/6.png',NULL),(8,'02','関係データベース','主キーの条件','上記の解説からもわかる通り、主キーになるには次の2つの条件を満たす必要があります。 \n(1) 重複する値がないこと \n(2) データが空（NULL）でないこと\n主キーは「運命の赤い糸」と似ています。糸の先に運命の人が2人いたら困りますし（重複）、誰もいなかったら寂しいですね（NULL）。','データがないことを「NULL」という \n関係データベースでは、データがないことを「NULL（ヌル）」といいます。「NULL」と表現することで「そこにはデータが存在しない」ということを明確に表します。',NULL,NULL),(9,'02','関係データベース','複合主キー','テーブル内に主キーの条件を満たす列が1つも存在しない場合は、複数の列を組み合わせて主キーにします。これを「複合主キー」といいます。 例えば、下図のテーブルには、主キーの条件を満たす列が存在しないため、［学校名］と［学生番号］の2つを組み合わせて主キーに設定しています。',NULL,'/home/air/goalskill_t/back/img/section9/7.png',NULL),(10,'02','関係データベース','外部キー','外部キーとは、別のテーブルの主キーを参照する列です。外部キーについては具体例を見ながら解説したほうがわかりやすいので、まずは下図を見てください。',NULL,'/home/air/goalskill_t/back/img/section9/8.png','上図の関係データベースは2つのテーブルから構成されています。1つは［学生］テーブル、もう1つは［教員］テーブルです。［学生］テーブルには学生の情報が登録されています。その中の1つに［教員番号］があります。一方の［教員］テーブルには教員の情報が登録されています。［教員］テーブルにも［教員番号］があります。通常、関係データベースでは、上図のように、データの内容や種類ごとにテーブルを分けてデータを管理します。'),(11,'02','関係データベース','［教員番号］はあるが、［教員名］はない','［学生］テーブルには［教員番号］がありますが、［教員名］はありません。このため、例えば、山田太郎くんの担当教員を調べるには、以下の手順を踏むことになります。\n\n⒈ 最初に［学生番号］の値が「1」のレコードを検索する\n\n2. 検索したレコードの［教員番号］の値を調べる（教員番号＝2）\n\n3. その値を使って［教員］テーブルを検索する\n\n4. その結果、担当教員が「伊藤一郎」であることがわかる \n上記のように、別のテーブルの主キーを参照する列のことを「外部キー」といいます。',NULL,NULL,NULL),(12,'02','関係データベース','参照一貫性とは','参照一貫性（参照整合性ともいう）とは、外部キーの参照先のレコードが矛盾のない状態で存在していることを指す用語です。一方、外部キーの参照先のレコードが存在しない状態を「参照一貫性がない」といいます。例えば、前ページの［教員］テーブルにおいて、「伊藤一郎」のレコードが存在しない場合、そこには参照一貫性がないといえます。なお、関係データベースシステムでは、参照一貫性がなくなるようなデータ操作はできません。そのため、外部キーを定義することで参照一貫性を保つことができます。','試験にはコレが出る！ \n・主キーは、同一の値を持つことができない（重複はダメ） \n・主キーは、NULLの値を持つことができない（NULLはダメ） \n・外部キーを定義することで、参照一貫性を保つことができる',NULL,NULL),(13,'03','データベース設計','E-R図','E-R図（Entity-Relationship Diagram）とは、データの関係性を「エンティティ（実体）」と「リレーションシップ（関連）」という2つの概念を使って表した図です。E-R図は関係データベースを作成する際の設計図になります。',NULL,'/home/air/goalskill_t/back/img/section9/10.png','上図では「校長」「学校」「学生」「受講科目」と書かれた長方形がエンティティです。また、エンティティをつなぐ線がリレーションシップです。図内に記載されている「1」や「1..*」は多重度を表しています。'),(14,'03','データベース設計','多重度','多重度とは、エンティティ間の量の関係を表す度合いです。E-R図などでは、多重度を以下のような表記ルールで表します。',NULL,'/home/air/goalskill_t/back/img/section9/11.png',NULL),(15,'03','データベース設計','1対1','多重度が1対1の場合は、リレーションシップの両端に「1」を書きます。例えば、1つの学校に校長は1人だけ存在し、また、校長は1つの学校にのみ所属するので「校長と学校は1対1の関係にある」といえます。',NULL,NULL,NULL),(16,'03','データベース設計','1対多','多重度が1対多の場合は、「1」と「1..」を書きます。「1..」は「1以上」という意味です。例えば、1つの学校に学生は複数存在しますが、一人の学生が所属する学校は1つのみなので「学校と学生は1対多の関係にある」といえます。',NULL,NULL,NULL),(17,'03','データベース設計','多対多','多重度が多対多の場合は、リレーションシップの両端に「1..*」を書きます。例えば、一人の学生は複数の科目を受講しますし、1つの受講科目は複数の学生が履修するので「学生と受講科目は多対多の関係にある」といえます。','もう少し詳しく！ アトリビュートとインスタンス\n基本情報技術者試験では、E-R図に関してさらに詳しい知識が問われることがあります。それが「アトリビュート（属性）」と「インスタンス」です。 **アトリビュート（属性）**とは、エンティティの特徴を表すものです。例えば「学生」というエンティティには「学生番号」「氏名」「生年月日」などのアトリビュートがあり、通常、1つのエンティティは複数の属性を持ちます。 インスタンスとは、エンティティの具体例です。例えば「学生」というエンティティには、「鈴木愛子さん」「山田太郎さん」といったたくさんのインスタンスがあります。',NULL,NULL),(18,'03','データベース設計','正規化','正規化とは、データが重複したり、データ更新の際に矛盾が生じたりしないようにテーブルを分けることです。なお、正規化については、一言で説明することはできないので、具体例を見ながら解説します。',NULL,NULL,NULL),(19,'03','データベース設計','正規化の具体例','このテーブルには［学生］テーブルの中に［教員名］列が存在しています。しかし、このような形でデータを格納していると、以下の2つの問題が発生します。\n\n1. もし「田中花子」先生の苗字が変わった場合、2箇所を修正しなければならない（重複）\n\n2. もし「山田太郎」くんが転校したことによって［学生］テーブルから「山田太郎」くんのレコードを削除すると、担任の「伊藤一郎」先生まで学校からいなくなってしまう（矛盾）','試験にはこれが出る！\n正規化の目的は、データが重複したり、データ更新の際に矛盾が生じたりしないようにすること','/home/air/goalskill_t/back/img/section9/13.png','上記のように、［学生］テーブルと［教員］テーブルを分けておけば、「田中花子」先生の名前の更新は1箇所で済みますし、生徒が転校しても教員の名前は［教員］テーブルに残ります。\nこのように、取り扱うすべてのデータを重複なく、データを更新しても矛盾しない形に整理することを「正規化」といいます。'),(20,'03','データベース設計','関数従属','正規化について、きちんと理解するためには「関数従属（かんすうじゅうぞく）」という用語を理解しておくことが重要です。 関数従属とは、ある属性（列）の値が決まると、他の属性（列）の値も一意に決まることです。 例えば、先述の［学生］テーブルでは、主キーである［学生番号］が決まれば、［学生名］も一意に決まります。この場合、「学生名は学生番号に関数従属する」といいます。',NULL,NULL,NULL),(21,'03','データベース設計','関数従属の表記方法','関数従属を表す際は、属性名（列名）同士を「→」（矢印）で結びます。','試験にはこれが出る！\n関数従属とは、ある属性の値が決まると、他の属性の値も一意に決まること','/home/air/goalskill_t/back/img/section9/14.png',NULL),(22,'03','データベース設計','3つの関数従属','関数従属には3つの種類があります。 \n(1) 完全関数従属 \n(2) 部分関数従属 \n(3) 推移的関数従属\nなお、上記の用語そのものが出題されることはないので、用語を覚える必要はありません。ただし、各用語の意味がわかっていないと、正規化の問題が解けないので、各用語の意味や特徴は必ず理解しておいてください。',NULL,NULL,NULL),(23,'03','データベース設計','(1) 完全関数従属','完全関数従属とは、属性が主キーに関数従属することです。 例えば下図の場合、主キーは［学生番号］です。そのため、［学生番号］が決まると、［学生名］が一意に決まります。よって、［学生名］は［学生番号］に完全関数従属します。','主キーには下線が引かれる \n基本情報技術者試験では、上図のように、主キーには下線が引かれることが多いです。この例の場合、［学生番号］と［試験ID］が主キーです。','/home/air/goalskill_t/back/img/section9/16.png','なお、複数の属性の組み合わせが主キーになる場合（複合主キー：p.283）、次の図のように矢印を書きます。この場合、［学生番号］と［試験ID］の組み合わせが主キーです。'),(24,'03','データベース設計','(2) 部分関数従属','部分関数従属とは、属性が主キーの一部に関数従属することです。 例えば下図の場合、主キーは［学生番号］と［試験ID］の組み合わせです（複合主キー）。ここで、複合主キーの一部である［学生番号］が決まると、［学生名］が一意に決まります。よって、［学生名］は［学生番号］に部分関数従属します。',NULL,'/home/air/goalskill_t/back/img/section9/17.png',NULL),(25,'03','データベース設計','(3) 推移的関数従属','推移的関数従属とは、属性が主キー以外の属性を介して間接的に主キーに関数従属することです。 例えば次の図の場合、主キーは［学生番号］です。［教員番号］と［教員名］は主キーではありません。主キーである［学生番号］が決まると、［教員番号］は一意に決まります。また、主キーではない［教員番号］が決まると、［教員名］は一意に決まります。よって、［教員名］は［教員番号］を介して［学生番号］に推移的関数従属します。',NULL,'/home/air/goalskill_t/back/img/section9/18.png',NULL),(26,'03','データベース設計','正規化の手順','先ほど、正規化を行う目的を以下のように説明しました（p.287）。\n\n正規化の目的は、データが重複したり、データ更新の際に矛盾が生じたりしないようにすること\n\nこのことをもう少し具体的に説明すると、以下のようにいうことができます。\n\n正規化の目的は、表中のすべての関数従属から、部分関数従属と推移的関数従属を取り除き、完全関数従属だけを残すこと\n\nここでいう「完全関数従属だけを残すこと」とは、つまりは「すべての矢印が主キーから出るようになるまでテーブルを分割すること」です。 それでは、実際に基本情報技術者試験に出題されたテーブルを用いて、正規化の手順を解説していきます。上記の目的を念頭に置いて読み進めてください。',NULL,NULL,NULL),(27,'03','データベース設計','非正規形 ～正規化を行う前の状態～','非正規形（ひせいきけい）とは、属性に繰返しがある状態です。正規化を行う前の状態といえます。次の図を見てください。「試験ID」「試験名」「得点」がそれぞれ2つずつあります。つまり、属性に繰返しがある状態です。',NULL,'/home/air/goalskill_t/back/img/section9/19.png',NULL),(28,'03','データベース設計','第1正規化','第1正規化とは、属性の繰返しがない状態にすることです。第1正規化した状態を「第1正規形」といいます。 非正規形のテーブルを第1正規形にするには、レコードを追加します。以下の例では、レコードを1つ追加することで属性の繰返しを解消しています。',NULL,'/home/air/goalskill_t/back/img/section9/21.png','上図の主キーは［学生番号］と［試験ID］の組み合わせです（複合主キー）。この第1正規形のテーブルに対して関数従属の矢印を書き入れると、次の図になります。'),(29,'03','データベース設計','第2正規化','第2正規化とは、部分関数従属がない状態にすることです。第2正規化した状態を「第2正規形」といいます。第2正規化では、テーブルを分割することで第1正規形から部分関数従属をなくします。',NULL,'/home/air/goalskill_t/back/img/section9/22.png',NULL),(30,'03','データベース設計','第3正規化','第3正規化とは、推移的関数従属がない状態にすることです。第3正規化した状態を「第3正規形」といいます。第3正規化では、テーブルを分割することで第2正規形から推移的関数従属をなくします。\n\n今回の例では、以下のようにテーブルを分割することで、すべての関数従属が完全関数従属になります。これで第3正規化が完了です。','試験にはこれが出る！\n\n・正規化のゴールは、すべての矢印（関数従属）が主キーから出るまで表を分割すること\n\n・正規化のポイントは、複合キー。試験では、主キーが複合キーの場合が多い','/home/air/goalskill_t/back/img/section9/23.png',NULL),(31,'04','データベース管理システム','データベース管理システムとは','データベース管理システム（DataBase Management System：DBMS）とは、アプリケーションソフトウェアの要求に応じて、データベースを操作するシステムです。',NULL,'/home/air/goalskill_t/back/img/section9/24.png','上図のように、通常は、アプリケーションソフトウェアが直接データベースを操作することはありません。データベース管理システム（DBMS）を介して、データベースとデータのやり取りを行います。なお、基本情報技術者試験では「DBMS」という略語で記載されることも多いので、この略語も覚えておいてください。'),(32,'04','データベース管理システム','データベース管理システムの3つの機能','データベース管理システム（DBMS）の主な機能は、次の3つです。\n\n（1）データ操作 （2）トランザクション管理 （3）排他制御\n\n本項では、データ操作について解説します。トランザクション管理（p.324）と、排他制御（p.328）については次項以降で解説します。',NULL,NULL,NULL),(33,'04','データベース管理システム','データ操作','データベースに格納されているデータを操作することを「データ操作」といいます。データ操作の方法は、大きく下表の6つに分類できます。これらの操作を組み合わせたり、繰り返し実行したりすることで、データベースに格納されているデータを操作（取得・追加・更新・削除）します。',NULL,'/home/air/goalskill_t/back/img/section9/25.png','上記の6つの操作のうち、試験によく出題されるのは「選択」「射影」「結合」の3つです。この3つについては確実に覚えておいてください。'),(34,'04','データベース管理システム','選択','選択とは、テーブルからレコードを取り出す操作です。例えば、ある学生の情報だけを取り出したい場合などに使います。',NULL,'/home/air/goalskill_t/back/img/section9/26.png',NULL),(35,'04','データベース管理システム','射影','射影とは、テーブルから特定の列のみを取り出す操作です。',NULL,'/home/air/goalskill_t/back/img/section9/27.png',NULL),(36,'04','データベース管理システム','結合','結合とは、複数のテーブルを1つにする操作です。関係データベースでは、データの内容や種類によって、データは複数のテーブルに分かれて格納されています。そのため、目的のデータを参照する（取り出す）際には、関連するデータを一度にまとめるために、テーブルを結合することがあります。','試験にはコレが出る！ \n・選択とは、テーブルからある特定のレコードのみを取り出す操作 \n・射影とは、テーブルからある特定の列のみを取り出す操作 \n・結合とは、複数のテーブルを1つにする操作','/home/air/goalskill_t/back/img/section9/28.png',NULL),(37,'04','データベース管理システム','SQL','SQL（Structured Query Language）とは、関係データベースを操作するための言語です。関係データベースを操作するには、SQLを使って、アプリケーションソフトウェアからRDBMS（関係データベース管理システム）に対して命令を出します。すると、RDBMSがデータベースからデータを取り出して、アプリケーションソフトウェアに結果を返します。','試験にはコレが出る！ \n・SQLとは、関係データベースを操作するための言語である','/home/air/goalskill_t/back/img/section9/29.png',NULL),(38,'04','データベース管理システム','SELECT文','SELECT文とは、テーブルの中からデータを取り出す命令です。SELECT文を使うことで選択や射影を実行できます。SELECT文の基本構文は以下のとおりです。\n\nSELECT 列名\nFROM テーブル名\n\n例えば、学生テーブルの中から学生名を取り出したい場合は、以下のように記述します。\n\nSELECT 学生名\nFROM 学生','学習のポイント \n「SELECT ～ FROM…」の命令全体体ことをSELECT文といい、「SELECT ～」の部分のことをSELECT句といいます。同様に「FROM…」の部分のことをFROM句といいます。1つの文は複数の句によって構成されます。','/home/air/goalskill_t/back/img/section9/30.png','この例では、テーブルから列を取り出しているので「射影」の操作になります。'),(39,'04','データベース管理システム','複数の列を取り出す','複数の列を取り出す場合は、対象の列名を「,」（カンマ）区切りで指定します。例えば、学生番号と学生名を取り出す場合は、以下のように指定します。\n\nSELECT 学生番号, 学生名\nFROM 学生',NULL,'/home/air/goalskill_t/back/img/section9/31.png',NULL),(40,'04','データベース管理システム','すべての列を取り出す','テーブル内のすべての列を取り出す場合は、「*」（アスタリスク）を指定します。\n\nSELECT *\nFROM 学生',NULL,NULL,NULL),(41,'04','データベース管理システム','特定のレコードを取り出す','これまで解説してきたSELECT文を実行すると、操作対象のテーブルに格納されているすべてのレコードが取り出されます。つまり、テーブルに1000件のレコードが格納されている場合は1000件分のデータが取り出されることになります。特定のレコードのみを取り出す場合は、WHERE句を追加します。\n\nSELECT 列名\nFROMテーブル名\nWHERE 条件式\n\n条件式の書き方については後述するので、先に、SELECT文全体を確認してください。例えば、学生テーブルの中から「学生名が鈴木愛子」のレコードのみを取り出す場合は、以下のように指定します。\n\nSELECT *\nFROM 学生\nWHERE 学生名 = \'鈴木愛子\'',NULL,'/home/air/goalskill_t/back/img/section9/32.png','この例では、テーブルからレコードを取り出しているので「選択」になります。'),(42,'04','データベース管理システム','条件式（WHERE句）の書き方','SQLの条件式は、以下のように指定します。\n\nWHERE　列名　演算子　値\n\n例えば、学生名の値が「鈴木愛子」のレコードを取り出すには、以下の条件式を指定します。\n\nWHERE 学生名 = \'鈴木愛子\'',NULL,NULL,NULL),(43,'04','データベース管理システム','比較演算子','上記の例では、条件に一致するレコードを取り出すために、WHERE句に「＝」（イコール）を指定しています。このように、2つの値を比較して、真偽値（真か偽かを示す値）を返す演算子のことを「比較演算子」といいます。 比較演算子を使うことで、「以上」「以下」などの範囲をWHERE句に指定することが可能です。\n\nこれらの比較演算子を使うことで、さまざまな条件式を指定できます。例えば、学生番号が「2」以上のレコードを取り出すには、以下の条件式を指定します。\n\nSELECT *\nFROM 学生\nWHERE 学生番号 >= 2\n\nなお、条件式の値が文字列の場合は、「\'」（シングルクォート）で囲みます。それ以外の値の場合はそのまま記入します。\n・文字列：WHERE 学生名 = \'山田太郎\' \n・数値　：WHERE 学生番号 = 2','もう少し詳しく！ \nシングルクォートの有無は気にしなくて良い \n基本情報技術者試験では、データベースに格納する値の種類（文字列なのか、数値なのか）が問われることはありません。そのため、設問に解答するうえで、シングルクォートの有無を気にする必要はありません。','/home/air/goalskill_t/back/img/section9/33.png',NULL),(44,'04','データベース管理システム','論理演算子','SQLには、比較演算子の他に「論理演算子」もあります。論理演算子とは、2つの真偽値（真か偽を表す値）の論理演算を行って、真偽値を返す演算子です。 論理演算子を使うことで、「かつ」「または」などの論理演算をWHERE句に指定できます。例えば、学生番号が「2」以上、または、学生名が「鈴木愛子」のレコードを取り出すには、以下のように条件式を指定します。','もう少し詳しく！\n IN演算子\n 同じ列に対してOR（または）の条件を指定する場合は、IN演算子を使うと短く書けます。','/home/air/goalskill_t/back/img/section9/35.png',NULL),(45,'04','データベース管理システム','テーブルを結合する','これまでの解説では、操作対象のテーブルは常に１つでした。しかし、実際には、１つのSELECT文で複数のテーブルをくっつけてデータを取り出したい場合があります。 例えば、以下のように学生テーブルと教員テーブルという２つのテーブルがあったときに、それぞれの学生の担当教員を知りたい場合などが考えられます。',NULL,'/home/air/goalskill_t/back/img/section9/36.png','このような場合は「結合 (p.301)」を行います。'),(46,'04','データベース管理システム','テーブルを結合する方法','テーブルを結合するには、まず、FROMの後に、対象のテーブル名を「,」（カンマ）区切りで指定します①。 次に、WHERE句で、２つのテーブルを紐づけるための「列名」を指定します②。 テーブルを結合するには、すべてのテーブルに共通して存在する列を指定する必要があります。 以下は２つのテーブルを結合する場合の書式です。\n\nテーブルの結合においてポイントになるのは、WHERE句に指定した「２つのテーブルを紐づけるための列名」です。上記では両方のテーブルに共通して存在している「教員番号」を指定しています。この列を指定することで、２つのテーブルが紐づき、上記のように１つのテーブルのように扱うことができます。 なお、通常はこの例のように、結合に指定する２つのテーブルの列名は同じ列名であることが多いです。そのため「教員番号」という列名が、どちらのテーブルの列名であるかを区別するために、列名の前に「テーブル名．」を指定しています。','試験にはこれが出る！ \n・テーブルを結合するには、FROMの後にテーブル名を「,」区切りで指定する \n・テーブルを結合するには、WHEREの後にテーブルを紐づけるための列名を指定する \n・自然結合では、異なる２つのテーブルに、同じ名前の列がある場合、その列をもとにしてテーブルを紐づける','/home/air/goalskill_t/back/img/section9/39.png','学生テーブルと教員テーブルを結合する場合は、以下のように記述します。'),(47,'04','データベース管理システム','データを集計する','データを集計する場合は、関数を使います。基本情報技術者試験に登場する主な関数は以下の５つです。',NULL,'/home/air/goalskill_t/back/img/section9/42.png','例えば、学生テーブルに登録されているレコードの行数を求める場合は、以下のように指定します。'),(48,'04','データベース管理システム','データをグループ化する','データをグループ化する場合は、SELECT文にGROUP BY句を指定します。GROUP BY句を使うと「列の値が同じレコード」を１つにまとめることができます。',NULL,'/home/air/goalskill_t/back/img/section9/45.png','例えば、受注テーブルに登録されているデータから、商品ごとの数量を求める場合は、以下のように指定します。'),(49,'04','データベース管理システム','WHERE句とGROUP BY句の記載順序','WHERE句とGROUP BY句を同時に使う場合は、先にWHERE句を指定し、後ろにGROUP BY句を指定します。例えば、受注テーブルから、商品名が「ペン」の数量だけを求める場合は、以下のように指定します。',NULL,'/home/air/goalskill_t/back/img/section9/47.png',NULL),(50,'04','データベース管理システム','HAVING句','WHERE句は、グループ化する前のテーブルに対して条件式を指定します。これに対し、HAVING句は、グループ化した後のテーブルに対して条件式を指定します。',NULL,'/home/air/goalskill_t/back/img/section9/50.png','例えば、受注テーブルから「数量の合計が30以上の商品」を取り出す場合は、以下のように指定します。'),(51,'04','データベース管理システム','データを並べ替える','データを並べ替える場合は、SELECT文にORDER BY句を指定します。ORDER BY句を使うと、指定した列の値に応じてレコードを並べ替えることができます。',NULL,'/home/air/goalskill_t/back/img/section9/54.png','例えば、受注テーブルのレコードを、数量で昇順に並べ替える場合は、以下のように指定します。'),(52,'04','データベース管理システム','列名に別名をつける','列名の後ろにAS句を指定すると、列名に別名をつけることができます。','試験にはこれが出る！\n・GROUP BY句を使うと、データをグループ化できる \n・HAVING句を使うと、グループ化した後のテーブルに対して条件式を指定できる \n・ORDER BY句を使うと、データを並べ替えられる \n・AS句を使うと、列名に別名をつけられる','/home/air/goalskill_t/back/img/section9/57.png','例えば、以下のように指定すると、「SUM(数量)」という表示名に、「合計数量」という別名を設定できます。'),(53,'04','データベース管理システム','ビュー','実際にデータベースに保存されているテーブルのことを「実表（じっぴょう）」または「基底表（きていひょう）」といいます。これまでの例では、学生テーブルや受注テーブルが実表です。 一方、実表に対して、これから解説する「CREATE VIEW文」を使って、新たに作成された仮想的な表のことを「ビュー」または「導出表（どうしゅつひょう）」といいます。',NULL,'/home/air/goalskill_t/back/img/section9/58.png','基本情報技術者試験では、SQL文を使ってビューを作成する方法が頻繁に出題されます。ビューの作り方は必ず覚えておいてください。'),(54,'04','データベース管理システム','ビューの使い方','ビューを作成するには、CREATE VIEW文を使います。',NULL,'/home/air/goalskill_t/back/img/section9/60.png','実表の学生テーブルには他に電話番号も登録されているのですが（前ページの図を参照）、上記のようにして公開学生名簿ビューを作成すると、このビューからは学生番号と学生名しか取り出せなくなります。'),(55,'04','データベース管理システム','ビューの使い方','ビューは仮想的な表ですが、実表と同じように使うことができます。例えば、以下のように、SELECT文のFROM句に指定できます。',NULL,'/home/air/goalskill_t/back/img/section9/61.png','上記のSQLではSELECT句に「*」を指定しているので、公開学生名簿ビューに含まれるすべての列（学生番号と学生名）が表示されます。 一方で、公開学生名簿ビューのもととなっている学生テーブルに含まれている電話番号は表示されません。これが、ビューの最大の特徴です。'),(56,'04','データベース管理システム','ビューを使うとデータを隠蔽できる','上記のように、ビューを利用すると、実表に含まれているデータのうち、ユーザーに見せたくないデータを隠蔽することができます。ユーザーは実表にどのようなデータが登録されているのかを確認できなくなります。',NULL,NULL,NULL),(57,'04','データベース管理システム','ビューと実表との違い','ビューは仮想的なテーブルですが、実表と同じようにSQLの中で利用できます。また、ビューと実表は相互に関連付けられているため、以下の特徴があります。 ・実表のデータを変更すると、ビューのデータも変更される ・ビューのデータを変更すると、実表のデータも変更される ただし、複数の表を結合して作られたビューに対して、データを変更することはできません。これが、ビューと実表の最大の違いです。\n\n以上がSQLに関する知識です。最後にデータベース関連の用語として「インデックス」と「ストアドプロシージャ」について解説します。','試験にはこれが出る！ \n実表のデータを変更すると、ビューのデータも変更される。逆もしかり',NULL,NULL),(58,'04','データベース管理システム','インデックス','インデックスとは、データベースの検索を高速化する機能です。インデックスとは「索引」という意味です。インデックスの仕組みは、本の索引と同じです。本の索引を見ると、各用語が記載されているページをすぐに見つけることができます。',NULL,'/home/air/goalskill_t/back/img/section9/62.png','これと同様に、データベースにインデックスを作っておけば、必要なデータをすぐに見つけることができます。'),(59,'04','データベース管理システム','インデックスの構造','本の索引は、上図のように「50音順に並んだキーワード」と「キーワードの記載ページ」から構成されます。 一方、インデックスは「1つの列」と「レコードの位置を指し示すポインタ」から構成されます。','試験にはこれが出る！ \nインデックスは、データベースの検索を高速化する','/home/air/goalskill_t/back/img/section9/63.png','上図のインデックスでは学生名が50音順に並んでいるため、目的の「学生名」をすぐに見つけることができます。 なお、これまでの解説を読んだ人の中には「すべての列に対してインデックスを作っておけばよいのでは？」と感じた人も多いと思います。 確かに、すべての列にインデックスを作成しておけば、データの検索速度は速くなるのですが、反面、レコードが更新されるたびにインデックスを更新する必要があるため、インデックスを増やしすぎるとデータベース全体の処理効率は悪化します。そのため、開発者が必要最低限のインデックスを作成します。'),(60,'04','データベース管理システム','ストアドプロシージャ','ストアドプロシージャとは、データベースに対する複数の命令を１つの命令にまとめて、データベース管理システムに保存したものです。\n通常は、命令の数だけデータベースにアクセスする必要があります。一方、ストアドプロシージャを使えば、データベース管理システムに保存されているストアドプロシージャを一度呼び出すだけで、複数の命令を処理することができます。 例えば、在庫数の確認、売上の集計、部品の発注数などを個別に問い合わせるのではなく、ストアドプロシージャにまとめておいて、一度の命令で３つの処理を実行するようにします。そうすることで、クライアントとサーバ間のネットワークの負荷を軽減できます。','もう少し詳しく！\nRDBMSとNoSQL\nデータベース管理システムは、大きく次の２種類に分けることができます。 本書で解説した「関係データベース」を管理するシステムのことを、関係データベース管理システム（Relational DataBase Management System：RDBMS）といいます。 一方、RDBMS以外のデータベース管理システムのことを、NoSQL（Not Only SQL）といいます。','/home/air/goalskill_t/back/img/section9/64.png',NULL),(61,'05','トランザクション管理','トランザクション管理','トランザクション管理とは、ユーザーがDBMSに対して行う一連のトランザクションを管理することです。 トランザクションとは「関連する複数の処理のまとまり」です。例えば、太郎くんが自分の銀行口座にある１万円を、花子さんの口座へ振り込む処理を考えてみます。ここで必要な処理は次の２つです。 \n・太郎くんの口座から１万円を出金する（出金処理） \n・花子さんの口座へ１万円を入金する（入金処理） \nこのように、預金の振り込み処理は、システムの開発者から見ると上記の２つの処理に分かれますが、ユーザーから見れば、２つの処理の両方が完了してこそ、目的が達成されます。この場合、出金処理と入金処理の２つをまとめて１つのトランザクションといいます。このことから「トランザクションとは、ユーザーから見た１つの処理」ということもできます。',NULL,'/home/air/goalskill_t/back/img/section9/65.png',NULL),(62,'05','トランザクション管理','トランザクション管理はとても重要','なぜトランザクション管理が重要なのかなのは明白です。太郎くんの口座から１万円を出金したにもかかわらず、花子さんの口座への入金処理が失敗したら、１万円が宙に浮いてしまいます。そのようなことがないように、作業全体をトランザクションという１つの塊で管理します。',NULL,NULL,NULL),(63,'05','トランザクション管理','ACID特性','ACID特性とは、トランザクション管理に必要な４つの性質の頭文字をとった造語です。なお、基本情報技術者試験では「原子性」が圧倒的によく出題されます。','試験にはこれが出る！\n 原子性とは、トランザクション内の処理が「すべて実行される」か、「すべてが取り消される」かのどちらかの結果になること','/home/air/goalskill_t/back/img/section9/66.png',NULL),(64,'05','トランザクション管理','障害回復','障害回復とは、壊れたデータやハードウェアを直すことです。「リカバリ」とも呼ばれます。データベースに障害が発生した際にデータベースを修復するには、次の２つのファイルが必要です。','試験にはこれが出る！ \nログファイルとは、トランザクションの前後の状態を保存したファイル','/home/air/goalskill_t/back/img/section9/68.png',NULL),(65,'05','トランザクション管理','障害回復の方法','バックアップファイルやログファイルを使った障害回復の方法には、障害の内容によって、次の２種類があります。',NULL,NULL,NULL),(66,'05','トランザクション管理','ロールバック','ロールバックとは、トランザクションを実行中に障害が発生した際に、データベースをトランザクション開始直前の状態に戻す手法です。 ロールバックでは、障害が発生したら「更新前ログファイル」を使ってデータベースを復元します。',NULL,'/home/air/goalskill_t/back/img/section9/69.png',NULL),(67,'05','トランザクション管理','ロールフォワード','ロールフォワードとは、障害が発生した際に、データベースをトランザクション完了直後の状態に戻す手法です。 ロールフォワードでは、障害が発生したら「バックアップファイル」と「更新後ログファイル」を使ってデータベースを復元します。','試験にはこれが出る！ \n・ロールバックでは、更新前ログファイルでデータベースを復元する \n・ロールフォワードでは、バックアップファイルと更新後ログファイルでデータベースを復元する','/home/air/goalskill_t/back/img/section9/70.png',NULL),(68,'06','排他制御','排他制御','排他制御とは、複数の人が同じデータを同時に更新しようとした場合に、データに矛盾が生じないようにする機能です。 具体例を用いて詳しく解説します。次ページの図を見てください。この図は、太郎くんと花子さんが２人で経営する八百屋さんの「リンゴの在庫処理」を表した図です。開店当初、リンゴは３個あります。\n\n①太郎くんがリンゴを１個売ります。 \n②太郎くんがリンゴの在庫数をデータベースに反映させようとします。太郎くんはデータベースからリンゴの在庫数（３個）を読み出します。 \n③太郎くんが処理をしている間に、花子さんもリンゴを１個売りました。 \n④花子さんは太郎くんがデータベースを処理しているとは気づかずにリンゴの在庫数（３個）を読み出してしまいます。 \n⑤花子さんはリンゴの在庫数を「２個」として書き込みます（３個－１個）。 \n⑥太郎くんは、花子さんが在庫数を変更したことを知らないまま、リンゴの在庫数を「２個」として書き込みます。 \n\n結果、リンゴは２個売れたので、在庫数は１個になるはずですが、データベースの在庫数は２個になっており、矛盾が生じています。 このような矛盾を防ぐために、排他制御が考えられました。','試験にはこれが出る！ \n排他制御とは、複数の人が同じデータを同時に更新しようとした場合に、データに矛盾が生じないようにする機能（データの一貫性を保つ機能）','/home/air/goalskill_t/back/img/section9/71.png',NULL),(69,'06','排他制御','ロック','排他制御では「ロック」という機能を使います。ロックとは、データベースに対するデータの読み書きを一時的に制限する機能です。上図と同じ処理を、今度はロック機能を使って行ってみます。\n\n①太郎くんがリンゴを１個売ります。 \n②太郎くんは、自分がデータを読む前にまず、他の人がデータを読み書きできないように、データベースにロックをかけます。 \n③太郎くんは、ロックしたうえで、リンゴの在庫数（３個）を読み出します。 \n④太郎くんが処理をしている間に、花子さんもリンゴを１個売りました。 \n⑤しかし、データベースはロックされているので、花子さんはリンゴの在庫数を読み出すことはできません。 \n⑥同様に、花子さんは在庫数を書き込むこともできません。 \n⑦太郎くんは、在庫数を「２個」として書き込みます。 \n⑧太郎くんはロックを解除（アンロック）して、他の人がデータを読み書きできるようにします。',NULL,'/home/air/goalskill_t/back/img/section9/72.png',NULL),(70,'06','排他制御','専有ロックと共有ロック','ロックには、専有ロックと共有ロックの２種類があります。基本情報技術者試験では、２種類のロックの違いが出題されます。',NULL,NULL,NULL),(71,'06','排他制御','専有ロック','専有ロックとは、ロックをかけたトランザクションのみがデータを読み書きできるロックです。他のトランザクションは、データを読み出すことも、書き込むこともできません。専有ロックはデータベースを更新する際に使われます。',NULL,'/home/air/goalskill_t/back/img/section9/73.png',NULL),(72,'06','排他制御','共有ロック','共有ロックとは、ロックをかけたトランザクションと他のトランザクションの両方が、データの読み出しのみが行えるロックです。どちらのトランザクションも、データの書き込みは行えません。',NULL,'/home/air/goalskill_t/back/img/section9/74.png','あるトランザクションがデータの読み出しを行いたい場合、専有ロックと共有ロックのいずれでも目的達成できます。しかし、専有ロックを行うと、他のトランザクションはデータの読み書きが一切できなくなります。そのため、データを読み出すことが目的の場合は、共有ロックを行います。そうすれば、他のトランザクションもデータを読み出せるため、処理を進めることができます。 排他制御の目的である「データの一貫性を保つ」ためだけならば、専有ロックだけがあればよいのですが「データベース運用の効率性」も考慮すると、共有ロックが必要になります。'),(73,'06','排他制御','ロックの両立性','ロックの両立性とは、複数のトランザクションが共有ロックを同時にかけることができる特性です。共有ロックは読み取りだけのロックなので、共有ロックが複数あっても矛盾は生じません。',NULL,'/home/air/goalskill_t/back/img/section9/77.png','①共有ロックがすでにかかっているデータに対して、→ 後から共有ロックをかけることは可能 \n②共有ロックがすでにかかっているデータに対して、→ 後から専有ロックをかけることは不可能 \n③専有ロックがすでにかかっているデータに対して、→ 後から共有ロックをかけることは不可能 \n④専有ロックがすでにかかっているデータに対して、→ 後から専有ロックをかけることは不可能'),(74,'06','排他制御','ロックの粒度','ロックの粒度とは、ロックの対象となるデータの単位です。ロックをかける単位は、一律ではなく、単位を選択できます。ロックの単位の例としては、データベース単位やテーブル単位、レコード単位などがあります。 ロックの粒度を小さくすると、他のトランザクションが利用できるデータが多くなるので、競合が起きにくくなります。反面、ロックの管理が複雑になるので、CPUやメモリの負荷が増えます。 ロックの粒度を大きくすると、他のトランザクションが利用できるデータが少なくなるので、競合が起きやすくなります。反面、ロックの管理が単純になるので、CPUやメモリの負荷が減ります。','試験にはこれが出る！ \n・ロックの両立性とは、複数のトランザクションが共有ロックを同時にかけることができる特性 \n・ロックの粒度とは、ロックの対象となるデータの単位',NULL,NULL),(75,'06','排他制御','排他制御','排他制御とは、複数の人が同じデータを同時に更新しようとした場合に、データに矛盾が生じないようにする機能です。 具体例を用いて詳しく解説します。次ページの図を見てください。この図は、太郎くんと花子さんが２人で経営する八百屋さんの「リンゴの在庫処理」を表した図です。開店当初、リンゴは３個あります。\n\n①太郎くんがリンゴを１個売ります。 \n②太郎くんがリンゴの在庫数をデータベースに反映させようとします。太郎くんはデータベースからリンゴの在庫数（３個）を読み出します。 \n③太郎くんが処理をしている間に、花子さんもリンゴを１個売りました。 \n④花子さんは太郎くんがデータベースを処理しているとは気づかずにリンゴの在庫数（３個）を読み出してしまいます。 \n⑤花子さんはリンゴの在庫数を「２個」として書き込みます（３個－１個）。 \n⑥太郎くんは、花子さんが在庫数を変更したことを知らないまま、リンゴの在庫数を「２個」として書き込みます。 \n\n結果、リンゴは２個売れたので、在庫数は１個になるはずですが、データベースの在庫数は２個になっており、矛盾が生じています。 このような矛盾を防ぐために、排他制御が考えられました。','試験にはこれが出る！ \n排他制御とは、複数の人が同じデータを同時に更新しようとした場合に、データに矛盾が生じないようにする機能（データの一貫性を保つ機能）','/home/air/goalskill_t/back/img/section9/78.png',NULL),(76,'06','排他制御','ロック','排他制御では「ロック」という機能を使います。ロックとは、データベースに対するデータの読み書きを一時的に制限する機能です。上図と同じ処理を、今度はロック機能を使って行ってみます。\n\n①太郎くんがリンゴを１個売ります。 \n②太郎くんは、自分がデータを読む前にまず、他の人がデータを読み書きできないように、データベースにロックをかけます。 \n③太郎くんは、ロックしたうえで、リンゴの在庫数（３個）を読み出します。 \n④太郎くんが処理をしている間に、花子さんもリンゴを１個売りました。 \n⑤しかし、データベースはロックされているので、花子さんはリンゴの在庫数を読み出すことはできません。 \n⑥同様に、花子さんは在庫数を書き込むこともできません。 \n⑦太郎くんは、在庫数を「２個」として書き込みます。 \n⑧太郎くんはロックを解除（アンロック）して、他の人がデータを読み書きできるようにします。',NULL,'/home/air/goalskill_t/back/img/section9/79.png',NULL),(77,'06','排他制御','専有ロックと共有ロック','ロックには、専有ロックと共有ロックの２種類があります。基本情報技術者試験では、２種類のロックの違いが出題されます。',NULL,NULL,NULL),(78,'06','排他制御','専有ロック','専有ロックとは、ロックをかけたトランザクションのみがデータを読み書きできるロックです。他のトランザクションは、データを読み出すことも、書き込むこともできません。専有ロックはデータベースを更新する際に使われます。',NULL,'/home/air/goalskill_t/back/img/section9/80.png',NULL),(79,'06','排他制御','共有ロック','共有ロックとは、ロックをかけたトランザクションと他のトランザクションの両方が、データの読み出しのみが行えるロックです。どちらのトランザクションも、データの書き込みは行えません。',NULL,'/home/air/goalskill_t/back/img/section9/81.png','あるトランザクションがデータの読み出しを行いたい場合、専有ロックと共有ロックのいずれでも目的達成できます。しかし、専有ロックを行うと、他のトランザクションはデータの読み書きが一切できなくなります。そのため、データを読み出すことが目的の場合は、共有ロックを行います。そうすれば、他のトランザクションもデータを読み出せるため、処理を進めることができます。 排他制御の目的である「データの一貫性を保つ」ためだけならば、専有ロックだけがあればよいのですが「データベース運用の効率性」も考慮すると、共有ロックが必要になります。'),(80,'06','排他制御','ロックの両立性','ロックの両立性とは、複数のトランザクションが共有ロックを同時にかけることができる特性です。共有ロックは読み取りだけのロックなので、共有ロックが複数あっても矛盾は生じません。',NULL,'/home/air/goalskill_t/back/img/section9/84.png','①共有ロックがすでにかかっているデータに対して、→ 後から共有ロックをかけることは可能 \n②共有ロックがすでにかかっているデータに対して、→ 後から専有ロックをかけることは不可能 \n③専有ロックがすでにかかっているデータに対して、→ 後から共有ロックをかけることは不可能 \n④専有ロックがすでにかかっているデータに対して、→ 後から専有ロックをかけることは不可能'),(81,'06','排他制御','ロックの粒度','ロックの粒度とは、ロックの対象となるデータの単位です。ロックをかける単位は、一律ではなく、単位を選択できます。ロックの単位の例としては、データベース単位やテーブル単位、レコード単位などがあります。 ロックの粒度を小さくすると、他のトランザクションが利用できるデータが多くなるので、競合が起きにくくなります。反面、ロックの管理が複雑になるので、CPUやメモリの負荷が増えます。 ロックの粒度を大きくすると、他のトランザクションが利用できるデータが少なくなるので、競合が起きやすくなります。反面、ロックの管理が単純になるので、CPUやメモリの負荷が減ります。','試験にはこれが出る！ \n・ロックの両立性とは、複数のトランザクションが共有ロックを同時にかけることができる特性 \n・ロックの粒度とは、ロックの対象となるデータの単位',NULL,NULL);


CREATE DATABASE  IF NOT EXISTS `chat_log_DB` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `chat_log_DB`;
--
-- Host: 127.0.0.1    Database: chat_log_DB
-- ------------------------------------------------------


--
-- Table structure for table `chat_messages`
--

CREATE TABLE `chat_messages` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `session_id` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `log` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `sender` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
  `daily` int NOT NULL DEFAULT '0',
  `category` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_session_time` (`session_id`,`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=244 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `chat_messages`
--

INSERT INTO `chat_messages` VALUES (1,'sess_1yjx2z3791770012471967','こんにちは！ 田中さん！','I',3,'condition','2026-03-20 06:54:03'),(2,'sess_1yjx2z3791770012471967','hi','M',3,'condition','2026-03-20 06:54:07'),(3,'sess_1yjx2z3791770012471967','田中さん、またまたこんにちは！?','I',3,'condition','2026-03-20 06:54:17'),(4,'sess_1yjx2z3791770012471967','今日のコンディション、最高って言ってたもんね！デイリーチェックもバッチリ完了したね！素晴らしい！✨','I',3,'condition','2026-03-20 06:54:18'),(5,'sess_1yjx2z3791770012471967','この調子で、今日の学習も頑張っていこうね！?','I',3,'condition','2026-03-20 06:54:18'),(6,'sess_1yjx2z3791770012471967','daily check btn plz','M',3,'condition','2026-03-20 06:55:53'),(7,'sess_1yjx2z3791770012471967','田中さん、ごめんね！? もしかして、まだデイリーチェックができてなかったかな？','I',3,'condition','2026-03-20 06:55:58'),(8,'sess_1yjx2z3791770012471967','それじゃあ、下のボタンから今日の学習準備を始めようね！?','I',3,'condition','2026-03-20 06:55:58'),(9,'sess_1yjx2z3791770012471967','今日のデイリーノートは既に作成されています。カリキュラムをまだ進めていない場合は、カリキュラムを進めてください。','I',3,'journal','2026-03-20 06:56:00'),(10,'sess_1yjx2z3791770012471967','[UI Card Displayed]','I',3,'journal','2026-03-20 06:56:01'),(11,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',3,'curriculum','2026-03-20 06:56:02'),(12,'sess_1yjx2z3791770012471967','エラー: 本日のカリキュラムが見つかりません。','I',3,'curriculum','2026-03-20 06:56:02'),(13,'sess_1yjx2z3791770012471967','こんにちは！ 田中さん！','I',3,'condition','2026-03-20 06:57:51'),(14,'sess_1yjx2z3791770012471967','btn plz','M',3,'condition','2026-03-20 06:58:02'),(15,'sess_1yjx2z3791770012471967','田中さん、ごめんね！? もしかして、まだデイリーチェックができてなかったかな？','I',3,'condition','2026-03-20 06:58:07'),(16,'sess_1yjx2z3791770012471967','それじゃあ、下のボタンから今日の学習準備を始めようね！?','I',3,'condition','2026-03-20 06:58:07'),(17,'sess_1yjx2z3791770012471967','今日のデイリーノートは既に作成されています。カリキュラムをまだ進めていない場合は、カリキュラムを進めてください。','I',3,'journal','2026-03-20 06:58:17'),(18,'sess_1yjx2z3791770012471967','[UI Card Displayed]','I',3,'journal','2026-03-20 06:58:17'),(19,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',3,'curriculum','2026-03-20 06:58:22'),(20,'sess_1yjx2z3791770012471967','エラー: 本日のカリキュラムが見つかりません。','I',3,'curriculum','2026-03-20 06:58:23'),(21,'sess_1yjx2z3791770012471967','こんにちは！ 田中さん！','I',3,'condition','2026-03-20 07:57:50'),(22,'sess_e2b0c31f0ae0401f1773993487','はじめまして！','I',0,'condition','2026-03-20 07:58:13'),(23,'sess_e2b0c31f0ae0401f1773993487','はじめまして！','M',0,'condition','2026-03-20 07:58:17'),(24,'sess_e2b0c31f0ae0401f1773993487','こんにちは！お会いできて嬉しいです。GOALSKILLのAIです。お名前を教えていただけますか？','I',1,'condition','2026-03-20 07:58:19'),(25,'sess_e2b0c31f0ae0401f1773993487','陽翔','M',1,'condition','2026-03-20 07:58:35'),(26,'sess_e2b0c31f0ae0401f1773993487','陽翔さん、ありがとうございます。目標が明確になれば、学習を続けるモチベーションが生まれます。目標を見つけるために「GOAL探し」ボタンを押してみてください。','I',1,'condition','2026-03-20 07:58:37'),(27,'sess_e2b0c31f0ae0401f1773993487','まずは、ここGOALSKILLでどんなことを叶えたいか、あなたの思いを聞かせてもらってもいいですか？','I',1,'findgoal','2026-03-20 07:58:50'),(28,'sess_e2b0c31f0ae0401f1773993487','例えば、資格を取得したいとか、会社で昇進したいとか、どんなことでも大丈夫ですよ。','I',1,'findgoal','2026-03-20 07:58:50'),(29,'sess_e2b0c31f0ae0401f1773993487','特に目標はないんだけど..','M',1,'findgoal','2026-03-20 08:00:04'),(30,'sess_e2b0c31f0ae0401f1773993487','IT分野に興味はありませんか？もしIT分野にご興味があれば、まず基本情報技術者試験の取得から始めてみてはいかがでしょうか？','I',1,'findgoal','2026-03-20 08:00:07'),(31,'sess_e2b0c31f0ae0401f1773993487','そうか、じゃあそうしてみよう.. これで確定してね。','M',1,'findgoal','2026-03-20 08:00:43'),(32,'sess_e2b0c31f0ae0401f1773993487','それなら、まずは『基本情報技術者試験の取得』を目標にして進めてみましょうか？','I',1,'findgoal','2026-03-20 08:00:47'),(33,'sess_e2b0c31f0ae0401f1773993487','yes','M',1,'findgoal','2026-03-20 08:00:51'),(34,'sess_e2b0c31f0ae0401f1773993487','✨ 目標を確認しました！\n\n【あなたの目標】\n基本情報技術者試験の取得\n\n素晴らしいですね！\nこの目標に向かって、一緒に頑張りましょう！','I',1,'findgoal','2026-03-20 08:00:53'),(35,'sess_e2b0c31f0ae0401f1773993487','目標が決まりましたね！\nですが、人によって**「成果が出やすい学習スタイル」**は全く違います。\n\nあなたに最も適した学習カリキュラムを作成するために、まずは**MBTIボタン**を押してください。','I',1,'findgoal','2026-03-20 08:00:55'),(36,'sess_e2b0c31f0ae0401f1773993487','MBTI性格診断へようこそ！\n\nあなたの性格タイプを診断するために、全50問の質問に答えていただきます。','I',1,'mbti','2026-03-20 08:01:02'),(37,'sess_e2b0c31f0ae0401f1773993487','診断を始める場合は「MBTI診断を開始」ボタン、\nすでにMBTIタイプを知っていて、直接入力したい場合は「MBTIタイプを直接入力」ボタン、\nスキップする場合は「スキップ」ボタンを押してください。','I',1,'mbti','2026-03-20 08:01:03'),(38,'sess_e2b0c31f0ae0401f1773993487','MBTIタイプを入力してください（例：ENFJ-A、INTJ-T）','I',1,'mbti','2026-03-20 08:01:04'),(39,'sess_e2b0c31f0ae0401f1773993487','entj','M',1,'mbti','2026-03-20 08:01:07'),(40,'sess_e2b0c31f0ae0401f1773993487','MBTIタイプを確認しました！\nあなたのタイプは【 ENTJ-A 】です。','I',1,'mbti','2026-03-20 08:01:07'),(41,'sess_e2b0c31f0ae0401f1773993487','指揮官タイプ。決断力があり、リーダーシップを発揮します。効率と成果を重視し、組織を率いて目標を達成します。 （自信家・落ち着き型）','I',1,'mbti','2026-03-20 08:01:07'),(42,'sess_e2b0c31f0ae0401f1773993487','なるほど、そんな性格なんですね！\n\nでは、そんなあなたには「どんな会社」が向いているのでしょうか？\n\nあなたに合う会社を見つけるために、下の「SPI」ボタンを押してみてください。','I',1,'mbti','2026-03-20 08:01:08'),(43,'sess_e2b0c31f0ae0401f1773993487','SPI適性検査へようこそ！\n\n言語能力（5問）、非言語能力（5問）、性格検査（10問）の計20問です。\n所要時間は約10分です。','I',1,'spi','2026-03-20 08:01:09'),(44,'sess_e2b0c31f0ae0401f1773993487','診断を始める場合は「SPI診断を開始」ボタン、\nスキップする場合は「スキップ」ボタンを押してください。','I',1,'spi','2026-03-20 08:01:10'),(45,'sess_e2b0c31f0ae0401f1773993487','スキップしました。入力なしで進みます。','I',1,'spi','2026-03-20 08:01:11'),(46,'sess_e2b0c31f0ae0401f1773993487','適性分析、お疲れ様でした！\n\n次は「学習計画表」の作成に進みます。\n\n下のボタンを押してください。','I',1,'spi','2026-03-20 08:01:12'),(47,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',1,'curriculum','2026-03-20 08:01:38'),(48,'sess_e2b0c31f0ae0401f1773993487','おっすー！いよいよ Day 1 だね！?? 今日から一緒に駆け抜けるぞー！','I',1,'curriculum','2026-03-20 08:01:42'),(49,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:01:43'),(50,'sess_e2b0c31f0ae0401f1773993487','昨日はしっかり準備してくれたみたいで、気合満タンじゃん！?✨ 今日のテーマは「Python環境構築（インストール・IDE設定・仮想環境）」だよ！','I',1,'curriculum','2026-03-20 08:01:43'),(51,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:01:43'),(52,'sess_e2b0c31f0ae0401f1773993487','これ、プログラミングの超大事な土台作りなんだ！ここを乗り越えれば、もうプログラマーの仲間入り！? 準備はいい？レッツゴー！?','I',1,'curriculum','2026-03-20 08:01:44'),(53,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    紐解く\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',1,'curriculum','2026-03-20 08:01:50'),(54,'sess_e2b0c31f0ae0401f1773993487','PythonのインストールとVS Codeの設定、これ見ると一通りできるよ。\nPythonの基本的な環境作りに役立つはず。','I',1,'curriculum','2026-03-20 08:01:51'),(55,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:01:51'),(56,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:01:51'),(57,'sess_e2b0c31f0ae0401f1773993487','あと、仮想環境の使い方も大事だから、この動画も見ておくといい。\nvenvとかPoetryの仕組みがバッチリ分かるはず。','I',1,'curriculum','2026-03-20 08:01:52'),(58,'sess_e2b0c31f0ae0401f1773993487','この2本でPython開発の準備は完璧だと思う！\n環境構築がスムーズにいくと良いね。','I',1,'curriculum','2026-03-20 08:01:52'),(59,'sess_e2b0c31f0ae0401f1773993487','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                01.講座紹介\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',1,'curriculum','2026-03-20 08:01:53'),(60,'sess_e2b0c31f0ae0401f1773993487','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                02.Pythonとは？\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',1,'curriculum','2026-03-20 08:01:53'),(61,'sess_e2b0c31f0ae0401f1773993487','YouTube学習、もう見た？','I',1,'curriculum','2026-03-20 08:01:54'),(62,'sess_e2b0c31f0ae0401f1773993487','はい。','M',1,'curriculum','2026-03-20 08:02:05'),(63,'sess_e2b0c31f0ae0401f1773993487','\n                \n                    \n                    \n                        道標を立てる\n                    \n                \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; } @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            ','I',1,'curriculum','2026-03-20 08:02:05'),(64,'sess_e2b0c31f0ae0401f1773993487','Pythonの環境構築、PPTにまとめたから見てみて！','I',1,'curriculum','2026-03-20 08:02:11'),(65,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                    ? Python環境構築（インストール・IDE設定・仮想環境）\n                \n                \n                    講義資料 (PowerPoint)\n                \n                \n                    ?️ PPT 見る\n                \n            \n        ','I',1,'curriculum','2026-03-20 08:02:12'),(66,'sess_e2b0c31f0ae0401f1773993487','PPT学習、もう見た？','I',1,'curriculum','2026-03-20 08:02:13'),(67,'sess_e2b0c31f0ae0401f1773993487','はい。','M',1,'curriculum','2026-03-20 08:03:02'),(68,'sess_e2b0c31f0ae0401f1773993487','\n                \n                    \n                    \n                        謎の結び目を結う\n                    \n                \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; } @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            ','I',1,'curriculum','2026-03-20 08:03:08'),(69,'sess_e2b0c31f0ae0401f1773993487','PPT学習、お疲れ！バッチリだね！','I',1,'curriculum','2026-03-20 08:03:09'),(70,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:09'),(71,'sess_e2b0c31f0ae0401f1773993487','さあ、次は実践クイズで腕試し行こう！','I',1,'curriculum','2026-03-20 08:03:10'),(72,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:10'),(73,'sess_e2b0c31f0ae0401f1773993487','間違えても大丈夫！どんどんアウトプットしていこうね！','I',1,'curriculum','2026-03-20 08:03:11'),(74,'sess_e2b0c31f0ae0401f1773993487','✏️ 今日の練習問題','I',1,'curriculum','2026-03-20 08:03:11'),(75,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    謎の結び目を結う\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:15'),(76,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    謎の結び目を結う\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:26'),(77,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    謎の結び目を結う\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:36'),(78,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    謎の結び目を結う\n                \n            \n            .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; } @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n        ','I',1,'curriculum','2026-03-20 08:03:45'),(79,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:49'),(80,'sess_e2b0c31f0ae0401f1773993487','Python課題、お疲れ様！完璧にクリアしたね！すごい！','I',1,'curriculum','2026-03-20 08:03:49'),(81,'sess_e2b0c31f0ae0401f1773993487','じゃあ次は、いよいよ基本情報技術者試験の練習問題に挑戦だ！','I',1,'curriculum','2026-03-20 08:03:50'),(82,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:50'),(83,'sess_e2b0c31f0ae0401f1773993487','今までの知識がどこまで通用するか、実力試ししてみようぜ！','I',1,'curriculum','2026-03-20 08:03:51'),(84,'sess_e2b0c31f0ae0401f1773993487','? 基本情報技術者 練習問題','I',1,'curriculum','2026-03-20 08:03:52'),(85,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    謎の結び目を結う\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:53'),(86,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    謎の結び目を結う\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',1,'curriculum','2026-03-20 08:03:56'),(87,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    成果を称える\n                \n            \n            .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; } @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n        ','I',1,'curriculum','2026-03-20 08:03:58'),(88,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:04:01'),(89,'sess_e2b0c31f0ae0401f1773993487','マジかよ！完走したんだろ！？','I',1,'curriculum','2026-03-20 08:04:01'),(90,'sess_e2b0c31f0ae0401f1773993487','お前、マジですごいな！天才かよ！','I',1,'curriculum','2026-03-20 08:04:02'),(91,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-20 08:04:02'),(92,'sess_e2b0c31f0ae0401f1773993487','せっかくだし、今日の学びはデバッグ日誌に書いとこうぜ！','I',1,'curriculum','2026-03-20 08:04:03'),(93,'sess_e2b0c31f0ae0401f1773993487','よっし、日誌書こっか！? 今日の勉強、どんな感じだった？特に「これだ！」って印象に残ってることとか、進捗はどうかな？何でも聞かせて！','I',1,'curriculum','2026-03-20 08:04:08'),(94,'sess_e2b0c31f0ae0401f1773993487','はい。','M',1,'curriculum','2026-03-20 08:04:16'),(95,'sess_e2b0c31f0ae0401f1773993487','おっ、『はい』ね！なるほどね〜、今日一日お疲れ様！\n\n具体的にどこか詰まっちゃったところとか、エラーが出たところはあった？どんなことでも教えて！','I',1,'curriculum','2026-03-20 08:04:25'),(96,'sess_e2b0c31f0ae0401f1773993487','ない。','M',1,'curriculum','2026-03-20 08:04:43'),(97,'sess_e2b0c31f0ae0401f1773993487','そっか、特に難しかったりエラーだったりしたことはなかったんだね！\n\nそういう時、何か参考にした動画とか資料とかはあったかな？','I',1,'curriculum','2026-03-20 08:04:48'),(98,'sess_e2b0c31f0ae0401f1773993487','ない。','M',1,'curriculum','2026-03-20 08:05:08'),(99,'sess_e2b0c31f0ae0401f1773993487','おお、何も見ずに、自分で頑張ったんだね、すごい！\n\n結局、何か参考にしたものはなかったみたいだけど、問題はちゃんと解決できたかな？今はどんな気持ち？','I',1,'curriculum','2026-03-20 08:05:08'),(100,'sess_e2b0c31f0ae0401f1773993487','soso','M',1,'curriculum','2026-03-20 08:05:22'),(101,'sess_e2b0c31f0ae0401f1773993487','よし！これで今日の日誌はバッチリだね！お疲れ様、ゆっくり休んでね！','I',1,'curriculum','2026-03-20 08:05:26'),(102,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                星を拾っております... (日誌作成中)\n            \n        ','I',1,'curriculum','2026-03-20 08:05:26'),(103,'sess_e2b0c31f0ae0401f1773993487','日誌の作成が完了したよ！今日も一日、本当によく頑張ったね！?','I',1,'curriculum','2026-03-20 08:05:36'),(104,'sess_e2b0c31f0ae0401f1773993487','? Day 1 デバッグ日誌を見る','I',1,'curriculum','2026-03-20 08:05:36'),(105,'sess_1yjx2z3791770012471967','こんばんは！ 田中さん！','I',3,'condition','2026-03-20 08:05:58'),(106,'sess_1yjx2z3791770012471967','こんばんは！','M',3,'condition','2026-03-20 08:06:14'),(107,'sess_1yjx2z3791770012471967','田中さん、こんばんは！?','I',3,'condition','2026-03-20 08:06:21'),(108,'sess_1yjx2z3791770012471967','一日の終わりだけど、今日のコンディションはどうかな？教えてね！✨','I',3,'condition','2026-03-20 08:06:21'),(109,'sess_1yjx2z3791770012471967','good','M',3,'condition','2026-03-20 08:06:34'),(110,'sess_1yjx2z3791770012471967','田中さん、良い感じだね！素晴らしい！✨','I',3,'condition','2026-03-20 08:06:38'),(111,'sess_1yjx2z3791770012471967','それじゃあ、今日の学習準備、デイリーチェックを始めようか！下のボタンからポチッと押してね！?','I',3,'condition','2026-03-20 08:06:38'),(112,'sess_1yjx2z3791770012471967','今日のデイリーノートは既に作成されています。カリキュラムをまだ進めていない場合は、カリキュラムを進めてください。','I',3,'journal','2026-03-20 08:06:42'),(113,'sess_1yjx2z3791770012471967','[UI Card Displayed]','I',3,'journal','2026-03-20 08:06:42'),(114,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',3,'curriculum','2026-03-20 08:06:45'),(115,'sess_1yjx2z3791770012471967','よっ！今日もやる気満々だね！?','I',3,'curriculum','2026-03-20 08:06:50'),(116,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',3,'curriculum','2026-03-20 08:06:50'),(117,'sess_1yjx2z3791770012471967','今日はついに Day 3 だよ！テーマは「変数とデータ型（int, float, str, bool, type()）」と「第1章 データの単位・基数変換（2進数・10進数・16進数）」！プログラミングの超キホンで、ここがわかるとマジで楽しいからね！✨','I',3,'curriculum','2026-03-20 08:06:51'),(118,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',3,'curriculum','2026-03-20 08:06:51'),(119,'sess_1yjx2z3791770012471967','さーて、準備はばっちり？今日も一緒に爆走しよー！??','I',3,'curriculum','2026-03-20 08:06:52'),(120,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                    紐解く\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',3,'curriculum','2026-03-20 08:06:53'),(121,'sess_1yjx2z3791770012471967','Pythonの基本、「変数」と「データ型」の動画ができたよ。\nint, float, str, boolとか、Pythonで使うデータがしっかりわかるはず。','I',3,'curriculum','2026-03-20 08:06:57'),(122,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',3,'curriculum','2026-03-20 08:06:57'),(123,'sess_1yjx2z3791770012471967','もう1本は「データの単位」と「基数変換」の動画。\n2進数とか10進数、16進数の仕組みがバッチリ理解できるよ。','I',3,'curriculum','2026-03-20 08:06:58'),(124,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',3,'curriculum','2026-03-20 08:06:58'),(125,'sess_1yjx2z3791770012471967','どっちもPythonの基礎固めにめっちゃ役立つよ！ぜひ見てみて！','I',3,'curriculum','2026-03-20 08:06:59'),(126,'sess_1yjx2z3791770012471967','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                06.変数\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',3,'curriculum','2026-03-20 08:07:00'),(127,'sess_1yjx2z3791770012471967','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                07.データ型\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',3,'curriculum','2026-03-20 08:07:00'),(128,'sess_1yjx2z3791770012471967','YouTube学習、もう見た？','I',3,'curriculum','2026-03-20 08:07:01'),(129,'sess_1yjx2z3791770012471967','はい。','M',3,'curriculum','2026-03-20 08:08:02'),(130,'sess_1yjx2z3791770012471967','\n                \n                    \n                    \n                        道標を立てる\n                    \n                \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; } @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            ','I',3,'curriculum','2026-03-20 08:08:02'),(131,'sess_1yjx2z3791770012471967','これ変数とデータ型まとめたPPT作ったから見てみて！','I',3,'curriculum','2026-03-20 08:08:11'),(132,'sess_1yjx2z3791770012471967','\n            \n                \n                    ? 変数とデータ型（int, float, str, bool, type()）\n                \n                \n                    講義資料 (PowerPoint)\n                \n                \n                    ?️ PPT 見る\n                \n            \n        ','I',3,'curriculum','2026-03-20 08:08:11'),(133,'sess_1yjx2z3791770012471967','PPT学習、もう見た？','I',3,'curriculum','2026-03-20 08:08:12'),(134,'sess_e2b0c31f0ae0401f1773993487','こんばんは！ 陽翔さん！','I',1,'condition','2026-03-20 08:09:37'),(135,'sess_e2b0c31f0ae0401f1773993487','こんばんは！','M',1,'condition','2026-03-20 08:09:52'),(136,'sess_e2b0c31f0ae0401f1773993487','陽翔さん、こんばんは！','I',2,'condition','2026-03-20 08:09:56'),(137,'sess_e2b0c31f0ae0401f1773993487','今日はどんな一日だった？','I',2,'condition','2026-03-20 08:09:56'),(138,'sess_e2b0c31f0ae0401f1773993487','調子はどうかな？?','I',2,'condition','2026-03-20 08:09:56'),(139,'sess_e2b0c31f0ae0401f1773993487','悪くない。','M',2,'condition','2026-03-20 08:10:17'),(140,'sess_e2b0c31f0ae0401f1773993487','悪くないって最高だね！✨','I',2,'condition','2026-03-20 08:10:21'),(141,'sess_e2b0c31f0ae0401f1773993487','その調子で、今日の学習準備を始めよう！下のボタン（デイリーチェック）を押してね?','I',2,'condition','2026-03-20 08:10:21'),(142,'sess_e2b0c31f0ae0401f1773993487','今日のデイリーチェックを書く前に、昨日の記録を振り返ってみましょうか？昨日の記録を振り返るその習慣が、目標達成への大きな力になりますよ。確認ができたら、下のボタンを押してくださいね。?','I',2,'journal','2026-03-20 08:10:24'),(143,'sess_e2b0c31f0ae0401f1773993487','昨日の記録はありません。','I',2,'journal','2026-03-20 08:10:24'),(144,'sess_e2b0c31f0ae0401f1773993487','デイリーチェックを書いてくれてありがとう！さあ、『カリキュラム』ボタンを押して、実習を始めよう！','I',2,'journal','2026-03-20 08:10:44'),(145,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',2,'curriculum','2026-03-20 08:10:45'),(146,'sess_e2b0c31f0ae0401f1773993487','おっはよー！今日も元気ー？☀️ 昨日は自分の力で学習できてマジすごかったね！独立心、最高だよ?','I',2,'curriculum','2026-03-20 08:10:50'),(147,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',2,'curriculum','2026-03-20 08:10:50'),(148,'sess_e2b0c31f0ae0401f1773993487','今日は Day 2 だね！テーマは『Python環境構築 実習（Hello World・スクリプト実行）』だって！ついにPythonが動くところが見れるよ！?','I',2,'curriculum','2026-03-20 08:10:51'),(149,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',2,'curriculum','2026-03-20 08:10:51'),(150,'sess_e2b0c31f0ae0401f1773993487','「Hello World」って、プログラミングの第一歩って感じでワクワクするじゃん？✨ 準備はバッチリかなー？いっしょに頑張ろうぜー！?','I',2,'curriculum','2026-03-20 08:10:52'),(151,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                    紐解く\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',2,'curriculum','2026-03-20 08:11:00'),(152,'sess_e2b0c31f0ae0401f1773993487','Pythonの環境構築、これめっちゃ分かりやすいよ！\n最初の動画で Hello World までサクッとできるはず。','I',2,'curriculum','2026-03-20 08:11:00'),(153,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',2,'curriculum','2026-03-20 08:11:00'),(154,'sess_e2b0c31f0ae0401f1773993487','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',2,'curriculum','2026-03-20 08:11:01'),(155,'sess_e2b0c31f0ae0401f1773993487','もう1本は、作成した スクリプト実行 に特化した内容。\nこれで実戦的な 環境構築 の基礎がバッチリわかるよ。','I',2,'curriculum','2026-03-20 08:11:01'),(156,'sess_e2b0c31f0ae0401f1773993487','この2本見れば Python の準備はOK！\n分からないことあったらまた聞いてね。','I',2,'curriculum','2026-03-20 08:11:02'),(157,'sess_e2b0c31f0ae0401f1773993487','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                04.Google Colab\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',2,'curriculum','2026-03-20 08:11:02'),(158,'sess_e2b0c31f0ae0401f1773993487','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                05.プログラム実行\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',2,'curriculum','2026-03-20 08:11:02'),(159,'sess_e2b0c31f0ae0401f1773993487','YouTube学習、もう見た？','I',2,'curriculum','2026-03-20 08:11:03'),(160,'sess_1yjx2z3791770012471967','おはようございます！ 田中さん！','I',3,'condition','2026-03-23 00:17:18'),(161,'sess_3af5cb4d8373400a1774226353','はじめまして！','I',0,'condition','2026-03-23 00:39:39'),(162,'sess_3af5cb4d8373400a1774226353','はじめまして！','I',0,'condition','2026-03-23 00:40:37'),(163,'sess_3af5cb4d8373400a1774226353','IT基礎診断へようこそ！\n\n全20問のテストです。\n所要時間は約10分です。','I',0,'it','2026-03-23 00:42:13'),(164,'sess_3af5cb4d8373400a1774226353','診断を始める場合は「IT診断を開始」ボタン、\nスキップする場合は「スキップ」ボタンを押してください。','I',0,'it','2026-03-23 00:42:14'),(165,'sess_3af5cb4d8373400a1774226353','スキップしました。入力なしで進みます。','I',0,'it','2026-03-23 00:42:15'),(166,'sess_3af5cb4d8373400a1774226353','IT基礎診断、お疲れ様でした！\n\nこれで、あなたの学習開始地点が決まりました。\n\nこれまでに入力した情報を確認し、あなた専用のカリキュラムを作成するために、\n下の「分析結果」ボタンを押してください。','I',0,'it','2026-03-23 00:42:17'),(167,'sess_3af5cb4d8373400a1774226353','おはようございます！','I',0,'condition','2026-03-23 00:44:19'),(168,'sess_3af5cb4d8373400a1774226353','おはようございます！','I',0,'condition','2026-03-23 00:44:25'),(169,'sess_1yjx2z3791770012471967','おはようございます！ 田中さん！','I',3,'condition','2026-03-23 00:44:27'),(170,'sess_1yjx2z3791770012471967','おはようございます','M',3,'condition','2026-03-23 00:45:54'),(171,'sess_1yjx2z3791770012471967','田中さん、おはよう！☀️','I',4,'condition','2026-03-23 00:45:57'),(172,'sess_1yjx2z3791770012471967','今日も一日頑張ろうね！まずは今日の調子を教えてくれる？?','I',4,'condition','2026-03-23 00:45:57'),(173,'sess_1yjx2z3791770012471967','風邪をひいて痛い','M',4,'condition','2026-03-23 00:47:00'),(174,'sess_1yjx2z3791770012471967','そっか、風邪ひいて辛いね…?','I',4,'condition','2026-03-23 00:47:05'),(175,'sess_1yjx2z3791770012471967','でも、せっかくここまで来たんだし、まずは5分だけやってみない？少しでも前に進めたら、きっと気分も変わるよ！✨','I',4,'condition','2026-03-23 00:47:06'),(176,'sess_1yjx2z3791770012471967','まずはデイリーチェックで今日の準備を始めよう！下のボタンを押してね?','I',4,'condition','2026-03-23 00:47:06'),(177,'sess_1yjx2z3791770012471967','今日のデイリーチェックを書く前に、昨日の記録を振り返ってみましょうか？昨日の記録を振り返るその習慣が、目標達成への大きな力になりますよ。確認ができたら、下のボタンを押してくださいね。?','I',4,'journal','2026-03-23 00:47:17'),(178,'sess_1yjx2z3791770012471967','[UI Card Displayed]','I',4,'journal','2026-03-23 00:47:17'),(179,'sess_3af5cb4d8373400a1774226353','まず、GOALSKILLであなたがどんなことを達成したいか、聞かせてもらってもいいですか？','I',0,'findgoal','2026-03-23 00:47:23'),(180,'sess_3af5cb4d8373400a1774226353','例えば、資格を取りたいとか、会社で昇進したいとか、どんなことでも大丈夫ですよ。','I',0,'findgoal','2026-03-23 00:47:23'),(181,'sess_1yjx2z3791770012471967','デイリーチェックを書いてくれてありがとう！さあ、『カリキュラム』ボタンを押して、実習を始めよう！','I',4,'journal','2026-03-23 00:47:59'),(182,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',4,'curriculum','2026-03-23 00:49:43'),(183,'sess_1yjx2z3791770012471967','おっはよー！今日も元気だね！毎日よく頑張ってるよ、マジすごい！✨','I',4,'curriculum','2026-03-23 00:49:48'),(184,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 00:49:48'),(185,'sess_1yjx2z3791770012471967','さあ、今日は Day 4 だよ！テーマは「変数とデータ型 実習（型変換・入出力）, 第1章 基数変換 問題演習」だね！?','I',4,'curriculum','2026-03-23 00:49:49'),(186,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 00:49:49'),(187,'sess_1yjx2z3791770012471967','型変換とか入出力は、実際にプログラムが動くのが見えて超楽しいし、基数変換は頭の体操って感じで面白いぞ！? 準備はバッチリかな？いくぞー！?','I',4,'curriculum','2026-03-23 00:49:50'),(188,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                    紐解く\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',4,'curriculum','2026-03-23 00:49:52'),(189,'sess_1yjx2z3791770012471967','今日の動画は、変数とデータ型の実習で型変換と入出力を扱うよ。\nあと第1章の基数変換の問題演習も一本にまとまってる。','I',4,'curriculum','2026-03-23 00:49:56'),(190,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 00:49:56'),(191,'sess_1yjx2z3791770012471967','型変換も入出力もプログラミングの超基本だから、実践でどう使うかめっちゃ参考になるはず。\n基数変換も復習できるしね。','I',4,'curriculum','2026-03-23 00:49:57'),(192,'sess_1yjx2z3791770012471967','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 00:49:57'),(193,'sess_1yjx2z3791770012471967','基礎を固めるのにすごく良い内容だから、時間あるときにサクッと見てみて。','I',4,'curriculum','2026-03-23 00:49:58'),(194,'sess_1yjx2z3791770012471967','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                演習問題｜変数の基礎\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',4,'curriculum','2026-03-23 00:49:58'),(195,'sess_1yjx2z3791770012471967','YouTube学習、もう見た？','I',4,'curriculum','2026-03-23 00:49:59'),(196,'sess_3af5cb4d8373400a1774226353','おはようございます！','I',0,'condition','2026-03-23 01:07:27'),(197,'sess_3af5cb4d8373400a1774226353','おはよ','M',0,'condition','2026-03-23 01:07:35'),(198,'sess_3af5cb4d8373400a1774226353','おはよー！☀️','I',1,'condition','2026-03-23 01:07:39'),(199,'sess_3af5cb4d8373400a1774226353','今日はどんな感じ？元気してるかな？?','I',1,'condition','2026-03-23 01:07:40'),(200,'sess_3af5cb4d8373400a1774226353','悪くない。','M',1,'condition','2026-03-23 01:09:52'),(201,'sess_3af5cb4d8373400a1774226353','悪くないって最高だね！✨','I',1,'condition','2026-03-23 01:09:55'),(202,'sess_3af5cb4d8373400a1774226353','その調子で、今日の学習準備を始めよう！下のボタン（デイリーチェック）を押してね?','I',1,'condition','2026-03-23 01:09:55'),(203,'sess_3af5cb4d8373400a1774226353','今日のデイリーチェックを書く前に、昨日の記録を振り返ってみましょうか？昨日の記録を振り返るその習慣が、目標達成への大きな力になりますよ。確認ができたら、下のボタンを押してくださいね。?','I',1,'journal','2026-03-23 01:16:09'),(204,'sess_3af5cb4d8373400a1774226353','昨日の記録はありません。','I',1,'journal','2026-03-23 01:16:09'),(205,'sess_3af5cb4d8373400a1774226353','デイリーチェックを書いてくれてありがとう！さあ、『カリキュラム』ボタンを押して、実習を始めよう！','I',1,'journal','2026-03-23 01:16:13'),(206,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',1,'curriculum','2026-03-23 01:16:15'),(207,'sess_3af5cb4d8373400a1774226353','おっすー！いよいよ今日からスタートだね！? よく来たねー！✨','I',1,'curriculum','2026-03-23 01:16:19'),(208,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-23 01:16:19'),(209,'sess_3af5cb4d8373400a1774226353','今日のテーマは Day 1 の「Python環境構築（インストール・IDE設定・仮想環境）」だよ！ここ、超大事で面白いからね！?','I',1,'curriculum','2026-03-23 01:16:20'),(210,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-23 01:16:20'),(211,'sess_3af5cb4d8373400a1774226353','さあ、準備はいいかな？?','I',1,'curriculum','2026-03-23 01:16:21'),(212,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                    紐解く\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',1,'curriculum','2026-03-23 01:16:22'),(213,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-23 01:16:28'),(214,'sess_3af5cb4d8373400a1774226353','Pythonの環境構築、これ見とくとスムーズに始められるよ。\nインストールからVS Code設定まで、最初の1本はこれ。','I',1,'curriculum','2026-03-23 01:16:28'),(215,'sess_3af5cb4d8373400a1774226353','特に仮想環境の動画がおすすめ。なんで必要なのか、どう使うのかがめちゃくちゃ分かりやすい。\n「環境汚染」とか依存関係の悩みがこれで解決するはず。','I',1,'curriculum','2026-03-23 01:16:29'),(216,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',1,'curriculum','2026-03-23 01:16:29'),(217,'sess_3af5cb4d8373400a1774226353','これでPythonの開発環境は完璧。\nサクッと見て、今日からPythonいじり始めよ！','I',1,'curriculum','2026-03-23 01:16:30'),(218,'sess_3af5cb4d8373400a1774226353','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                01.講座紹介\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',1,'curriculum','2026-03-23 01:16:30'),(219,'sess_3af5cb4d8373400a1774226353','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                02.Pythonとは？\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',1,'curriculum','2026-03-23 01:16:31'),(220,'sess_3af5cb4d8373400a1774226353','YouTube学習、もう見た？','I',1,'curriculum','2026-03-23 01:16:31'),(221,'sess_3af5cb4d8373400a1774226353','おはようございます！','I',1,'condition','2026-03-23 01:16:35'),(222,'sess_3af5cb4d8373400a1774226353','おはようございます！','M',1,'condition','2026-03-23 01:17:50'),(223,'sess_3af5cb4d8373400a1774226353','おはよう！また元気な挨拶、ありがとうね！?','I',1,'condition','2026-03-23 01:18:00'),(224,'sess_3af5cb4d8373400a1774226353','早速だけど、デイリーチェックはもうできたかな？','I',1,'condition','2026-03-23 01:18:01'),(225,'sess_3af5cb4d8373400a1774226353','今日も良いスタートを切るために、下のボタンから準備を始めよう！?','I',1,'condition','2026-03-23 01:18:01'),(226,'sess_3af5cb4d8373400a1774226353','今日のデイリーノートは既に作成されています。カリキュラムをまだ進めていない場合は、カリキュラムを進めてください。','I',4,'journal','2026-03-23 01:18:58'),(227,'sess_3af5cb4d8373400a1774226353','[UI Card Displayed]','I',4,'journal','2026-03-23 01:19:01'),(228,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                    真新しい一ページを開く\n                \n            \n            \n                .loading-dots::after {\n                    content: \' .\';\n                    animation: text-dots 1.5s steps(5, end) infinite;\n                }\n                @keyframes text-dots {\n                    0%, 20% { content: \' .\'; }\n                    40% { content: \' ..\'; }\n                    60% { content: \' ...\'; }\n                    80%, 100% { content: \'\'; }\n                }\n            \n        ','I',4,'curriculum','2026-03-23 01:19:03'),(229,'sess_3af5cb4d8373400a1774226353','おっすー！今日も元気ー？✨','I',4,'curriculum','2026-03-23 01:19:06'),(230,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 01:19:06'),(231,'sess_3af5cb4d8373400a1774226353','昨日もお疲れ様！? 毎日コツコツ頑張っててマジえらいよ！?','I',4,'curriculum','2026-03-23 01:19:07'),(232,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 01:19:07'),(233,'sess_3af5cb4d8373400a1774226353','今日はもう Day 4 だね！早いー！? 今日のテーマは「変数とデータ型 実習（型変換・入出力）, 第1章 基数変換 問題演習」だって！ 実践的な内容で面白そうじゃん！?','I',4,'curriculum','2026-03-23 01:19:08'),(234,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 01:19:08'),(235,'sess_3af5cb4d8373400a1774226353','それじゃ、準備はいいー？一緒に楽しもうね！GO！?','I',4,'curriculum','2026-03-23 01:19:09'),(236,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                    紐解く\n                \n            \n            \n                .loading-dots::after { content: \' .\'; animation: text-dots 1.5s steps(5, end) infinite; }\n                @keyframes text-dots { 0%, 20% { content: \' .\'; } 40% { content: \' ..\'; } 60% { content: \' ...\'; } 80%, 100% { content: \'\'; } }\n            \n        ','I',4,'curriculum','2026-03-23 01:19:11'),(237,'sess_3af5cb4d8373400a1774226353','今日の動画アップしたよ。変数とデータ型の実習で、型変換とか入出力を解説してる。','I',4,'curriculum','2026-03-23 01:19:14'),(238,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 01:19:14'),(239,'sess_3af5cb4d8373400a1774226353','それと基数変換の問題演習もあるから、第1章の復習にちょうどいいはず。','I',4,'curriculum','2026-03-23 01:19:15'),(240,'sess_3af5cb4d8373400a1774226353','\n            \n                \n                \n                \n            \n            \n                @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }\n            \n        ','I',4,'curriculum','2026-03-23 01:19:15'),(241,'sess_3af5cb4d8373400a1774226353','1本にまとまってるからサクッと見れるよ。基礎固めにどうぞ。','I',4,'curriculum','2026-03-23 01:19:17'),(242,'sess_3af5cb4d8373400a1774226353','\n                        \n                            \n                                \n                                    \n                                    \n                                        \n                                    \n                                \n                                演習問題｜変数の基礎\n                                ▶ YouTubeで見る\n                            \n                        \n                    ','I',4,'curriculum','2026-03-23 01:19:18'),(243,'sess_3af5cb4d8373400a1774226353','YouTube学習、もう見た？','I',4,'curriculum','2026-03-23 01:19:19');


CREATE DATABASE  IF NOT EXISTS `Goalskill_login` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `Goalskill_login`;
--
-- Host: 127.0.0.1    Database: Goalskill_login
-- ------------------------------------------------------


--
-- Table structure for table `login`
--

CREATE TABLE `login` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '유저 로그인 아이디',
  `password_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'bcrypt 해싱된 비밀번호',
  `session_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '세션 식별자 (다른 DB에서 FK로 참조)',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '가입일',
  `last_login` datetime DEFAULT NULL COMMENT '최근 로그인 시각',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`),
  UNIQUE KEY `session_id` (`session_id`),
  KEY `idx_user_id` (`user_id`),
  KEY `idx_session_id` (`session_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `login`
--

INSERT INTO `login` VALUES (2,'admin','$2b$12$FNbXSOPMqoU0oM2eCA84xugDOFpSJwvTGTNPILOVNbsZe2IZA4jHG','sess_1yjx2z3791770012471967','2026-03-09 07:58:47','2026-03-23 00:44:19'),(3,'test','$2b$12$4Z0.rTcuLu5dgtqaJYSAreEHz/NNr5vCtkdcyUiV/zm49hF6PZqRK','sess_6e0a73c41c854b091773049571','2026-03-09 09:46:11','2026-03-09 09:46:15'),(4,'shin','$2b$12$ndbE4kLodcY7ZCeWq92/COcHsTD8OoIhLRom2baH0/yaJA1q8SJa6','sess_600d9b42fcf645df1773385842','2026-03-13 07:10:42','2026-03-13 07:10:47'),(5,'admin1','$2b$12$e6TIb1Eb5MA90fiYium5zucQ69./H0maMDxRTUZC.oA8FendpVNy6','sess_58c3628f627941371773897364','2026-03-19 05:16:04','2026-03-19 07:22:41'),(6,'test1','$2b$12$yVpDnbGrj8gA07GT.qYx7uj0QVZaW9bTVmNxkbXfbhMorruo/eHrm','sess_e2b0c31f0ae0401f1773993487','2026-03-20 07:58:07','2026-03-20 08:09:36'),(7,'test2','$2b$12$dzMs4kmAXX/vD0oy7FUwyeZXeMH4TaeRt5mwlqvIbgE0E2l4Nz5lq','sess_3af5cb4d8373400a1774226353','2026-03-23 00:39:13','2026-03-23 01:07:26');

--
-- Table structure for table `user_study_progress`
--

CREATE TABLE `user_study_progress` (
  `id` int NOT NULL AUTO_INCREMENT,
  `session_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '유저 세션 ID',
  `item_id` int NOT NULL COMMENT '커리큘럼 항목 ID (C_DB.curriculum_items.item_id)',
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'NOT_STARTED' COMMENT '진행 상태: NOT_STARTED / IN_PROGRESS / COMPLETED',
  `score` int DEFAULT '0' COMMENT '점수 (0~100)',
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '업데이트 시각',
  `current_day` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_session_item` (`session_id`,`item_id`),
  KEY `idx_session_id` (`session_id`),
  CONSTRAINT `fk_progress_login` FOREIGN KEY (`session_id`) REFERENCES `login` (`session_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `user_study_progress`
--

INSERT INTO `user_study_progress` VALUES (1,'sess_1yjx2z3791770012471967',0,'0',0,'2026-03-19 07:10:55',1);


CREATE DATABASE  IF NOT EXISTS `C_DB` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `C_DB`;
--
-- Host: 127.0.0.1    Database: C_DB
-- ------------------------------------------------------


--
-- Table structure for table `ai_tips`
--

CREATE TABLE `ai_tips` (
  `tip_id` int NOT NULL AUTO_INCREMENT,
  `session_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `target_date` date NOT NULL,
  `related_item_id` int DEFAULT NULL,
  `tip_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `is_saved` tinyint(1) DEFAULT '0',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`tip_id`),
  KEY `session_id` (`session_id`),
  KEY `related_item_id` (`related_item_id`),
  CONSTRAINT `ai_tips_ibfk_1` FOREIGN KEY (`session_id`) REFERENCES `Goalskill_login`.`login` (`session_id`),
  CONSTRAINT `ai_tips_ibfk_2` FOREIGN KEY (`related_item_id`) REFERENCES `curriculum_items` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `ai_tips`
--


--
-- Table structure for table `cert_questions`
--

CREATE TABLE `cert_questions` (
  `id` int NOT NULL AUTO_INCREMENT,
  `chapter` int NOT NULL COMMENT '챕터 번호 (1~22)',
  `question_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '문제 번호 (예: 1-1, 10-3)',
  `question_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '문제 본문 (Q_DB)',
  `question_img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '문제 이미지 경로 (그림 있는 문제용)',
  `option_1` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '보기 1 (Example_DB.one)',
  `option_2` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '보기 2 (Example_DB.two)',
  `option_3` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '보기 3 (Example_DB.three)',
  `option_4` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '보기 4 (Example_DB.four)',
  `correct_answer` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '정답 (Correct_Answer_DB.A)',
  `solution_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '해설 본문 (Solution_DB.text)',
  `solution_img` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '해설 이미지 경로 (Solution_DB.img)',
  PRIMARY KEY (`id`),
  KEY `idx_chapter` (`chapter`),
  KEY `idx_question_number` (`question_number`)
) ENGINE=InnoDB AUTO_INCREMENT=530 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `cert_questions`
--

INSERT INTO `cert_questions` VALUES (3,1,'1-1','32ビットで表現できるビットパターンの個数は、24ビットで表現できる個数の何倍か。',NULL,'8','16','128','256','エ','32ビットで表現できるビットパターンの個数は $2^{32}$ 個、24ビットで表現できる個数は $2^{24}$ 個です。そのため、$$2^{32} \\div 2^{24} = 2^{32-24} = 2^8 = 256$$ を計算することで解答できます。なお、指数法則では以下の式が成り立ちます。$$a^m \\div a^n = a^{m-n}$$',NULL),(4,1,'1-2','次の10進小数のうち、2進数で表すと無限小数になるものはどれか。',NULL,'0.05','0.125','0.375','0.5','ア','各選択肢に対して、10進数→2進数の基数変換を行います。その結果、選択肢アの「0.05」のみ、循環小数となり基数変換の計算が終わりません。循環小数は無限小数の一種です。','/home/air/goalskill_t/back/img_explanation/section1/2da97024-495c-4ff1-befb-278bba3465c8.png'),(5,1,'1-3','16進小数3A.5Cを10進数の分数で表したものはどれか。',NULL,'939/16','3735/64','14939/256','14941/256','イ','16進小数「3A.5C」を10進数に基数変換すると、結果は「3735/64」になります。','/home/air/goalskill_t/back/img_explanation/section1/3c6800c3-a7a7-44ee-b59d-29f001e89eea.png'),(6,1,'1-4','次の10進小数のうち、8進数に変換したときに有限小数になるものはどれか。',NULL,'0.3','0.4','0.5','0.8','ウ','各選択肢に対して、10進数 $\\rightarrow$ 8進数の基数変換を行います。 下記のとおり、選択肢ウの「0.5」を8進数に変換すると「0.4」になり、有限小数になることが確認できます。 その他の選択肢は、循環小数となり、基数変換の計算が終わらないので、無限小数です。','/home/air/goalskill_t/back/img_explanation/section1/ff123bbc-34b2-4328-ae6a-491a39cbde3d.png'),(7,1,'1-5','基数変換に関する記述のうち、適切なものはどれか。',NULL,'2進数の有限小数は、10進数にしても必ず有限小数になる。','8進数の有限小数は、2進数にすると有限小数にならないこともある。','8進数の有限小数は、10進数にすると有限小数にならないこともある。','10進数の有限小数は、8進数にしても必ず有限小数になる。','ア','2進数と10進数の基数変換には、以下の2つの特徴があります。\r\n(1) 2進数の有限小数は、10進数にしても必ず有限小数になる\r\n(2) 10進数の有限小数は、2進数にすると無限小数になることもある\r\n上記の特徴を覚えておけば正解は選択肢アであることがわかります。 ただし、この特徴を試験日まで覚えておくのは大変なので、具体的な有限小数を使って計算してみることをお勧めします。 例えば「0.1」という数をそれぞれの選択肢に当てはめて計算すると以下になります。\r\nア. $(0.1)_2 \\rightarrow (0.5)_{10}$\r\nイ. $(0.1)_8 \\rightarrow (0.001)_2$\r\nウ. $(0.1)_8 \\rightarrow (0.125)_{10}$\r\nエ. $(0.1)_{10} \\rightarrow (0.063146314\\dots)_8$',NULL),(8,1,'1-6','16進小数2A.4Cと等しいものはどれか。',NULL,'$2^5+2^3+2^1+2^{-2}+2^{-5}+2^{-6}$','$2^5+2^3+2^1+2^{-1}+2^{-4}+2^{-5}$','$2^6+2^4+2^2+2^{-2}+2^{-5}+2^{-6}$','$2^6+2^4+2^2+2^{-1}+2^{-4}+2^{-5}$','ア','16進数の1桁は、2進数の4桁分になります。 設問の16進数を16進数 $\\rightarrow$ 10進数 $\\rightarrow$ 2進数 $\\rightarrow$ 10進数の順に段階を踏んで変換していくと、正解は選択肢アであることがわかります。','/home/air/goalskill_t/back/img_explanation/section1/d9a6b834-2788-4d1f-a6e0-913576ec9f01.png'),(9,1,'1-7','数値を2進数で格納するレジスタがある。このレジスタに正の整数$x$を設定した後、“レジスタの値を2ビット左にシフトして、$x$を加える”操作を行うと、レジスタの値は$x$の何倍になるか。ここで、あふれ（オーバーフロー）は、発生しないものとする。',NULL,'3','4','5','6','ウ','レジスタとは「CPUの中にある記憶装置」です。 また、あふれ（オーバーフロー）とは、計算結果が「表現できる範囲」よりも大きくなることです。・レジスタに正の整数$x$を設定 ($x$)・2ビット左にシフト ($x \\times 2^2$)・$x$を加える ($+x$)上記を式にすると「$x \\times 2^2 + x$」となり、答えは「5x」になります。 つまり、計算結果は元の値「$x$」の5倍なので、選択肢ウが正解になります。',NULL),(10,1,'1-8','数値を2進数で表すレジスタがある。このレジスタに格納されている正の整数$x$を10倍にする操作はどれか。ここで、桁あふれは起こらないものとする。',NULL,'$x$を2ビット左にシフトした値に$x$を加算し、更に1ビット左にシフトする。','$x$を2ビット左にシフトした値に$x$を加算し、更に2ビット左にシフトする。','$x$を3ビット左にシフトした値と、$x$を2ビット左にシフトした値を加算する。','$x$を3ビット左にシフトした値に$x$を加算し、更に1ビット左にシフトする。','ア','桁あふれとは、あふれと同じ意味で、計算結果が「表現できる範囲」よりも大きくなることです。 シフト演算とたし算を組み合わせて正の整数を10倍にする方法は複数あります。 1つの手として、下記の手順を行えば、10倍になります。・レジスタに正の整数$x$を設定 ($x$)・2ビット左にシフト ($x \\times 2^2$)・$x$を加える ($+x$)・1ビット左にシフト ($\\times 2$)上記を式にすると「$(x \\times 2^2 + x) \\times 2$」となり、結果は「10x」になります。','/home/air/goalskill_t/back/img_explanation/section1/6f84bbc9-cd92-4608-889d-1a39eb1e201f.png'),(16,2,'2-1','$X$ と $Y$ の否定論理積 $X \\text{ NAND } Y$ は、$\\text{NOT}(X \\text{ AND } Y)$ として定義される。$X \\text{ OR } Y$ を $\\text{NAND}$ だけを使って表した論理式はどれか。',NULL,'$((X \\text{ NAND } Y) \\text{ NAND } X) \\text{ NAND } Y$','$(X \\text{ NAND } X) \\text{ NAND } (Y \\text{ NAND } Y)$','$(X \\text{ NAND } Y) \\text{ NAND } (X \\text{ NAND } Y)$','$X \\text{ NAND } (Y \\text{ NAND } (X \\text{ NAND } Y))$','イ','論理演算の問題が出たら必ずベン図を描くようにしてください。 各選択肢をベン図で表すと、選択肢イが $X \\text{ OR } Y$ と同じ集合（領域）になります。','/home/air/goalskill_t/back/img_explanation/section2/782c48f6-c005-426a-a813-c7fce7ca958c.png'),(17,2,'2-2','8ビットのビット列の下位4ビットが変化しない操作はどれか。',NULL,'16進表記 $0F$ のビット列との排他的論理和をとる。','16進表記 $0F$ のビット列との否定論理積をとる。','16進表記 $0F$ のビット列との論理積をとる。','16進表記 $0F$ のビット列との論理和をとる。','ウ','ここでは適当な8ビット列「$10101010$」を用いて実際に計算をしてみます。 まず16進数「$0F$」を2進数に基数変換します。 16進数から2進数への変換は、直接行うことも可能ですが、10進数を経由するやり方で対処することも可能です（p.25）。 「$0F$」を2進数に変換すると「$00001111$」になります。 この値と、適当な8ビット列「$10101010$」を論理演算します。 なお、論理演算を行うには真理値表（p.51）が必要です。 頭の中で論理演算ができない場合はベン図（p.52）から真理値表を導くと確実です。 \r\n\r\n上記の各選択肢の中で、下位4ビットが「$1010$」のままで変化していないのは、選択肢ウの論理積だけです。','/home/air/goalskill_t/back/img_explanation/section2/b9a1af16-1944-43d9-9c95-35521e12ea0e.png'),(18,2,'2-3','8ビットの値の全ビットを反転する操作はどれか。',NULL,'16進表記 $00$ のビット列と排他的論理和をとる。','16進表記 $00$ のビット列と論理和をとる。','16進表記 $FF$ のビット列と排他的論理和をとる。','16進表記 $FF$ のビット列と論理和をとる。','ウ','ここでは、上記の解説2-2と同様に、適当な8ビット列「$10101010$」を用いて実際に計算をしてみます。 まず16進数「$00$」と「$FF$」を2進数に基数変換します。 すると、それぞれ「$00000000$」「$11111111$」になります。 これら2つの値と、適当な8ビット列「$10101010$」を論理演算します。 \r\n\r\n上記の各選択肢の中で、全ビットが反転しているのは、選択肢ウの16進数「$FF$」との排他的論理和だけです。','/home/air/goalskill_t/back/img_explanation/section2/a1be5822-ad41-4fc3-ac40-ff38c30243e1.png'),(19,2,'2-4','図に示す、1桁の2進数$x$と$y$を加算して、$z$（和の1桁目）及び$c$（桁上げ）を出力する半加算器において、$A$と$B$の素子の組合せとして、適切なものはどれか。',NULL,'A：排他的論理和 / B：論理積','A：否定論理積 / B：否定論理和','A：否定論理和 / B：排他的論理和','A：論理積 / B：論理和','ア','素子Aでは、単に$x$と$y$をたし算します。 ただし、$x$と$y$がともに1の場合には桁上がりするので、結果が0になります。 これは以下の排他的論理和で表すことができます（左表）。 また、素子Bでは、$x$と$y$がともに1の場合のみ桁上がりを表すので、結果が1になります。 それ以外は0です。 これは以下の論理積で表すことができます（右表）。','/home/air/goalskill_t/back/img_explanation/section2/c57100a9-6163-4f4d-bfef-b9a44cc957e2.png'),(20,2,'2-5','論理式 $X = \\bar{A} \\cdot B + A \\cdot \\bar{B} + \\bar{A} \\cdot \\bar{B}$ と同じ結果が得られる論理回路はどれか。 ここで、論理式中の・は論理積、＋は論理和、$\\bar{A}$ はAの否定を表す。',NULL,'/home/air/goalskill_t/back/img_q/section2/c485e682-28b5-4c13-be78-347ba91cf21d.png','/home/air/goalskill_t/back/img_q/section2/788659ba-b875-41c2-87a7-4423179fda84.png','/home/air/goalskill_t/back/img_q/section2/08c899b3-5f15-409f-817b-d45be672ec5d.png','/home/air/goalskill_t/back/img_q/section2/b51d2db3-d8c7-4a82-be77-c23746a8c0aa.png','イ','論理演算の優先順位は以下のとおりです。 括弧 ＞ NOT ＞ AND(・) ＞ OR(＋) 下図は設問の各項の論理式を表したベン図です。 最終的にすべての項の論理和を求めるとベン図は下図のようになります。 これは否定論理積回路です。 アは「論理積回路」です。 ウは「論理和回路」です。 エは「否定論理和回路」です。','/home/air/goalskill_t/back/img_explanation/section2/8ebc3907-1004-45de-956c-2e0c5c341fa9.png'),(21,2,'2-6','図に示すデジタル回路と等価な論理式はどれか。 ここで、論理式中の“・”は論理積、“＋”は論理和、$\\bar{X}$ はXの否定を表す。',NULL,'$X = A \\cdot B + \\bar{A} \\cdot \\bar{B}$','$X = A \\cdot \\bar{B} + \\bar{A} \\cdot \\bar{B}$','$X = A \\cdot \\bar{B} + \\bar{A} \\cdot B$','$X = (\\bar{A} + B) \\cdot (A + \\bar{B})$','ウ','以下のように1つひとつのMIL記号ごとにベン図を描くことで、この論理回路が表す最終的なベン図を描くことができます。 最終的なベン図は「$A \\cdot \\bar{B} + \\bar{A} \\cdot B$」を表しているので、ウが正解です。','/home/air/goalskill_t/back/img_explanation/section2/ef89c902-db4c-4bd3-8132-e8d0b396b228.png'),(22,2,'2-7','図は全加算器を表す論理回路である。 図中の$x$に1、$y$に0、$z$に1を入力したとき、出力となる$c$（けた上げ数）、$s$（和）の値はどれか。',NULL,'$c$：0, $s$：0','$c$：0, $s$：1','$c$：1, $s$：0','$c$：1, $s$：1','ウ','「全加算器」とは、2進数のたし算で下の位からの桁上がりを考慮する加算回路です。 2つの入力の他に、下位からの桁上がりを加算するので、入力が3つになります。 以下のとおり、「1 + 0 + 1」を筆算すると「10」となります。 \r\n\r\nよって、桁上がりは「1」、「和（和の1桁目）」は「0」となります。','/home/air/goalskill_t/back/img_explanation/section2/7db3d8c2-f39f-45f6-acee-34e43de51152.png'),(23,2,'2-8','後置記法（逆ポーランド記法）では、例えば、式 $Y=(A-B) \\times C$ を $YAB-C \\times =$ と表現する。次の式を後置記法で表現したものはどれか。$$Y = (A+B) \\times (C - D \\div E)$$',NULL,'$YAB+C-DE \\div \\times =$','$YAB+CDE \\div - \\times =$','$YAB+EDC \\div - \\times =$','$YBA+CD-E \\div \\times =$','イ','中置記法を逆ポーランド表記法へ変換する際は「計算する順序」で変換していくとわかりやすいです。 基本的には()が先、次に $\\times \\div$、最後に $+$ と $-$ です。 この順番で演算子を後ろに移動します。','/home/air/goalskill_t/back/img_explanation/section2/afc338cc-1c1f-44f7-94b3-22be390e169f.png'),(24,2,'2-9','表は、文字列を検査するための状態遷移表である。検査では、初期状態をaとし、文字列の検査中に状態がeになれば不合格とする。解答群で示される文字列のうち、不合格となるものはどれか。ここで、文字列は左端から検査し、解答群中の $\\Delta$ は空白を表す。',NULL,'$+0010$',' $-1$','$12.2$','$9.\\Delta$','ウ','それぞれの選択肢で状態遷移表をたどると、不合格になるのは選択肢ウのみです（下表を参照）。 「12.2」は左から順に、1（数字）$\\rightarrow$ 2（数字）$\\rightarrow$ .（小数点）$\\rightarrow$ 2（数字）で表をたどります。 最後の状態で「e」となり、不合格になります。','/home/air/goalskill_t/back/img_explanation/section2/ddea123f-613e-4dee-b133-52f54e3ae609.png'),(25,2,'2-10','次の状態遷移図で表現されるオートマトンで受理されるビット列はどれか。ここで、ビット列は左から順に読み込まれるものとする。',NULL,'$0000$','$0111$','$1010$','$1111$','ウ','それぞれの選択肢で状態遷移図をたどると、受理状態になるのは選択肢ウのみです。 「1010」の場合、左から順に $1 \\rightarrow 0 \\rightarrow 1 \\rightarrow 0$ で図をたどります。','/home/air/goalskill_t/back/img_explanation/section2/2858d8f9-3235-4027-80fe-c7335339e3e6.png'),(26,2,'2-11','AIにおける機械学習の説明として、最も適切なものはどれか。',NULL,'記憶したデータから特定のパターンを見つけ出すなどの、人が自然に行っている学習能力をコンピュータにもたせるための技術','コンピュータ、機械などを使って、生命現象や進化のプロセスを再現するための技術','特定の分野の専門知識をコンピュータに入力し、入力された知識を用いてコンピュータが推論する技術','人が双方向学習を行うために、Webシステムなどの情報技術を用いて、教材や学習管理能力をコンピュータにもたせるための技術','ア','「人が自然に行っている学習能力」という文章から選択肢アが機械学習の説明であると判断できます。 \r\nイ.「人工生命」の説明です。 \r\nウ.「エキスパートシステム」の説明です。 \r\nエ.「LMS (Learning Management System)」の説明です。',NULL),(27,2,'2-12','機械学習における教師あり学習の説明として、最も適切なものはどれか。',NULL,'個々の行動に対しての善しあしを得点として与えることによって、得点が最も多く得られるような方策を学習する。','コンピュータ利用者の挙動データを蓄積し、挙動データの出現頻度に従って次の挙動を推論する。','正解のデータを提示したり、データが誤りであることを指摘したりすることによって、未知のデータに対して正誤を得ることを助ける。','正解のデータを提示せずに、統計的性質や、ある種の条件によって入力パターンを判定したり、クラスタリングしたりする。','ウ','「正解のデータを提示」というキーワードから、選択肢ウが教師あり学習の説明であると判断できます。 \r\nア.「強化学習」の説明です。 \r\nイ.「協調フィルタリング」の説明です。 \r\nエ.「教師なし学習」の説明です。',NULL),(28,2,'2-13','AIにおけるディープラーニングの特徴はどれか。',NULL,'“AならばBである”というルールを人間があらかじめ設定して、新しい知識を論理式で表現したルールに基づく推論の結果として、解を求めるものである。','厳密な解でなくてもなるべく正解に近い解を得るようにする方法であり、特定分野に特化せずに、広範囲で汎用的な問題解決ができるようにするものである。','人間の脳神経回路を模倣して、認識などの知能を実現する方法であり、ニューラルネットワークを用いて、人間と同じような認識ができるようにするものである。','判断ルールを作成できる医療診断などの分野に限定されるが、症状から特定の病気に絞り込むといった、確率的に高い判断ができる。','ウ','ディープラーニングとは、ニューラルネットワークを何重にも重ねた構造を持つ機械学習です。 選択肢ウの中にある「人間の脳神経回路を模倣」はニューラルネットワークの特徴です。 また、「ニューラルネットワークを用いて」の記載があることからも、選択肢ウが正解であるとわかります。 \r\nア、エ.「エキスパートシステム」の特徴です。 \r\nイ.「メタヒューリスティクス」の特徴です。',NULL),(29,2,'2-14','生産現場における機械学習の活用事例として、適切なものはどれか。',NULL,'工場における不良品の発生原因をツリー状に分解して整理し、アナリストが統計的にその原因や解決策を探る。','工場の生産設備を高速通信で接続し、ホストコンピュータがリアルタイムで制御できるようにする。','工場の生産ロボットに対して作業方法をプログラミングするのではなく、ロボット自らが学んで作業の効率を高める。','累積生産量が倍増するたびに工場従業員の生産性が向上し、一定の比率で単位コストが減少する。','ウ','機械学習とは、人間が持つ学習能力をコンピュータ上に再現する技術です。 人間がコンピュータに命令を出すのではなく、コンピュータが自ら学ぶのが機械学習です。 \r\nア. 特性要因図の活用事例です。 \r\nイ. MtoMの活用事例です。 \r\nエ. 経験曲線の活用事例です。',NULL),(30,2,'2-15','大規模言語モデルを用いた自然言語処理において、事前学習済みのモデルに対して行う、ファインチューニングに関する記述として、最も適切なものはどれか。',NULL,'強化学習を行い、最適な結果が得られるようにする。','事前学習と同じデータを繰り返し用いて学習を行い、モデルの精度を高めるようにする。','大量のテキストデータを用いて学習を行い、モデルの精度を高めるようにする。','特定のデータを用いて追加で学習を行い、目的とするタスクに適用できるようにする。','エ','ファインチューニング（Fine Tuning）とは、特定のデータを使って基盤モデルに追加学習を行うことで、特定の分野や用途でより高い性能を発揮できるように調整することです。 \r\nア. 強化学習とは、報酬をコンピュータに与える機械学習の手法です。 \r\nイ. 事前学習と同じデータでは、特定のタスクに適した追加学習にはなりません。 \r\nエ. 事前学習に関する記述です。',NULL),(31,3,'3-1','A、B、C、Dの順に到着するデータに対して、一つのスタックだけを用いて出力可能なデータ列はどれか。',NULL,'A、D、B、C','B、D、A、C','C、B、D、A','D、C、A、B','ウ','各選択肢を試してみると、正しくデータ列を取り出せるのは選択肢ウのみです（下図を参照）。','/home/air/goalskill_t/back/img_explanation/section3/29381a67-d309-4987-96a0-516a2dd321ce.png'),(32,3,'3-2','待ち行列に対する操作を、次のとおり定義する。\r\nENQ $n$：待ち行列にデータ $n$ を挿入する。\r\nDEQ：待ち行列からデータを取り出す。\r\n空の待ち行列に対し、ENQ 1、ENQ 2、ENQ 3、DEQ、ENQ 4、ENQ 5、DEQ、ENQ 6、DEQ、DEQの操作を行った。次にDEQ操作を行ったとき、取り出されるデータはどれか。',NULL,'1','2','5','6','ウ','待ち行列とは、キューの別名です。実際に操作を試してみると、最後のDEQ操作で取り出される値は「5」になります（下図を参照）。','/home/air/goalskill_t/back/img_explanation/section3/23d91e66-ea1d-4aef-8ec2-b10b46685c7c.png'),(33,3,'3-3','データ構造の一つであるリストは、配列を用いて実現する場合と、ポインタを用いて実現する場合とがある。配列を用いて実現する場合の特徴はどれか。ここで、配列を用いたリストは、配列に要素を連続して格納することによって構成し、ポインタを用いたリストは、要素から次の要素へポインタで連結することによって構成するものとする。',NULL,'位置を指定して、任意のデータに直接アクセスすることができる。','並んでいるデータの先頭に任意のデータを効率的に挿入できる。','任意のデータの参照は効率的ではないが、削除や挿入の操作を効率的に行える。','任意のデータを別の位置に移動する場合、隣接するデータを移動せずにできる。','ア','配列を用いたリストでは、要素番号を使うことでデータを直接参照できます。一方、ポインタを用いたリスト（連結リスト）では、リストの先頭から順番に要素をたどっていく必要があり、そのため要素数が多ければ多いほど、参照に時間がかかります。その他の選択肢はすべて「連結リスト」の特徴です。',NULL),(34,3,'3-4','配列と比較した場合の連結リストの特徴に関する記述として、適切なものはどれか。',NULL,'要素を更新する場合、ポインタを順番にたどるだけなので、処理時間は短い。','要素を削除する場合、削除した要素から後ろにあるすべての要素を前に移動するので、処理時間は長い。','要素を参照する場合、ランダムにアクセスできるので、処理時間は短い。','要素を挿入する場合、数個のポインタを書き換えるだけなので、処理時間は短い。','エ','配列のメリットは参照・更新が速いことです。連結リストのメリットは挿入・削除が速いことです。 ア. 連結リストは、ポインタをたどる分、配列よりも更新に時間がかかります。 イ. 連結リストではなく、配列の特徴です。 ウ. 連結リストではなく、配列の特徴です。',NULL),(35,3,'3-5','図の木構造は2分探索木である。a 〜 gの値の大小関係として、適切なものはどれか。ここで、a 〜 gの値は重複しないものとする。',NULL,'a < b < d < e < c < f < g','d < b < e < a < f < c < g','d < e < f < g < b < c < a','g < f < c < e < d < b < a','イ','2分探索木とは、節の値が「左の子孫 ＜ 親 ＜ 右の子孫」の関係になっている2分木です。設問の2分探索木の場合、以下のような大小関係になります。 ・親aは、左の子孫であるb、d、eより大きい ・b、d、eの大小関係は、d < b < e したがって、d < b < e < a ・親aは、右の子孫であるc、f、gより小さい ・c、f、gの大小関係は、f < c < g したがって、a < f < c < g 以上から、d < b < e < a < f < c < gとなります。',NULL),(36,3,'3-6','次の流れ図は、1から100までの整数の総和を求め、結果を変数$x$に代入するアルゴリズムを示したものであるが、一部誤りがある。どのように訂正すればよいか。',NULL,'①の処理を“ $0 \\rightarrow x$ ”にする。','②の条件判定を“ $i : 99$ ”にする。','③の処理を“ $x + i \\rightarrow i$ ”にする。','④の処理を“ $x + 1 \\rightarrow x$ ”にする。','ア','この設問では、総和のアルゴリズムを流れ図で示しています。流れ図の問題は、できるだけトレース表(p.105)を書いてから解答するようにしましょう。下表左は、誤りの流れ図の結果を示すトレース表です。また、下表右が訂正後の流れ図の結果を示すトレース表です。$x$は総和を表します。$i$を1から100までループさせ、毎回$x$に$i$を加算することで、総和を計算します。$$1 + 2 + 3 \\dots 99 + 100 = 5050$$しかし、上記の左表を見ると、以下の計算を行っていることが確認できます。$$1 + 1 + 2 + 3 \\dots 99 + 100 = 5051$$最初に「1」を余分に足しています。正しい計算式にするには、①の「$1 \\rightarrow x$」の処理を「$0 \\rightarrow x$」に変更し、「$0 + 1 + 2 + 3 \\dots 99 + 100 = 5050$」にします。','/home/air/goalskill_t/back/img_explanation/section3/4b8715e3-078f-4733-a72c-c4872247eb45.png'),(37,3,'3-7','整数$x$、$y$($x \\geq y \\geq 0$)に対して、次のように定義された関数$F(x, y)$がある。$F(231, 15)$の値は幾らか。ここで、$x \\text{ mod } y$は$x$を$y$で割った余りである。$$F(x, y) = \\begin{cases} x & (y=0\\text{のとき}) \\\\ F(y, x \\text{ mod } y) & (y>0\\text{のとき}) \\end{cases}$$',NULL,'2','3','5','7','イ','設問には明記されていませんが、これは「最大公約数を求める」問題です。アルゴリズムは数式で表記されています。数式で表記されている場合は単に引数を入れて計算するだけで正解を導き出せます。条件にしたがって計算すると下記のようになります。\r\n$F(231, 15)$\r\n$= F(15, 231 \\text{ mod } 15) = F(15, 6)$\r\n$= F(6, 15 \\text{ mod } 6) = F(6, 3)$\r\n$= F(3, 6 \\text{ mod } 3) = F(3, 0)$\r\n$= 3$',NULL),(38,3,'3-8','$n!$ の値を、次の関数$F(n)$によって計算する。乗算の回数を表す式はどれか。$$F(n) = \\begin{cases} 1 & (n=0) \\\\ n \\times F(n-1) & (n>0) \\end{cases}$$',NULL,'$n-1$','$n$','$n^2$','$n!$','イ','「！」は階乗を表す記号です。階乗とは、1から$n$までの整数をすべて掛けた数です。「3の階乗」は「3！」と書きます。3の階乗は「$3 \\times 2 \\times 1 = 6$」です。$n=3$として、実際に関数を計算します。\r\n$F(3)$\r\n$= 3 \\times F(2)$\r\n$= 3 \\times 2 \\times F(1)$\r\n$= 3 \\times 2 \\times 1 \\times F(0)$\r\n$= 3 \\times 2 \\times 1 \\times 1$\r\n$= 6$\r\n乗算の回数は3回です。つまり$n$と同じ数です。',NULL),(39,3,'3-9','関数$f(x, y)$が次のとおり定義されているとき、$f(775, 527)$の値は幾らか。ここで、$x \\text{ mod } y$は$x$を$y$で割った余りを返す。\r\n$f(x, y): \\text{if } y = 0 \\text{ then return } x \\text{ else return } f(y, x \\text{ mod } y)$',NULL,'0','31','248','527','イ','プログラム言語によるアルゴリズムの表現です。このプログラムが意味するのは以下です。\r\n条件「$y = 0$」が正しい場合は$x$を返す。\r\n条件「$y = 0$」が正しくない場合は、$f(y, x \\text{ mod } y)$を返す。\r\nこれにしたがって計算をすると以下になります。\r\n$f(775, 527) = f(527, 775 \\text{ mod } 527) = f(527, 248)$ ---------------- 775/527の余りは248。\r\n$= f(248, 527 \\text{ mod } 248) = f(248, 31)$ ----------------- 527/248の余りは31。\r\n$= f(31, 248 \\text{ mod } 31) = f(31, 0)$ ------------------- 248/31の余りは0。\r\n$= 31$ ------------------------- $y=0$なので、$x$を返す。',NULL),(40,3,'3-10','顧客番号をキーとして顧客データを検索する場合、2分探索を使用するのが適しているものはどれか。',NULL,'顧客番号から求めたハッシュ値が指し示す位置に配置されているデータ構造','顧客番号に関係なく、ランダムに配置されているデータ構造','顧客番号の昇順に配置されているデータ構造','顧客番号をセルに格納し、セルのアドレス順に配置されているデータ構造','ウ','2分探索法とは、調べる範囲を半分に分割することで目的のデータを見つけるアルゴリズムです。2分探索法では、データをあらかじめ昇順か降順で整列させておくことが必要です。',NULL),(41,3,'3-11','クイックソートの処理方法を説明したものはどれか。',NULL,'既に整列済みのデータ列の正しい位置に、データを追加する操作を繰り返していく方法である。','データの中の最小値を求め、次にそれを除いた部分の中から最小値を求める。この操作を繰り返していく方法である。','適当な基準値を選び、それよりも小さな値のグループと大きな値のグループにデータを分割する。同様にして、グループの中で基準値を選び、それぞれのグループを分割する。この操作を繰り返していく方法である。','隣り合ったデータの比較と入替えを繰り返すことによって、小さな値のデータを次第に端の方に移していく方法である。','ウ','クイックソートは、データを2つのグループに分割する整列アルゴリズムです。 ア. 挿入ソートの処理方法の説明です。 イ. 選択ソートの処理方法の説明です。 エ. バブルソートの処理方法の説明です。',NULL),(42,3,'3-12','10進法で5桁の数 $a_1 a_2 a_3 a_4 a_5$ を、ハッシュ法を用いて配列に格納したい。ハッシュ関数を $mod(a_1+a_2+a_3+a_4+a_5, 13)$ とし、求めたハッシュ値に対応する位置の配列要素に格納する場合、54321は配列のどの位置に入るか。ここで、$mod(x, 13)$ は、$x$ を13で割った余りとする。',NULL,'1','2','7','11','イ','ハッシュ法は、データのハッシュ値を元に格納場所を決定する探索アルゴリズムです。ハッシュ関数にデータを当てはめてハッシュ値を計算します。\r\n$mod(a_1+a_2+a_3+a_4+a_5, 13) = mod(5+4+3+2+1, 13)$\r\n$= mod(15, 13)$\r\n$= 2$',NULL),(43,3,'3-13','探索方法とその実行時間のオーダーの適切な組合せはどれか。ここで、探索するデータの数を $n$ とし、ハッシュ値が衝突する（同じ値になる）確率は無視できるほど小さいものとする。また、実行時間のオーダーが $n^2$ であるとは、$n$ 個のデータを処理する時間が $cn^2$ ($c$ は定数)で抑えられることをいう。',NULL,'2分探索：$\\log_2 n$ / 線形探索：$n$ / ハッシュ探索：$1$','$n \\log_2 n$ / 線形探索：$n$ / ハッシュ探索：$\\log_2 n$','$n \\log_2 n$ / 線形探索：$n^2$ / ハッシュ探索：$1$','$n^2$ / 線形探索：$1$ / ハッシュ探索：$n$','ア','主な探索アルゴリズムのオーダーは以下のとおりです。','/home/air/goalskill_t/back/img_explanation/section3/2c21d603-5161-4f67-a8a5-82b4d45e330d.png'),(44,3,'3-14','$n$ の階乗を再帰的に計算する関数 $F(n)$ の定義において、a に入れるべき式はどれか。ここで、$n$ は非負の整数とする。$n > 0$ のとき、 $F(n) =$ a$n = 0$ のとき、 $F(n) = 1$',NULL,'$n+F(n-1)$','$n-1+F(n)$','$n \\times F(n-1)$',' $(n-1) \\times F(n)$','ウ','この問題の計算式は、階乗を計算する再帰的アルゴリズムです。$n$ に具体的な値として「3」を代入して、各選択肢を計算します。','/home/air/goalskill_t/back/img_explanation/section3/75c1adfa-46c9-4f23-8b5b-00ba775649e5.png'),(45,3,'3-15','再帰呼び出しの説明はどれか。',NULL,'あらかじめ決められた順番ではなく、起きた事象に応じた処理を行うこと','関数の中で自分自身を用いた処理を行うこと','処理が終了した関数をメモリから消去せず、必要になったとき再び用いること','処理に失敗したときに、その処理を呼び出す直前の状態に戻すこと','イ','再帰呼び出しとは、処理の途中で自分自身を呼び出すことです。',NULL),(46,3,'3-16','再入可能プログラムの特徴はどれか。',NULL,'主記憶上のどこのアドレスに配置しても、実行することができる。','手続きの内部から自分自身を呼び出すことができる。','必要な部分を補助記憶装置から読み込みながら動作する。主記憶領域の大きさに制限があるときに、有効な手法である。','複数のタスクからの呼び出しに対して、並行して実行されても、それぞれのタスクに正しい結果を返す。','エ','再入可能プログラムとは、複数のプログラムから呼び出されても正しく動作する性質を持つプログラムです。',NULL),(47,3,'3-17','Javaにおいて、よく使われる機能などを再利用できるようにコンポーネント化するための仕様はどれか。',NULL,'JavaBeans','JavaScript','Javaアプリケーション','Javaアプレット','ア','「再利用できるようにコンポーネント化」というキーワードからJavaBeansだと判断できます。\r\n\r\nイ. JavaScriptとは、動的なWebページを作るためのプログラム言語です。\r\n\r\nウ. Javaアプリケーションとは、主にコンピュータ上で実行されるJavaで書かれたプログラムです。\r\n\r\nエ. Javaアプレットとは、サーバからダウンロードして、クライアント側のWebブラウザ上で実行されるJavaで書かれたプログラムです。',NULL),(48,3,'3-18','Web環境での動的処理を実現するプログラムであって、Webサーバ上だけで動作するものはどれか。',NULL,'JavaScript','Javaアプレット','Javaサーブレット','VBScript','ウ','選択肢の中で、サーバ上だけで動作するプログラムは「Javaサーブレット」です。\r\n\r\nア. JavaScriptとは、動的なWebページを作るためのプログラム言語です。\r\n\r\nイ. Javaアプレットとは、サーバからダウンロードして、クライアント側のWebブラウザ上で実行されるJavaで書かれたプログラムです。\r\n\r\nエ. VBScriptとは、Visual Basicというプログラム言語を元に開発されたスクリプト言語です。',NULL),(49,3,'3-19','コンパイル済みのオブジェクトコードがサーバに格納されていて、クライアントからの要求によってクライアントへ転送されて実行されるプログラムはどれか。',NULL,'アプレット','サーブレット','スクリプト','スレッド','ア','アプレットとは、サーバからクライアントに転送されて実行されるプログラムです。\r\n\r\nイ. サーブレットとは、サーバ上で実行されるプログラムです。\r\n\r\nウ. スクリプトとは、機械語への変換が省略できるため、ソースコードを記述したらすぐに実行できるプログラムです。\r\n\r\nエ. スレッドとは、並列処理に対応した、プログラムの最小の実行単位です。',NULL),(50,3,'3-20','HTML文書の文字の大きさ、文字の色、行間などの視覚表現の情報を扱う標準仕様はどれか。',NULL,'CMS','CSS','RSS','Wiki','イ','CSS (Cascading Style Sheets) とは、HTML文書の文字の大きさ、文字の色、行間などのデザイン（視覚表現）を指定する言語です。CSSのキーワードは「視覚表現の情報」です。\r\n\r\nア. CMS (Contents Management System) とは、HTMLとCSSに関する知識がなくても、管理画面を使って文字や画像を追加することで、Webページを更新できるシステムです。CMSの具体的なサービス例としては「WordPress」などが有名です。\r\n\r\nウ. RSSとは、XMLをベースにした、Webページの更新情報を配信するための文書フォーマットです。\r\n\r\nエ. Wikiとは、CMSの1つで、複数人が共同でWebページを作成できるシステムです。Wikiを使ったサービスとしてはWikipediaなどが有名です。',NULL),(51,3,'3-21','XMLの特徴として、最も適切なものはどれか。',NULL,'XMLでは、HTMLに、Webページの表示性能の向上を主な目的とした機能を追加している。','XMLでは、ネットワークを介した情報システム間のデータ交換を容易にするために、任意のタグを定義することができる。','XMLで用いることができるスタイル言語は、HTMLと同じものである。','XMLは、SGMLを基に開発されたHTMLとは異なり、独自の仕様として開発された。','イ','HTMLでは任意のタグを定義できませんが、XMLでは任意のタグを定義できます。',NULL),(52,3,'3-22','JavaScriptの非同期通信の機能を使うことによって、動的なユーザーインタフェースを画面全体の遷移を伴わずに実現する技術はどれか。',NULL,'Ajax','CSS','RSS','SNS','ア','「JavaScriptの非同期通信の機能」を用いた技術は、Ajaxです。「非同期通信」というキーワードを見たらAjaxを思い出してください。\r\n\r\nイ. CSS (Cascading Style Sheets) とは、HTML文書の文字の大きさ、文字の色、行間などのデザイン（視覚表現）を指定する言語です。\r\n\r\nウ. RSSとは、XMLをベースにした、Webページの更新情報を配信するための文書フォーマットです。\r\n\r\nエ. SNS (Social Networking Service) とは、インターネット上で人と人のつながりを促進するサービスです。',NULL),(62,4,'4-1','図はプロセッサによってフェッチされた命令の格納順序を表している。aに当てはまるものはどれか。',NULL,'アキュムレーター','データキャッシュ','プログラムレジスタ（プログラムカウンター）','命令レジスタ','エ','命令が保存されるのは「命令レジスタ」です。\r\nア. アキュムレーターとは、演算結果を保存するためのレジスタです。アキュムレーターの代わりに汎用レジスタに演算結果を保存する場合もあります。演算結果の保存にアキュムレーターを用いる場合を「アキュムレーター方式」、汎用レジスタを用いる場合を「汎用レジスタ方式」といいます。\r\nイ. データキャッシュは、キャッシュメモリの1つで、CPUが処理するデータを保存します。命令は保存しません。\r\nウ. プログラムレジスタは、「次の命令のアドレス」を保存するレジスタです。',NULL),(63,4,'4-2','主記憶のデータを図のように参照するアドレス指定方式はどれか。',NULL,'間接アドレス指定','指標アドレス指定','相対アドレス指定','直接アドレス指定','ア','主記憶装置上のアドレス（番地）に有効アドレスが記載されているので、間接アドレス指定です。\r\nイ. 指標アドレス指定は、アドレス部の値にインデックスレジスタの値を足した値を有効アドレスとする方式です。\r\nウ. 相対アドレス指定は、アドレス部の値にプログラムカウンターの値を足した値を有効アドレスとする方式です。\r\nエ. 直接アドレス指定は、アドレス部に有効アドレスが入っている方式です。',NULL),(64,4,'4-3','平均命令実行時間が20ナノ秒のコンピュータがある。このコンピュータの性能は何MIPSか。',NULL,'5','10','20','50','エ','MIPSの公式は以下です。$$\\text{MIPS} = \\frac{1\\text{秒}}{\\text{平均命令実行時間}} \\times 10^{-6}$$設問の条件を当てはめると以下になります。$$\\text{MIPS} = \\frac{1\\text{秒}}{(20 \\times 10^{-9})} \\times 10^{-6} = 50$$',NULL),(65,4,'4-4','50MIPSのプロセッサの平均命令実行時間は幾らか。',NULL,'20ナノ秒','50ナノ秒','2マイクロ秒','5マイクロ秒','ア','MIPSの公式に設問の条件を当てはめると以下になります。$$50\\text{MIPS} = \\frac{1\\text{秒}}{\\text{平均命令実行時間}} \\times 10^{-6}$$$$\\text{平均命令実行時間} = \\frac{1\\text{秒} \\times 10^{-6}}{50\\text{MIPS}}$$$$= 0.02 \\times 10^{-6} = 0.02 (\\text{マイクロ秒}) = 20 (\\text{ナノ秒})$$',NULL),(66,4,'4-5','1GHzのクロックで動作するCPUがある。このCPUは、機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に平均何万命令を実行できるか。',NULL,'125','250','80,000','125,000','エ','1秒間に実行できる命令数の公式は以下です。$$\\text{1秒間に実行できる命令数} = \\frac{\\text{クロック周波数}}{\\text{1つの命令を実行するのに必要なクロック数}}$$設問の条件を当てはめると以下になります。$$1 \\times 10^9 \\div 0.8 = 125,000 \\times 10^4$$',NULL),(67,4,'4-6','割込み処理の終了後に、割込みによって中断された処理を割り込まれた場所から再開するために、割込み発生時にプロセッサが保存するものはどれか。',NULL,'インデックスレジスタ','データレジスタ','プログラムカウンター','命令レジスタ','ウ','割込みが起こると、**プログラムカウンター（プログラムレジスタ）**の値が保存されます。',NULL),(68,4,'4-7','CPUのプログラムレジスタ（プログラムカウンター）の役割はどれか。',NULL,'演算を行うために、メモリから読み出したデータを保持する。','条件付き分岐命令を実行するために、演算結果の状態を保持する。','命令のデコードを行うために、メモリから読み出した命令を保持する。','命令を読み出すために、次の命令が格納されたアドレスを保持する。','エ','プログラムレジスタ（プログラムカウンター）とは、「次の命令のアドレス」を格納するレジスタです。\r\nア. 汎用レジスタの役割です。\r\nイ. フラグレジスタの役割です。\r\nウ. 命令レジスタの役割です。',NULL),(69,4,'4-8','内部割込みに分類されるものはどれか。',NULL,'商用電源の瞬時停電などの電源異常による割込み','ゼロで除算を実行したことによる割込み','入出力が完了したことによる割込み','メモリパリティエラーが発生したことによる割込み','イ','ゼロ除算はプログラム内部のエラーによって発生する割込みなので、内部割込みに分類されます。その他の選択肢のものはすべて外部割込みに分類されます。',NULL),(70,4,'4-9','外部割込みに分類されるものはどれか。',NULL,'インターバルタイマによって、指定時間が経過したときに生じる割込み','演算結果のオーバーフローやゼロによる除算で生じる割込み','仮想記憶管理において、存在しないページへのアクセスによって生じる割込み','ソフトウェア割込み命令の実行によって生じる割込み','ア','タイマによる割込みはプログラムの外部で発生します。その他の選択肢のものはすべて内部割込みに分類されます。なお、CPUの使用権を一定時間ごとに切り替える方式を「ラウンドロビン方式」(p.212) といい、この方式で一定時間を測るタイマを「インターバルタイマ」といいます。',NULL),(71,4,'4-10','キャッシュメモリの効果として、適切なものはどれか。',NULL,'主記憶からキャッシュメモリへの命令の読出しと、主記憶からキャッシュメモリへのデータの読出しを同時に行うことによって、データ転送を高速に行う。','主記憶から読み出したデータをキャッシュメモリに保持し、CPUが後で同じデータを読み出すときのデータ転送を高速に行う。','主記憶から読み出したデータをキャッシュメモリに保持し、命令を並列に処理することによって演算を高速に行う。','主記憶から読み出した命令をキャッシュメモリに保持し、キャッシュメモリ上でデコードして実行することによって演算を高速に行う。','イ','キャッシュメモリの役割はCPUと主記憶装置との速度差を埋めることです。',NULL),(72,4,'4-11','主記憶のアクセス時間が60ナノ秒、キャッシュメモリのアクセス時間が10ナノ秒であるシステムがある。キャッシュメモリを介して主記憶にアクセスする場合の実効アクセス時間が15ナノ秒であるとき、キャッシュメモリのヒット率は幾らか。',NULL,'0.1','0.17','0.83','0.9','エ','実効アクセス時間は以下の式で計算します。実効アクセス時間 = キャッシュメモリへのアクセス時間 × ヒット率 + 主記憶装置へのアクセス時間 × (1 - ヒット率)今回の設問では、キャッシュメモリへのアクセス時間：10ナノ秒主記憶装置へのアクセス時間：60ナノ秒実効アクセス時間：15ナノ秒なので、ヒット率を $x$ とすると、以下の式で計算できます。$$15 = 10 \\times x + 60 \\times (1 - x)$$$$15 = 10x + 60 - 60x$$$$50x = 45$$$$x = 0.9$$',NULL),(73,4,'4-12','キャッシュメモリに関する記述のうち、適切なものはどれか。',NULL,'書込み命令を実行したときに、キャッシュメモリと主記憶の両方を書き換える方式と、キャッシュメモリだけを書き換えておき、主記憶の書換えはキャッシュメモリから当該データが追い出されるときに行う方式とがある。','キャッシュメモリにヒットしない場合に割込みが生じ、プログラムによって主記憶からキャッシュメモリにデータが転送される。','キャッシュメモリは、実記憶と仮想記憶とのメモリ容量の差を埋めるために採用される。','半導体メモリのアクセス速度の向上が著しいので、キャッシュメモリの必要性は減っている。','ア','キャッシュメモリとは、CPUと主記憶装置の間にある、CPUの待ち時間を短縮するためのメモリです。 キャッシュメモリへの書き込み方式は2つあります。ライトスルー方式とライトバック方式です。\r\n\r\nイ. キャッシュメモリにヒットしない場合でも割込みは生じず、CPUは主記憶にあるデータにアクセスします。 割込みが生じるのは、アクセス権のないメモリにアクセスしたときなどです。\r\n\r\nウ. キャッシュメモリは、CPUと主記憶装置との処理速度の差を埋めるために採用されます。\r\n\r\nエ. 半導体メモリのアクセス速度の向上は著しいですが、CPUの処理速度の向上も著しいので、キャッシュメモリの必要性は減っていません。',NULL),(74,4,'4-13','キャッシュの書込み方式には、ライトスルー方式とライトバック方式がある。ライトバック方式を使用する目的として、適切なものはどれか。',NULL,'キャッシュと主記憶の一貫性（コピーレンシ）を保ちながら、書込みを行う。','キャッシュミスが発生したときに、キャッシュの内容の主記憶への書き戻しを不要にする。','個々のプロセッサがそれぞれのキャッシュをもつマルチプロセッサシステムにおいて、キャッシュ管理をライトスルー方式よりも簡単な回路構成で実現する。','プロセッサから主記憶への書込み頻度を減らす。','エ','ライトスルー方式とは、データ書込み命令を実行したときに、キャッシュメモリと主記憶の両方を書き換える方式です。 一方、ライトバック方式とは、キャッシュメモリだけを書き換えておき、主記憶の書き換えはキャッシュメモリから当該データが追い出されるときに行う方式です。\r\n\r\nライトスルー方式のメリットは、ライトバック方式のように「いらないデータを追い出す制御」をしなくてよいので、仕組みがシンプルになる点です。\r\n\r\nライトバック方式のメリットは、ライトスルー方式のように「処理速度の遅い主記憶装置へ、毎回データを書き込む処理」を実行しなくてよいので、書き込み速度が速い点にあります。\r\n\r\nなお、アとイはライトスルー方式に関連する目的です。ウは、ライトスルー方式よりも複雑な回路構成になるため、誤りです。',NULL),(75,4,'4-14','メモリインタリーブの説明として、適切なものはどれか。',NULL,'CPUから主記憶へのアクセスを高速化するために、キャッシュメモリと主記憶の両方に同時にデータを書き込む。','CPUから主記憶へのアクセスを高速化するために、主記憶内部を複数のバンクに分割し、各バンクを並列にアクセスする。','CPUと主記憶のアクセス速度の違いによるボトルネックを解消するために、高速かつ小容量のメモリを配置する。','パイプライン処理を乱す要因をなくすために、キャッシュメモリを命令用とデータ用の二つに分離する。','イ','「各バンクを並列にアクセスする」というキーワードからメモリインタリーブだと判断できます。\r\n\r\nア. ライトスルー方式の説明です。\r\n\r\nウ. キャッシュメモリの説明です。\r\n\r\nエ. ハーバードアーキテクチャの説明です。',NULL),(76,4,'4-15','USB 3.0の説明として、適切なものはどれか。',NULL,'1クロックで2ビットの情報を伝送する4対の信号線を使用し、最大1Gビット／秒のスループットをもつインタフェースである。','PCと周辺機器とを接続するATA仕様をシリアル化したものである。','音声、映像などに適したアイソクロナス転送を採用しており、ブロードキャスト転送モードをもつシリアルインタフェースである。','スーパースピードと呼ばれる5Gビット／秒のデータ転送モードをもつシリアルインタフェースである。','エ','USB 3.0の最大転送速度は5Gbpsなので、エが正解です。\r\nア. 1000BASE-Tに関する記述です。\r\nイ. SATAに関する記述です。\r\nウ. IEEE1394に関する記述です。',NULL),(77,4,'4-16','USB Type-Cのプラグ側コネクタの断面図はどれか。\r\nここで、図の縮尺は同一ではない。',NULL,'/home/air/goalskill_t/back/img_q/section4/f0358c5d-c2bf-40f5-8adb-6b9fbabf0001.png','/home/air/goalskill_t/back/img_q/section4/fc448b43-340b-435a-814b-e3e227fb0d7d.png','/home/air/goalskill_t/back/img_q/section4/2c65e347-4c28-44da-84cb-20e543cbffa9.png','/home/air/goalskill_t/back/img_q/section4/7b84020e-ca1e-4ba9-b350-23ce803a81f4.png','イ','USB Type-Cのプラグ側コネクタの断面図はイです。\r\nUSB Type-Cの特徴は、コネクタを上下入れ替えても差し込むことができる点です。\r\nア. USB Type-Aのコネクタの断面図です。\r\nウ. USB Mini-Bのコネクタの断面図です。\r\nエ. USB Micro-Bのコネクタの断面図です。',NULL),(78,4,'4-17','デバイスドライバの説明として、適切なものはどれか。',NULL,'PCに接続された周辺機器を制御するソフトウェア','アプリケーションプログラムをPCに導入するソフトウェアアプリケーションプログラムをPCに導入するソフトウェア','キーボードなどの操作手順を登録して、その操作を自動化するソフトウェア','他のPCに入り込んで不利益をもたらすソフトウェア','ア','「周辺機器を制御するソフトウェア」というキーワードから、アがデバイスドライバの説明であると判断できます。\r\nイ. インストーラに関する記述です。\r\nウ. マクロに関する記述です。\r\nエ. マルウェアに関する記述です。',NULL),(79,4,'4-18','96dpiのディスプレイに12ポイントの文字をビットマップで表示したい。\r\n正方フォントの縦は何ドットになるか。\r\nここで、1ポイントは1/72インチとする。',NULL,'8','9','12','16','エ','まず、12ポイントをインチに変換します。$$12 \\times 1/72 = 12/72 = 1/6 \\text{インチ}$$次に、インチをドット数に変換します。$$1/6 \\text{インチ} \\times 96 \\text{ドット／インチ} = 16 \\text{ドット}$$',NULL),(80,4,'4-19','3Dプリンターの機能の説明として、適切なものはどれか。',NULL,'高温の印字ヘッドのピンを感熱紙に押し付けることによって印刷を行う。','コンピュータグラフィックスを建物、家具など凹凸のある立体物に投影する。','熱溶解積層方式などによって、立体物を造形する。','立体物の形状を感知して、3Dデータとして出力する。','ウ','「立体物を造形」というキーワードから、ウが3Dプリンターの説明であると判断できます。\r\nア. 感熱式プリンターの説明です。\r\nイ. プロジェクションマッピングの説明です。\r\nエ. 3Dスキャナーの説明です。',NULL),(93,5,'5-1','3層クライアントサーバシステム構成で実現したWebシステムの特徴として、適切なものはどれか。',NULL,'HTMLで記述されたプログラムをサーバ側で動作させ、クライアントソフトはその結果を画面に表示する。','業務処理の変更のたびに、Webシステムを動作させるための業務処理用アプリケーションをクライアント端末に送付し、インストールする必要がある。','業務処理はサーバ側で実行し、クライアントソフトはHTMLの記述に従って、その結果を画面に表示する。','クライアント端末には、サーバ側からのHTTP要求を待ち受けるサービスを常駐させておく必要がある。','ウ','Webシステムの特徴は、クライアントソフトにWebブラウザを使うことです。選択肢ウの「HTMLの記述に従って、その結果を画面に表示する」のはWebブラウザです。 ア. HTMLで記述されたプログラムはクライアント側で動作します。 イ. Webシステムではクライアントソフトとして、Webブラウザを利用するので、特別なソフトウェアをクライアントにインストールする必要はありません。 エ. HTTPで要求をするのはクライアントです。サーバにはHTTP要求を待ち受けるサービスを常駐させます。',NULL),(94,5,'5-2','冗長構成におけるデュアルシステムの説明として、適切なものはどれか。',NULL,'2系統のシステムで並列処理をすることによって性能を上げる方式である。','2系統のシステムの負荷が均等になるように、処理を分散する方式である。','現用系と待機系の2系統のシステムで構成され、現用系に障害が生じたときに、待機系が処理を受け継ぐ方式である。','一つの処理を2系統のシステムで独立に行い、結果を照合する方式である。','エ','デュアルシステムの問題で注意しなければならないのは、デュプレックスシステムとの混同です。 「デュアルシステム」では2つのコンピュータが同時に処理を行い結果を照合します。ただし、処理能力は2倍になりません。一方、「デュプレックスシステム」は、現用系が壊れたときにはじめて待機系が処理をスタートします。',NULL),(95,5,'5-3','コンピュータを2台用意しておき、現用系が故障したときは、現用系と同一のオンライン処理プログラムをあらかじめ起動して待機している待機系のコンピュータに速やかに切り替えて、処理を続行するシステムはどれか。',NULL,'コールドスタンバイシステム','ホットスタンバイシステム','マルチプロセッサシステム','マルチユーザーシステム','イ','待機系のコンピュータに「速やかに」切り替えるのがホットスタンバイシステムです。 ア. コールドスタンバイシステムとは、待機系には電源を入れず、停止した状態で待機させておくシステムです。 ウ. マルチプロセッサシステムとは、1つのシステムに複数のCPUを持つシステムです。 エ. マルチユーザーシステムとは、一人ではなく、複数のユーザーが同時に利用できるシステムです。',NULL),(96,5,'5-4','フォールトトレラントシステムの説明として、適切なものはどれか。',NULL,'システムが部分的に故障しても、システム全体としては必要な機能を維持するシステム','地域的な災害などの発生に備えて、遠隔地に予備を用意しておくシステム','複数のプロセッサがネットワークを介して接続され、資源を共有するシステム','複数のプロセッサで一つのトランザクションを並行して処理し、結果を照合するシステム','ア','システムが部分的に故障しても、システム全体としては必要な機能を維持するシステムを、フォールトトレラントシステムといいます。',NULL),(97,5,'5-5','安全性や信頼性を確保するための設計のうち、フールプルーフに該当するものはどれか。',NULL,'装置が故障したときは、システムが安全に停止するようにして、被害を最小限に抑える。','装置が故障したときは、利用できる機能を制限したり、処理能力を低下させたりしても、システムは稼働させる。','装置が故障しても、システム全体の機能に影響がないように、二重化などを行って冗長な構成とする。','利用者が誤った操作をしても、システムに異常が起こらないようにする。','エ','フールプルーフとは、人間が間違った使い方をしても、システムに異常が起こらないようにする設計です。 ア. フェールセーフに該当します。 イ. フェールソフトに該当します。 ウ. フォールトトレラントに該当します。',NULL),(98,5,'5-6','データを分散して複数の磁気ディスクに書き込むことによって、データ入出力の高速化を図る方式はどれか。',NULL,'ストライピング','スワッピング','ディスクキャッシュ','ミラーリング','ア','データを分散して複数の磁気ディスクに書き込むことによって、データ入出力の高速化を図る方式を、ストライピングといいます。 イ. スワッピングとは、主記憶の容量が足りなくなったときに、不要なデータを補助記憶に追い出して、必要なデータを主記憶に配置することです。 ウ. ディスクキャッシュとは、主記憶と補助記憶の速度差を埋めるために使われる記憶領域です。 エ. ミラーリングとは、複数のハードディスクに同じデータを書き込む記憶方式です。',NULL),(99,5,'5-7','RAIDの分類において、ミラーリングを用いることで信頼性を高め、障害発生時には冗長ディスクを用いてデータ復元を行う方式はどれか。',NULL,'RAID1','RAID2','RAID3','RAID4','ア','ミラーリングはRAID1に当たります。',NULL),(100,5,'5-8','コンピュータシステムによって単位時間当たりに処理される仕事の量を表す用語はどれか。',NULL,'スループット','ターンアラウンドタイム','タイムスライス','レスポンスタイム','ア','コンピュータが単位時間当たりに処理する仕事の量をスループットといいます。 イ. ターンアラウンドタイムとは、入力から出力が完了するまでの全工程にかかる合計時間です。 ウ. タイムスライスとは、複数のユーザーが1台のコンピュータを利用するときに、各ユーザーに割り当てられるCPUの処理時間です。 エ. レスポンスタイムとは、処理にかかる時間です。',NULL),(101,5,'5-9','システムのスケールアウトに関する記述として、適切なものはどれか。',NULL,'既存のシステムにサーバを追加導入することによって、システム全体の処理能力を向上させる。','既存のシステムのサーバの一部又は全部を、クラウドサービスなどに再配置することによって、システム運用コストを下げる。','既存のシステムのサーバを、より高性能なものと入れ替えることによって、個々のサーバの処理能力を向上させる。','一つのサーバをあたかも複数のサーバであるかのように見せることによって、システム運用コストを下げる。','ア','サーバの台数を増やすことで、システム全体の処理能力を向上させることを、スケールアウトといいます。 イ. クラウドコンピューティングに関する記述です。 ウ. スケールアップに関する記述です。 エ. サーバ仮想化に関する記述です。',NULL),(102,5,'5-10','ベンチマークテストの説明として、適切なものはどれか。',NULL,'監視・計測用のプログラムによってシステムの稼働状態や資源の状況を測定し、システム構成や応答性能のデータを得る。','使用目的に合わせて選定した標準的なプログラムを実行させ、システムの処理性能を測定する。','将来の予測を含めて評価する場合などに、モデルを作成して模擬的に実験するプログラムでシステムの性能を評価する。','プログラムを実際には実行せずに、机上でシステムの処理を解析して、個々の命令の出現回数や実行回数の予測値から処理時間を推定し、性能を評価する。','イ','ベンチマークテストのキーワードは「標準的なプログラムを使うこと」です。 ア. モニタリングの説明です。 ウ. シミュレーションの説明です。 エ. 静的積算の説明です。',NULL),(103,5,'5-11','コンピュータシステムの信頼性に関する記述のうち、適切なものはどれか。',NULL,'システムの遠隔保守は、MTTR を長くし、稼働率を向上させる。','システムの稼働率は、MTTR と MTBF を長くすることによって向上する。','システムの構成が複雑なほど、MTBF は長くなる。','システムの予防保守は、MTBF を長くするために行う。','エ','MTBFとは、システムが故障せずに正しく動いていた時間の平均値です。MTBFはシステムの予防保守によって長くすることができます。 ア. 遠隔保守では、直接現地に行かなくても修理ができるので、MTTRが短くなります。 イ. MTTRは故障している時間なので、MTTRを長くすると、稼働率は低下します。 ウ. システムの構成が複雑だとメンテナンスが難しくなるので、MTBFは短くなります。',NULL),(104,5,'5-12','あるシステムの今年度のMTBFは3,000時間、MTTRは1,000時間である。翌年度はMTBFについて今年度の20%分の改善、MTTRについて今年度の10%分の改善を図ると、翌年度の稼働率は何%になるか。',NULL,'69','73','77','80','エ','MTBFとは「システムが故障せずに正しく動いていた時間の平均値」です。MTBFが大きいほど、システムの信頼性が高いといえます。つまり、MTBFが20%改善すると、MTBFは20%分の時間が増えることになります。したがって、MTBFは以下になります。$$3,000 + 3,000 \\times 20\\% = 3,000 + 600 = 3,600\\text{時間}$$MTTRとは「システムが稼働していなかった時間の平均値」です。MTTRが小さいほど、システムの保守性が高いといえます。つまり、MTTRが10%改善すると、MTTRは10%分の時間が減ることになります。したがって、MTTRは以下になります。$$1,000 - 1,000 \\times 10\\% = 1,000 - 100 = 900\\text{時間}$$稼働率とは「システムが故障せずに動いていた時間の割合」です。稼働率は、次の式で求めます。$$\\text{稼働率} = \\frac{\\text{MTBF}}{\\text{MTBF} + \\text{MTTR}}$$したがって、以下の計算式より、翌年度の稼働率は80% (0.8) になります。$$3,600 \\div (3,600 + 900) = 3,600 \\div 4,500 = 0.8$$',NULL),(105,5,'5-13','図のような、稼働率Pのシステムで構成された多重化システム全体の稼働率を表す式はどれか。ここで、並列の部分は、どちらか一方が稼働していればよいものとする。',NULL,'$1 - (1 - P)(1 - P^2)^2$','$P\\{1 - (1 - P)^4\\}$','$P\\{1 - (1 - P)^2\\}^2$','$P\\{1 - (1 - P^2)^2\\}$','エ','多重化システムの問題です。多重化システムの問題は小さい部分から順に大きくなるように計算すると解くことができます。今回も①〜④の順に稼働率を計算します。\r\n❶(直列システム) : $P \\times P = P^2$\r\n❷(直列システム) : $P \\times P = P^2$\r\n❸(並列システム) : $1 - (1 - ❶)(1 - ❷) = 1 - (1 - P^2)(1 - P^2) = 1 - (1 - P^2)^2$\r\n❹(直列システム) : $P \\times ❸ = P\\{1 - (1 - P^2)^2\\}$','/home/air/goalskill_t/back/img_explanation/section5/94bc8a70-60cb-458f-b395-3f2c1bf651cd.png'),(108,6,'6-1','四つのジョブA〜Dを次の条件で実行し印刷する。全ての印刷が完了するのは、ジョブを起動してから何秒後か。\r\n\r\n〔条件〕\r\n（1）ジョブは一斉に起動され、多重度1で実行される。\r\n（2）優先順位はAが最も高く、B、C、Dの順に低くなる。\r\n（3）各ジョブの実行後、スプーリング機能が1台のプリンターを用いて逐次印刷を行う。\r\n（4）各ジョブを単独で実行した場合の実行時間と印刷時間は、表のとおりである。\r\n（5）その他のオーバーヘッドは考慮しない。',NULL,'100','160','190','280','ウ','条件にしたがって、CPUの実行時間とプリンターの印刷時間を図にすると以下のようになります。すべての印刷が完了するのは190秒後です。','/home/air/goalskill_t/back/img_explanation/section6/142a255a-b29e-4575-8c10-8e20239e2d2f.png'),(109,6,'6-2','スプーリングの説明として、適切なものはどれか。',NULL,'キーボードからの入力データを主記憶のキューに一旦保存しておく。','システムに投入されたジョブの実行順序を、その特性や優先順位に応じて決定する。','通信データを直接通信相手に送らず、あらかじめ登録しておいた代理に送る。','プリンターなどの低速な装置への出力データを一旦高速な磁気ディスクに格納しておき、その後に目的の装置に出力する。','エ','スプーリングとは、高速なCPUと低速な入出力装置の間のデータ転送を、高速な補助記憶装置に仲介させる技術です。アは「キーバッファ」の説明です。イは「ジョブスケジューリング」の説明です。ウは「プロキシへの通信」の説明です。',NULL),(110,6,'6-3','入出力管理におけるバッファの機能として、適切なものはどれか。',NULL,'入出力装置が利用可能になったことを、入出力装置が処理装置に伝える。','入出力装置と処理装置との間に特別な記憶域を設け、処理速度の違いを緩和する。','入出力装置と処理装置との間のデータ交換に階層を設けることによって、入出力装置固有の仕様を意識せずに利用できる。','入出力装置をファイルと同じように取り扱えるようにする。','イ','OSには入出力管理という機能もあります。入出力管理とは、その名のとおり、入出力装置の制御を行う機能です。バッファとは、2つの装置の処理速度の差を補う記憶装置です。アは「入出力割込み」の機能です。ウは「デバイスドライバ」の機能です。エは「デバイスファイル」の機能です。',NULL),(111,6,'6-4','図の送信タスクから受信タスクにT秒間連続してデータを送信する。1秒当たりの送信量をS、1秒当たりの受信量をRとしたとき、バッファがオーバーフローしないバッファサイズLを表す関係式として適切なものはどれか。ここで、受信タスクよりも送信タスクの方が転送速度は速く、次の転送開始までの時間間隔は十分にあるものとする。',NULL,'L < (R-S) × T','L < (S-R) × T','L ≧ (R-S) × T','L ≧ (S-R) × T','エ','バッファとは、二装置間の処理速度や転送速度の差を緩和する記憶装置です。また、オーバーフローとは、書き込まれるデータのサイズが記憶装置の容量を超えることです。設問では、送信タスクのほうが受信タスクよりも転送速度が速いので、バッファが間に入って、その差を緩和します。2つのタスクの速度差は「S-R」で表されます。これがT秒間連続して送信されるので、バッファが格納するデータ量は「(S-R) × T」です。Lがこの値以上であればよいので、不等式は「L ≧ (S-R) × T」となります。',NULL),(112,6,'6-5','メイン処理、及び表に示す二つの割込みA、Bの処理があり、多重割込みが許可されている。割込みA、Bが図のタイミングで発生するとき、0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。ここで、割込み処理の呼出し及び復帰に伴うオーバーヘッドは無視できるものとする。',NULL,'2','2.5','3.5','5','ア','設問に沿ってメイン処理の時間を計算すると下図のようになります。ここで注意してほしいのは、1ミリ秒経過した時点で、割込み優先度の高い［割込みA］が、割込み優先度の低い［割込みB］からCPUの使用権を横取りする点です。メイン処理の時間を総計すると2ミリ秒となるので、アが正解になります。','/home/air/goalskill_t/back/img_explanation/section6/6c225859-94e8-400f-8b63-964eca240bd0.png'),(113,6,'6-6','優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで、二つのタスクA、Bをスケジューリングする。Aの方がBよりも優先度が高い場合にリアルタイムOSが行う動作のうち、適切なものはどれか。',NULL,'Aの実行中にBに起動がかかると、Aを実行可能状態にしてBを実行する。','Aの実行中にBに起動がかかると、Aを待ち状態にしてBを実行する。','Bの実行中にAに起動がかかると、Bを実行可能状態にしてAを実行する。','Bの実行中にAに起動がかかると、Bを待ち状態にしてAを実行する。','ウ','プリエンプティブは、実行中の優先度の低いタスクを実行可能状態にして、優先度の高いタスクを実行状態にします。',NULL),(114,6,'6-7','マルチプログラミングにおけるプロセスの切替え手順を示した図において、OSの処理a〜cとして、適切な組合せはどれか。',NULL,'a:実行状態の回復 / b:プロセスの選択 / c:実行状態の退避','a:実行状態の退避 / b:実行状態の回復 / c:プロセスの選択','a:実行状態の退避 / b:プロセスの選択 / c:実行状態の回復','a:プロセスの選択 / b:実行状態の回復 / c:実行状態の退避','ウ','設問では「プロセス」という表記になっていますが、これは「タスク」のことです。割込みが発生するとCPUはプログラムカウンターにある実行中の命令のアドレスを退避させます。次に優先度に応じて次のタスク(プロセス)を選択します。最後に、新たに実行するタスクの命令のアドレスをプログラムカウンターにセットします。',NULL),(115,6,'6-8','タスクのディスパッチの説明として、適切なものはどれか。',NULL,'各タスクの実行順序を決定すること','実行可能なタスクに対してプロセッサの使用権を割り当てること','タスクの実行に必要な情報であるコンテキストのこと','一つのプロセッサで複数のタスクを同時に実行しているかのように見せかける機能のこと','イ','ディスパッチとは、タスクにプロセッサ(CPU)の使用権を割り当てることで、そのタスクを実行可能状態から実行状態に移すことです。アはタスクスケジューリングの説明です。ウはタスクコントロールブロックの説明です。エはマルチタスクの説明です。',NULL),(116,6,'6-9','スケジューリングに関する記述のうち、ラウンドロビン方式の説明として、適切なものはどれか。',NULL,'各タスクに、均等にCPU時間を割り当てて実行させる方式である。','各タスクに、ターンアラウンドタイムに比例したCPU時間を割り当てて実行させる方式である。','各タスクの実行イベント発生に応じて、リアルタイムに実行させる方式である。','各タスクを、優先度の高い順に実行させる方式である。','ア','ラウンドロビン方式とは、タスクを一定時間ごとに切り替えて実行する方式です。イ. 処理時間順方式の説明です。ウ. イベントドリブン方式の説明です。エ. 優先度順方式の説明です。',NULL),(117,6,'6-10','ページング方式の説明として、適切なものはどれか。',NULL,'仮想記憶空間と実記憶空間をそれぞれ固定長の領域に区切り、対応づけて管理する方式','主記憶装置の異なった領域で実行できるように、プログラムを再配置する方式','主記憶装置を、同時に並行して読み書き可能な複数の領域に分ける方式','補助記憶装置に、複数のレコードをまとめて読み書きする方式','ア','ページング方式とは、仮想記憶と実記憶をページと呼ぶ固定長の領域に分割して管理する方式です。選択肢アの文中にある「対応づけて」というのは、仮想記憶と実記憶をページテーブルで対応付けることを意味します。イ. 動的再配置の説明です。ウ. メモリインターリーブの説明です。エ. ブロック化の説明です。',NULL),(118,6,'6-11','ページング方式の仮想記憶において、ページフォールトの発生回数を増加させる要因はどれか。',NULL,'主記憶に存在しないページへのアクセスが増加すること','主記憶に存在するページへのアクセスが増加すること','主記憶のページのうち、更新されたページの比率が高くなること','長時間アクセスしなかった主記憶のページをアクセスすること','ア','ページフォールトとは、実記憶に存在しないページへのアクセスによって起こる割込みです。実記憶に存在しないページへのアクセスが増加すれば、ページフォールトの回数も同じだけ増加します。',NULL),(119,6,'6-12','仮想記憶管理のページ入れ替え方式のうち、最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。',NULL,'FIFO','LFU','LIFO','LRU','','最後に参照されてから最も長い時間が経過したページを追い出すアルゴリズムは選択肢エの「LRU」です。LRUは「Least Recently Used」の略です。「Least Recently」とは「最も最近でない」という意味です。ア. FIFO (First In First Out : 先入れ先出し方式) とは、読み込んでから最も長い時間が経過したページを置き換えるアルゴリズムです。イ. LFU (Least Frequently Used) とは、参照頻度が最も少ないページを置き換えるアルゴリズムです。ウ. LIFO (Last In First Out : 後入れ先出し方式) とは、読み込んだばかりのページをすぐに追い出すアルゴリズムです。なお、この方式は非常に効率が悪いのでページの置換えアルゴリズムとしては使われません。',NULL),(120,6,'6-13','仮想記憶方式では、割り当てられる実記憶の容量が小さいとページアウト、ページインが頻繁に発生し、処理能力が急速に低下することがある。このような現象を何というか。',NULL,'スラッシング','スワッピング','フラグメンテーション','メモリリーク','ア','割り当てられる実記憶の容量が小さいときに、ページアウトとページインが頻繁に起こる現象を「スラッシング (Thrashing)」といいます。イ. スワッピングとは、主記憶管理において、プログラムの優先度に応じて主記憶装置と補助記憶装置の内容を入れ替えることです。ウ. フラグメンテーションとは、記憶装置の中に使用されない領域が断片的に存在する状態です。エ. メモリリークとは、主記憶管理において、プログラムが主記憶装置の記憶領域を解放しないことで、記憶領域が減ることです。',NULL),(121,6,'6-14','ファイルシステムの絶対パス名を説明したものはどれか。',NULL,'ファイルシステムの絶対パス名を説明したものはどれか。','カレントディレクトリから対象ファイルに至るパス名','ホームディレクトリから対象ファイルに至るパス名','ルートディレクトリから対象ファイルに至るパス名','エ','絶対パスとは、ルートディレクトリから指定したパスです。',NULL),(122,6,'6-15','A、Bという名の複数のディレクトリが、図に示す構造で管理されている。“\\B\\A\\B”がカレントディレクトリになるのは、カレントディレクトリをどのように移動した場合か。ここで、ディレクトリの指定は次の方法によるものとし、→は移動の順序を示す。\r\n\r\n〔ディレクトリ指定方法〕\r\n(1) ディレクトリは、“ディレクトリ名\\……\\ディレクトリ名”のように、経路上のディレクトリを順に“\\”で区切って並べた後に、“\\”とディレクトリ名を指定する。\r\n(2) カレントディレクトリは、“.”で表す。\r\n(3) 1階層上のディレクトリは、“..”で表す。\r\n(4) 始まりが“\\”のときは、左端にルートディレクトリが省略されているものとする。\r\n(5) 始まりが“\\”、“.”、“..”のいずれでもないときは、左端に“.\\”が省略されているものとする。',NULL,'\\A → ..\\B → .\\A\\B','\\B → .\\B\\A → ..\\B','\\B → \\A → \\B','\\B\\A → ..\\B','ア','カレントディレクトリの移動先となる「\\B\\A\\B」は、四角で囲ったBディレクトリです。\r\n\r\nそれぞれの選択肢のパスを辿ると、以下のように選択肢アのみが目的のBディレクトリに移動します。','/home/air/goalskill_t/back/img_explanation/section6/01231f86-fd61-4967-bf3d-15194e934dda.png'),(123,6,'6-16','データベースのバックアップ処理には、フルバックアップ方式と差分バックアップ方式がある。差分バックアップ方式に関する記述のうち、適切なものはどれか。',NULL,'障害からの回復時に差分だけ処理すればよいので、フルバックアップ方式に比べて復旧時間が短い。','フルバックアップのデータで修復した後に、差分を加えて復旧する。','フルバックアップ方式と交互に運用することはできない。','フルバックアップ方式に比べ、バックアップに要する時間が長い。','イ','差分バックアップとは、フルバックアップ以降、新たに追加されたデータのみをバックアップすることです。差分バックアップの復旧では、フルバックアップファイルと差分バックアップファイルの2つを使います。\r\n\r\nア. 差分バックアップでの復旧にはフルバックアップと差分バックアップファイルの2つが必要なので、フルバックアップよりも復旧時間が長くなります。\r\n\r\nウ. 差分バックアップはフルバックアップと交互に運用することで、差分バックアップのデータの肥大化を防ぎます。\r\n\r\nエ. 差分バックアップはフルバックアップからの追加分だけをバックアップするので、処理時間が短いです。',NULL),(124,6,'6-17','バックアップ方式の説明のうち、増分バックアップはどれか。ここで、最初のバックアップでは、全てのファイルのバックアップを取得し、OSが管理しているファイル更新を示す情報はリセットされるものとする。',NULL,'最初のバックアップの後、ファイル更新を示す情報があるファイルだけをバックアップし、ファイル更新を示す情報は変更しないでそのまま残しておく。','最初のバックアップの後、ファイル更新を示す情報にかかわらず、全てのファイルをバックアップし、ファイル更新を示す情報はリセットする。','直前に行ったバックアップの後、ファイル更新を示す情報があるファイルだけをバックアップし、ファイル更新を示す情報はリセットする。','直前に行ったバックアップの後、ファイル更新を示す情報にかかわらず、全てのファイルをバックアップし、ファイル更新を示す情報は変更しないでそのまま残しておく。','ウ','増分バックアップは、前回のバックアップから新たに追加されたデータのみをバックアップする方式です。「ファイル更新を示す情報」があるデータを「新しいデータ」として認識します。そのため「ファイル更新を示す情報がリセット」されると、「新しいデータ」と認識されなくなります。\r\n\r\nアは「差分バックアップ」についての説明です。イとエは「フルバックアップ」についての説明です。',NULL),(125,6,'6-18','リンカの機能として、適切なものはどれか。',NULL,'作成したプログラムをライブラリに登録する。','実行に先立ってロードモジュールを主記憶にロードする。','相互参照の解決などを行い、複数の目的モジュールなどから一つのロードモジュールを生成する。','プログラムの実行を監視し、ステップごとに実行結果を記録する。','ウ','「ロードモジュールを生成する」からリンカだと判断できます。アは「コンパイラ」の機能です。イは「ローダ」の機能です。エは「デバッガ」の機能です。',NULL),(126,6,'6-19','コンパイラにおける最適化の説明として、適切なものはどれか。',NULL,'オブジェクトコードを生成する代わりに、インタプリタ用の中間コードを生成する。','コンパイルを実施するコンピュータとは異なるアーキテクチャをもったコンピュータで動作するオブジェクトコードを生成する。','ソースコードを解析して、実行時の処理効率を高めたオブジェクトコードを生成する。','プログラムの実行時に、呼び出されたサブプログラム名やある時点での変数の内容を表示するようなオブジェクトコードを生成する。','ウ','実行時の処理効率を高めたオブジェクトコードを生成するのは最適化コンパイラです。\r\nア. 中間言語コンパイラの説明です。中間言語コンパイラは、バイトコードコンパイラとも呼ばれます。\r\nイ. クロスコンパイラの説明です。\r\nエ. デバッガの説明です。',NULL),(127,6,'6-20','静的テストツールの機能に分類されるものはどれか。',NULL,'ソースコードを解析して、プログラムの誤りを検出する。','テスト対象モジュールに必要なドライバ又はスタブを生成する。','テストによって実行した経路から網羅度を算出する。','プログラムの特定の経路をテストするためのデータを生成する。','ア','選択肢アの解説内容は、ソースコード解析ツールの機能です。よって、静的テストツールに分類されます。\r\nイ. テストベッドツールの機能なので、テスト実施支援ツールに分類されます。\r\nウ. テストカバレッジツールの機能なので、動的テストツールに分類されます。\r\nエ. テストデータ生成ツールの機能なので、テスト実施支援ツールに分類されます。',NULL),(128,6,'6-21','オープンソースの統合開発環境であって、アプリケーション開発のためのソフトウェア及び支援ツール類をまとめたものはどれか。',NULL,'Eclipse','Perl','PHP','Ruby','ア','Eclipseのみが統合開発環境です。残りの選択肢はすべてプログラム言語の名前です。',NULL),(129,6,'6-22','オープンソースライセンスにおいて、“著作権を保持したまま、プログラムの複製や改変、再配布を制限せず、そのプログラムから派生した二次著作物（派生物）には、オリジナルと同じ配布条件を適用する”とした考え方はどれか。',NULL,'BSDライセンス','コピーライト','コピーレフト','デュアルライセンス','ウ','コピーレフトとは、プログラムの著作権は作者が保持するが、誰もが、二次的著作物も含めたプログラムの入手、複製、改変、再配布ができるというライセンスです。\r\nア. BSDライセンスとは、コピーレフトのないOSSライセンスです。\r\nイ. コピーライトとは「著作権」のことです。\r\nエ. デュアルライセンスとは、1つのソフトウェアを異なる2つのライセンスで配布することです。',NULL),(139,7,'7-1','フラッシュメモリに関する記述として、適切なものはどれか。',NULL,'高速に書換えができ、CPUのキャッシュメモリに用いられる。','紫外線で全データを一括消去できる。','周期的にデータの再書込みが必要である。','ブロック単位で電気的にデータの消去ができる。','エ','フラッシュメモリとは、電気的にデータの書き換えができるROM（不揮発性メモリ）です。フラッシュメモリのキーワードは「電気でデータを消去」です。よって、エが正解です。なお、「ブロック」とは、記憶装置のデータの塊のことです。フラッシュメモリの前身である初期のEEPROMでは1バイト単位でしかデータを操作できませんでしたが、フラッシュメモリはブロック単位で操作できます。アはSRAMに関する記述です。イはEPROMに関する記述です。ウはDRAMに関する記述です。',NULL),(140,7,'7-2','コンデンサに蓄えた電荷の有無で情報を記憶するメモリはどれか。',NULL,'EEPROM','SDRAM','SRAM','フラッシュメモリ','イ','コンデンサを利用した半導体メモリはDRAMです。SDRAMはDRAMの一種なので、イが正解です。\r\nア. EEPROMとは、電気的にデータの書き換えができるROM（不揮発性メモリ）です。\r\nウ. SRAMとは、リフレッシュをする必要がないRAM（揮発性メモリ）です。\r\nエ. フラッシュメモリとは、EEPROMの一種です。',NULL),(141,7,'7-3','DRAMの特徴はどれか。',NULL,'書込み及び消去を一括又はブロック単位で行う。','データを保持するためのリフレッシュ操作又はアクセス操作が不要である。','電源が遮断された状態でも、記憶した情報を保持することができる。','メモリセル構造が単純なので高集積化することができ、ビット単価を安くできる。','エ','メモリセルの構造が単純なのは、コンデンサです。コンデンサを使うと、データ量の大きい半導体メモリを、安く作ることができます。このコンデンサをメモリセルに使っているのはDRAMです。アはフラッシュメモリの特徴です。イはSRAMの特徴です。ウはROMの特徴です。',NULL),(142,7,'7-4','メモリセルにフリップフロップ回路を利用したものはどれか。',NULL,'DRAM','EEPROM','SDRAM','SRAM','エ','メモリセルにフリップフロップ回路を利用しているのはSRAMです。\r\nア. DRAMは、コンデンサを利用した半導体メモリです。\r\nイ. EEPROMは、PROMの内の電気を使ってデータの読み書きを行う半導体メモリです。\r\nウ. SDRAMは、DRAMよりも高速に動作する半導体メモリです。',NULL),(143,7,'7-5','二つの安定状態をもつ順序回路はどれか。',NULL,'NANDゲート','加算器','コンデンサ','フリップフロップ','エ','フリップフロップ回路とは、1ビットの情報（0または1）を保存できる順序回路です。2つの安定状態とは「0」と「1」を指します。\r\nア. NANDゲートとは、否定論理積を行う論理回路です。\r\nイ. 加算器とは、1桁の2進数のたし算を行う回路です。\r\nウ. コンデンサとは、DRAMに使われる、電気を蓄える電子部品です。',NULL),(144,7,'7-6','機械式接点の押しボタンスイッチを1回押したときに、押してから数ミリ秒の間、複数回のON、OFFが発生する現象はどれか。',NULL,'サンプリング','シェアリング','チャタリング','バッファリング','ウ','機械式スイッチのオン／オフが切り替わる短い間に、意図しないオン／オフが何度も繰り返されることを「チャタリング」といいます。\r\nア. サンプリングとは、アナログ信号をデジタル信号に変換する際に、一定の間隔で信号を区切ることです。サンプリングは「標本化」とも呼ばれます。\r\nイ. シェアリングとは、1台のコンピュータを複数のユーザーで利用することです。\r\nエ. バッファリングとは、処理速度の速い機器と遅い機器の間に入って、2つの速度差を緩衝することです。例えば、CPUと主記憶装置との間で速度差を緩衝するのがキャッシュメモリです。緩衝する機器のことを「バッファ」といいます。',NULL),(145,7,'7-7','7セグメントLED点灯回路で、出力ポートに16進数で6Dを出力したときの表示状態はどれか。ここで、P7を最上位ビット（MSB）、P0を最下位ビット（LSB）とし、ポート出力が1のとき、LEDは点灯する。',NULL,'/home/air/goalskill_t/back/img_q/section7/a42a9917-adaf-460b-b6b3-18f3fef67200.png','/home/air/goalskill_t/back/img_q/section7/9f62916a-5ee0-4b59-af7b-c1fd11e122e4.png','/home/air/goalskill_t/back/img_q/section7/92daf10b-e0df-42ef-85bf-62589ec6fd72.png','/home/air/goalskill_t/back/img_q/section7/9491fb5b-6dfd-4ea5-be94-3a6d70b7d0f5.png','ウ','設問では「1のときにLEDが点灯する」とあるので、カソードコモン型の7セグメントLED（電圧が高いLEDが光る機器）です。なお、MSBとLSBはそれぞれ以下の略称です。\r\n・MSB (Most Significant Bit)：最上位ビット\r\n・LSB (Least Significant Bit)：最下位ビット\r\nこの問題は16進数を2進数に変換するだけで解答できます。16進数の「6D」は、2進数で「01101101」です。つまり、点灯するLEDはg、f、d、c、aです（下表を参照）。よって、表示される数字は「5」（選択肢ウ）です。','/home/air/goalskill_t/back/img_explanation/section7/3216dbb8-fc90-419c-859f-1fb0d57bd04a.png'),(146,8,'8-1','',NULL,'幾つかの項目について、それぞれの項目を選択するかどうかを指定する。','幾つかの選択項目から一つを選ぶときに、選択項目にないものはテキストボックスに入力する。','互いに排他的な幾つかの選択項目から一つを選ぶ。','特定の項目を選択することによって表示される一覧形式の項目から一つを選ぶ。','ウ','ラジオボタンは、ユーザーに複数の選択肢から 1 つだけを選んでもらう用途に使います。\r\nア. 「チェックボックス」の用途です。\r\nイ. 「コンボボックス」の用途です。\r\nエ. 「プルダウンメニュー」の用途です。',NULL),(147,8,'8-2','ある商店では、約200品目の商品を取り扱っている。商品データの新規登録画面の入力項目のうち、入力方式としてプルダウンメニューを用いるのが適しているものはどれか。',NULL,'商品番号：5桁の英数字項目で、商品ごとに付番する。','商品名：40字以内の日本語項目で、商品ごとに命名する。','商品区分：10字以内の日本語項目で、5区分ある。','価格：6桁の数字項目で、範囲は10,000 〜 100,000円である。','ウ','プルダウンメニューでは選択肢が多いと、項目を見つけるのに手間がかかります。 そのため、選択肢が少ない場面で使います。 その他の選択肢は、項目が多いのでプルダウンメニューには不向きです。',NULL),(148,8,'8-3','Webコンテンツのユーザビリティの説明として、適切なものはどれか。',NULL,'障がい、年齢、性別、国籍などにかかわらず、だれもが使える設計をいう。','障がい者や高齢者がサービスを支障なく操作又は利用できる機能をいう。','障がい者や高齢者に負担を与えない設計をいう。','どれだけ利用者がストレスを感じずに、目標とする要求が達成できるかをいう。','エ','ユーザビリティとは、使いやすさのことなので、「利用者がストレスを感じずに、目標とする要求が達成できる」と説明されている選択肢エが正解です。\r\nア. 「ユニバーサルデザイン」の説明です。\r\nイ. 「アクセシビリティ」の説明です。\r\nウ. 「バリアフリー」の説明です。',NULL),(149,8,'8-4','使用性（ユーザビリティ）の規格 (JIS Z 8521) では、使用性を、「ある製品が、指定された利用者によって、指定された利用の状況下で、指定された目的を達成するために用いられる際の、有効さ、効率及び利用者の満足度の度合い」と定義している。この定義中の「利用者の満足度」を評価するのに適した方法はどれか。',NULL,'インタビュー法','ヒューリスティック評価','ユーザビリティテスト','ログデータ分析法','ア','この設問のユーザビリティの定義は古いもので、2020年にJISの規格が改正されました。 2020年の規格では、ユーザビリティを 3 つの基準（効果、効率、満足）で評価します。 このうち「満足」は、ユーザーから聞き取るしか方法がありません。 そのため、選択肢アのインタビュー法が正解です。\r\nイ. ヒューリスティック評価は、ユーザビリティの専門家が、知識と経験からユーザビリティの評価を行う手法です。\r\nウ. ユーザビリティテストは、利用者に実際に製品を使ってもらい、その様子を観察することでユーザビリティを評価する手法です。\r\nエ. ログデータ分析法は、アクセスログやアプリの起動ログなどのログデータを使って「使いやすさ」を評価する手法です。',NULL),(150,8,'8-5','ビットマップフォントよりも、アウトラインフォントの利用が適しているケースはどれか。',NULL,'英数字だけでなく、漢字も表示する。','各文字の幅を一定にして表示する。','画面上にできるだけ高速に表示する。','文字を任意の倍率に拡大して表示する。','エ','アウトラインフォントの特徴は、どんなに拡大・縮小しても、なめらかな曲線で表示されることです。 一方で、ビットマップフォントは、拡大すると文字のギザギザが目立ってしまいます。\r\nア. ビットマップフォントもアウトラインフォントも漢字を表示できます。 しかし、文字サイズが極端に小さい場合、アウトラインフォントでは輪郭がぼやけてしまうことがあるため、ビットマップフォントのほうがきれいに見える場合があります。\r\nイ. ビットマップフォントもアウトラインフォントも文字の幅を一定にして表示できます。\r\nウ. ビットマップフォントはラスタライズの処理が必要ないので表示が高速です。 一方で、アウトラインフォントはラスタライズの処理が必要なので、ビットマップフォントよりも表示に時間がかかります。',NULL),(151,8,'8-6','音声のサンプリングを１秒間に11,000回行い、サンプリングした値をそれぞれ8ビットのデータとして記録する。このとき、 $512 \\times 10^6$ バイトの容量をもつフラッシュメモリに記録できる音声の長さは、最大何分か。',NULL,'77','96','775','969','ウ','設問には明記されていませんが、この問題はPCMに関する問題です。 PCM変換後のデータ量は以下の計算式で算出できます。$$PCM変換後のデータ量 = 標本化周波数 \\times 量子化ビット数 \\times 秒数$$ここで「秒数」を $x$ とすると、以下の不等式が成り立ちます。$$512 \\times 10^6 \\text{バイト} \\times 8 \\text{ビット} \\geq 11,000 \\text{Hz} \\times 8 \\text{ビット} \\times x$$$$x \\approx 46,545 \\text{秒}$$46,545秒は約775分です。',NULL),(152,8,'8-7','3次元グラフィックス処理におけるクリッピングの説明はどれか。',NULL,'CG映像作成における最終段階として、物体のデータをディスプレイに描画できるように映像化する処理である。','画像表示領域にウィンドウを定義し、ウィンドウの外側を除去し、内側の見える部分だけを取り出す処理である。','スクリーンの画素数が有限であるために図形の境界近くに生じる、階段状のギザギザを目立たなくする処理である。','立体感を生じさせるために、物体の表面に陰影を付ける処理である。','イ','クリッピングとは、画像の一部を切り抜くことです。\r\nア. 「レンダリング」の説明です。\r\nウ. 「アンチエイリアシング」の説明です。\r\nエ. 「シェーディング」の説明です。',NULL),(153,8,'8-8','液晶ディスプレイなどの表示装置において、傾いた直線を滑らかに表示する手法はどれか。',NULL,'アンチエイリアシング','テクスチャマッピング','モーフィング','レイトレーシング','ア','アンチエイリアシングとは、画像処理の際にできる線や輪郭のギザギザを目立たなくする処理です。\r\nイ. テクスチャマッピングとは、物体の表面に「模様などの画像」を貼り付けることで、質感を出す処理です。\r\nウ. モーフィングとは、ある物体が徐々に変形して、別の物体に変わる映像です。\r\nエ. レイトレーシングとは、視点から光源を追跡して、物体を照らす光の反射や屈折などの効果を計算して、画像を描く方法です。',NULL),(154,8,'8-9','テクスチャマッピングを説明したものはどれか。',NULL,'光源からの反射や屈折、透過を計算し描画していく。','光源と物体の形状などに基づいて、表示するときに陰影をつける。','表示画面からはみ出す箇所をあらかじめ見つけ、表示対象から外す。','物体の表面に画像を貼り付けることによって、表面の質感を表現する。','エ','テクスチャマッピングとは、物体の表面に模様などの画像を貼り付けて質感を出す処理です。\r\nア. 「レイトレーシング」の説明です。\r\nイ. 「シェーディング」の説明です。\r\nウ. 「クリッピング」の説明です。',NULL),(155,8,'8-10','H.264/MPEG-4 AVCの説明として、適切なものはどれか。',NULL,'5.1チャンネルサラウンドシステムで使用されている音声圧縮技術','携帯電話で使用されている音声圧縮技術','デジタルカメラで使用されている静止画圧縮技術','ワンセグ放送で使用されている動画圧縮技術','エ','H.264/MPEG-4 AVCは「動画圧縮技術」です。\r\nア. 「ドルビーデジタル」の説明です。\r\nイ. 「EVS」などの説明です。\r\nウ. 「JPEG」などの説明です。',NULL),(156,8,'8-11','頻繁に行う操作を効率よく行えるようにしたユーザーインタフェースはどれか。',NULL,'Undo機能（元に戻す）','オンラインヘルプ','ショートカットキー','プログレスバー','ウ','キーボード上の複数のキーを同時に押すことで、特定の命令を実行できる機能を「ショートカットキー」といいます。 ショートカットキーを利用することで、頻繁に行う操作を効率よく行うことができます。\r\nア. Undo機能（元に戻す）とは、直前の操作を取り消して、元の状態に戻せる機能です。\r\nイ. オンラインヘルプとは、コンピュータ上で操作説明を閲覧できる機能です。\r\nエ. プログレスバーとは、全工程のうちどこまで進んでいるかを表示する機能です。',NULL),(161,9,'9-1','関係データベースのデータ構造の説明として、適切なものはどれか。',NULL,'親レコードと子レコードをポインタで結合する。','タグを用いてデータの構造と意味を表す。','データと手続を一本化（カプセル化）してもつ。','データを2次元の表によって表現する。','エ','関係データベースは、データを「表」で表現します。',NULL),(162,9,'9-2','関係データベースの主キー制約の条件として、キー値が重複していないことの他に、主キーを構成する列に必要な条件はどれか。',NULL,'キー値が空でないこと','構成する列が一つであること','表の先頭に定義されている列であること','別の表の候補キーとキー値が一致していること','ア','ある列（属性）が主キーとなるための条件を「主キー制約」といいます。 主キーとなれる列には、（1）重複しない、（2）空（NULL）でない、という2つの条件があります。\r\n\r\nイ. 複数の列を主キーとする場合（複合主キー）があるので誤りです。\r\n\r\nウ. 慣習的に表の先頭に主キーが定義される場合が多いですが、先頭である必要はありません。\r\n\r\nエ. 参照一貫性を保つための条件です。',NULL),(163,9,'9-3','関係データベースにおいて、外部キーを定義する目的として、適切なものはどれか。',NULL,'関係する相互のテーブルにおいて、レコード間の参照一貫性が維持される制約をもたせる。','関係する相互のテーブルの格納場所を近くに配置することによって、検索、更新を高速に行う。','障害によって破壊されたレコードを、テーブル間の相互の関係から可能な限り復旧させる。','レコードの削除、追加の繰返しによる、レコード格納エリアのフラグメンテーションを防止する。','ア','外部キーを設定することで、外部キー制約が適用され、参照一貫性が保たれます。',NULL),(164,9,'9-4','E-R図に関する記述のうち、適切なものはどれか。',NULL,'関係データベースの表として実装することを前提に表現する。','管理の対象をエンティティ及びエンティティ間のリレーションシップとして表現する。','データの生成から消滅に至るデータ操作を表現する。','リレーションシップは、業務上の手順を表現する。','イ','E-R図において、エンティティとは、人間が管理する対象です。 また、リレーションシップはエンティティとエンティティの関係です。\r\n\r\nア. E-R図は、業務プロセスを分析するためにも使われます。\r\n\r\nウ. DFD (Data Flow Diagram : p.456) に関する記述です。\r\n\r\nエ. リレーションシップは、エンティティ間の関係を表現します。',NULL),(165,9,'9-5','6行だけから成る“配送”表において成立している関数従属はどれか。ここで、X→Yは、XはYを関数的に決定することを表す。',NULL,'配送先→部品ID','配送日→部品ID','部署ID→部品ID','部署名→配送先','ア','関数従属とは、ある属性の値が決まると、他の属性の値も一意に決まることです。 選択肢の属性の関係を、それぞれ表すと以下のようになります。 つまり、この表の6レコードに限れば、関数従属の関係にあるのは選択肢アです。','/home/air/goalskill_t/back/img_explanation/section9/5db076d6-8b17-4028-99ab-e4f78f44825f.png'),(166,9,'9-6','“従業員”表を第3正規形にしたものはどれか。ここで、下線部は主キーを表す。\r\n従業員（<u>従業員番号</u>, 従業員氏名, {<u>技能コード</u>, 技能名, 技能経験年数}）\r\n(({})は繰返しを表す)',NULL,'/home/air/goalskill_t/back/img_q/section9/ae8b173f-726b-430b-9a72-875b0fca8353.png','/home/air/goalskill_t/back/img_q/section9/cff475be-67e9-47ca-b50a-e4c76a482811.png','/home/air/goalskill_t/back/img_q/section9/6be2dd14-3ffc-4faa-8fd7-992e7d7ed998.png','/home/air/goalskill_t/back/img_q/section9/d9091c1e-fdf3-4600-829f-437900d3a211.png','ウ','具体的なデータを入れて、正規化を行った例が下図です。\r\n上図では従業員番号1が2つの技能を繰返しで保持しています。\r\n\r\n・第1正規化では、レコードを2つにすることで繰り返しをなくす\r\n\r\n・第2正規化では、部分関数従属をなくす\r\n\r\n・第3正規化では、推移的関数従属をなくすが、元々推移的関数従属はないので、すでに第3正規化は完了している\r\n\r\nこの3つの表と同じになるのは、選択肢ウです。','/home/air/goalskill_t/back/img_explanation/section9/9dce2227-863b-43ca-9c7e-b8c9be844462.png'),(167,9,'9-7','UMLを用いて表した図のデータモデルの多重度の説明のうち、適切なものはどれか。',NULL,'社員が1人も所属しない組織は存在しない。','社員は必ずしも組織に所属しなくてもよい。','社員は複数の組織に所属することができる。','一つの組織に複数の社員は所属できない。','ア','組織に対する社員の多重度は「1..*」です。 これは「1以上」を表します。 つまり、社員が組織に1人以上存在することを表します。\r\n\r\nイ. 社員に対する組織の多重度は「1」なので、社員は必ず1つの組織に所属します。 もし所属しなくてもよい場合は「0..1」とします。\r\n\r\nウ. 社員に対する組織の多重度は「1」なので、社員は複数の組織に所属できません。 もし所属できるようにする場合は「1..*」とします。\r\n\r\nエ. 組織に対する社員の多重度は「1..*」なので、1つの組織に複数の社員が所属できます。 もし所属できない場合は「1」などとします。',NULL),(168,9,'9-8','関係データベースの操作のうち、射影 (projection) の説明として、適切なものはどれか。',NULL,'ある表の照会結果と、別の表の照会結果を合わせて一つの表にする。','表の中から特定の条件に合致した行を取り出す。','表の中から特定の列だけを取り出す。','二つ以上の表の組から条件に合致した組同士を合わせて新しい表を作り出す。','ウ','射影とは、表の中から、ある列だけを取り出すことです。アは「和」の説明です。イは「選択」の説明です。エは「結合」の説明です。',NULL),(169,9,'9-9','列A1 〜 A5から成るR表に対する次のSQL文は、関係代数のどの演算に対応するか。\r\n\r\nSELECT A1, A2, A3 FROM R\r\nWHERE A4 = \'a\'',NULL,'結合と射影','差と選択','選択と射影','和と射影','ウ','SELECT句は射影、WHERE句は選択です。',NULL),(170,9,'9-10','“学生”表と“学部”表に対して次のSQL文を実行した結果として、正しいものはどれか。\r\n\r\n（SQL文）\r\nSELECT 氏名 FROM 学生, 学部\r\nWHERE 所属 = 学部名 AND 学部.住所 = \'新宿\'',NULL,'/home/air/goalskill_t/back/img_q/section9/3e68969f-d947-44b9-ab5f-a8222b2fd0d6.png','/home/air/goalskill_t/back/img_q/section9/1198f85b-cac5-4f3f-869c-30f13db25716.png','/home/air/goalskill_t/back/img_q/section9/7b1f42a6-142e-42aa-a82a-50cddc5366fb.png','/home/air/goalskill_t/back/img_q/section9/d324edd9-b98d-480c-b43a-6f7609d5b12e.png','ウ','まず“学生”表と“学部”表を、所属列と学部名列で紐づけて結合します。次に“学部”表の住所が新宿であるレコードを選択します。最後に氏名列だけを射影します。','/home/air/goalskill_t/back/img_explanation/section9/fa61cdba-88a2-418d-84a1-88188f189d0c.png'),(171,9,'9-11','関係XとYを自然結合した後、関係Zを得る関係代数演算はどれか。',NULL,'射影と和','選択','選択と射影','選択と和','ウ','自然結合とは「異なる２つのテーブルに、同じ名前の列がある場合に、その列をもとにしたテーブルを紐づける結合」です。関係Xと関係Yで同じ名前の列は「学部コード」です。よって、自然結合を行うと以下のようになります。また、自然結合した関係に、選択と射影を行うことで、下図のように関係Zを得ることができます。','/home/air/goalskill_t/back/img_explanation/section9/3405bf81-685f-4221-b395-bfea60e156a1.png'),(172,9,'9-12','“商品”表のデータが次の状態のとき、（ビュー定義）で示すビュー“収益商品”の行数が減少する更新処理はどれか。\r\n\r\n（ビュー定義）\r\nCREATE VIEW 収益商品\r\nAS SELECT * FROM 商品\r\nWHERE 売値 - 仕入値 >= 40000',NULL,'商品コードがS001の売値を130,000に更新する。','商品コードがS003の仕入値を150,000に更新する。','商品コードがS005の売値を130,000に更新する。','商品コードがS005の仕入値を90,000に更新する。','ア','ビューの定義から「売値と仕入値の差が40,000以上のレコード」が取り出されるので、ビューに表示されるレコードは下記の2行です。\r\n実表のデータが変更されるとビューのデータも変更されます。その逆もしかりです。そのうえで、各選択肢を計算してみましょう。行数が減るのは、アのみです。\r\nア. S001の売値と仕入値の差が30,000になる→ビューのS001が消える。\r\nイ. S003の売値と仕入値の差が50,000になる→ビューにS003が増える。\r\nウ. S005の売値と仕入値の差が50,000になる→変化なし。\r\nエ. S005の売値と仕入値の差が50,000になる→変化なし。','/home/air/goalskill_t/back/img_explanation/section9/5d203182-59ba-4d52-9bbf-d5540f231526.png'),(173,9,'9-13','“得点”表から、学生ごとに全科目の点数の平均を算出し、平均が80点以上の学生の学籍番号とその平均点を求める。aに入れる適切な句はどれか。ここで、実線の下線は主キーを表す。\r\n\r\n得点 (<u>学籍番号</u>, <u>科目</u>, 点数)\r\n\r\n（SQL文）\r\nSELECT 学籍番号, AVG(点数)\r\nFROM 得点\r\nGROUP BY a',NULL,'科目 HAVING AVG(点数) >= 80','科目 WHERE 点数 >= 80','学籍番号 HAVING AVG(点数) >= 80','学籍番号 WHERE 点数 >= 80','ウ','「学生ごと」に全科目の点数の平均を算出するには、GROUP BY句で、「学籍番号」をグループ化します。\r\nGROUP BY 学籍番号\r\nまた、「平均が80点以上」の学生を取り出すには、HAVING句で「平均点が80点以上」という条件を指定します。\r\nHAVING AVG(点数) >= 80\r\nよって、ウが正解です。','/home/air/goalskill_t/back/img_explanation/section9/fa90ed19-4bcb-45d3-b678-edfa0043ae85.png'),(174,9,'9-14','クライアントサーバシステムにおいて、利用頻度が高い命令群をあらかじめサーバ上のDBMSに格納しておくことによって、クライアントサーバ間のネットワーク負荷を軽減する仕組みはどれか。',NULL,'2相コミットメント','グループコミットメント','サーバプロセスのマルチスレッド化','ストアドプロシージャ','エ','データベースに対する複数の命令を１つにまとめて、データベース管理システムに保存したものを、ストアドプロシージャといいます。',NULL),(175,9,'9-15','関係データベースの表の列に利用者がインデックスを設定する目的はどれか。',NULL,'外部キーの列の値を別の表の主キーの値に一致させる。','データの格納位置への効率的なアクセスが可能となり、検索速度の向上が期待できる。','一つの大きなテーブルを複数のディスクに分散格納する場合、ディスク容量が節約できる。','列内に重複する値がないようにする。','イ','インデックスとは、データベースの検索を高速化する機能です。\r\nア. 外部キー制約を設定する目的です。\r\nウ. 分散したテーブルごとにインデックスが必要となるので、ディスク容量の節約にはなりません。\r\nエ. 一意性制約を設定する目的です。',NULL),(176,9,'9-16','DBMSに実装すべき原子性（atomicity）を説明したものはどれか。',NULL,'同一データベースに対する同一処理は、何度実行しても結果は同じである。','トランザクション完了後にハードウェア障害が発生しても、更新されたデータベースの内容は保証される。','トランザクション内の処理は、全てが実行されるか、全てが取り消されるかのいずれかである。','一つのトランザクションの処理結果は、他のトランザクション処理の影響を受けない。','ウ','トランザクション管理に必要な4つの性質のことを、それぞれの頭文字をとって「ACID特性」といいます。 ACID特性のうち、原子性（Atomicity）とは、トランザクション内の処理が「すべてが実行される」か、「すべてが取り消される」かのどちらかの結果になることです。\r\n\r\nア. べき等性（Idempotency）についての説明です。 べき等性は、ACID特性には含まれませんが、データの整合性を保つために必要な性質です。\r\n\r\nイ. ACID特性のうち、耐久性（Durability）についての説明です。\r\n\r\nエ. ACID特性のうち、独立性（Isolation）についての説明です。',NULL),(177,9,'9-17','データベースの更新前や更新後の値を書き出して、データベースの更新記録として保存するファイルはどれか。',NULL,'ダンプファイル','チェックポイントファイル','バックアップファイル','ログファイル','エ','データベースの更新記録を「ログファイル」といいます。\r\n\r\nア. ダンプファイルとは、データベースのある瞬間の「すべてのデータ」を記録したファイルです。\r\n\r\nイ. チェックポイントファイルとは、データやトランザクションの状態を記録したファイルです。\r\n\r\nウ. バックアップファイルとは、データベースを復旧するためのデータベースのコピーです。',NULL),(178,9,'9-18','トランザクション処理プログラムが、データベース更新の途中で異常終了した場合、ロールバック処理によってデータベースを復元する。このとき使用する情報はどれか。',NULL,'最新のスナップショット情報','最新のバックアップファイル情報','ログファイルの更新後情報','ログファイルの更新前情報','エ','ロールバックでは更新前ログファイルを使用します。',NULL),(179,9,'9-19','データベースの障害復旧に関する記述のうち、適切なものはどれか。',NULL,'データベースのシステム障害に対しては、トランザクション処理の途中にスナップショットの設定をして、その時点からリスタート処理を行う。','データベースの媒体障害に対しては、バックアップ時点の状態に復元した後、ジャーナルファイルの更新後情報を使用してロールフォワード処理を行う。','データベースの論理的障害によってトランザクション処理がデッドロック状態になり、処理が終了しない場合、排他制御を解除する。','トランザクション処理プログラムが、データベースの更新途中に物理的原因以外で異常終了した場合、ジャーナルファイルの更新後情報を使用してロールバック処理を行う。','イ','ロールフォワードは、データベースのハードウェアに障害が起きた際に、バックアップファイルを使い、トランザクション後の「更新後ログファイル」を読み込んで、障害直前のデータベースを再現する手法です。',NULL),(180,9,'9-20','DBMSにおいて、複数のトランザクション処理プログラムが同一データベースを同時に更新する場合、論理的な矛盾を生じさせないために用いる技法はどれか。',NULL,'再構成','正規化','整合性制約','排他制御','エ','排他制御とは、複数のトランザクションが同じデータを同時に更新しようとした場合に、データに矛盾が生じないようにする機能です。',NULL),(181,9,'9-21','ロックの両立性に関する記述のうち、適切なものはどれか。',NULL,'トランザクション $T_1$ が共有ロックを獲得している資源に対して、トランザクション $T_2$ は共有ロックと専有ロックのどちらも獲得することができる。','トランザクション $T_1$ が共有ロックを獲得している資源に対して、トランザクション $T_2$ は共有ロックを獲得することはできるが、専有ロックを獲得することはできない。','トランザクション $T_1$ が専有ロックを獲得している資源に対して、トランザクション $T_2$ は専有ロックと共有ロックのどちらも獲得することができる。','トランザクション $T_1$ が専有ロックを獲得している資源に対して、トランザクション $T_2$ は専有ロックを獲得することはできるが、共有ロックを獲得することはできない。','イ','共有ロックは他の共有ロックと両立できます。これを「ロックの両立性」といいます。 一方、共有ロックは専有ロックと両立することはできません。',NULL),(182,9,'9-22','RDBMSのロックの粒度に関する次の記述において、$a$、$b$ の組合せとして適切なものはどれか。\r\n\r\n並行に処理される二つのトランザクションがそれぞれ一つの表内の複数の行を更新する。行単位のロックを使用する場合と表単位のロックを使用する場合とを比べると、ロックの競合がより起こりやすいのは [ $a$ ] 単位のロックを使用する場合である。また、トランザクション実行中にロックを管理するためのRDBMSのメモリ使用領域がより多く必要になるのは [ $b$ ] 単位のロックを使用する場合である。',NULL,'$a$: 行, $b$: 行','$a$: 行, $b$: 表','$a$: 表, $b$: 行','$a$: 表, $b$: 表','ウ','ロックの粒度とは、ロックの対象となるデータの単位です。ロックの単位が小さければ、競合は起きにくいですが、管理が複雑になります。\r\n一方、ロックの粒度が大きければ、競合は起きやすいですが、管理が単純になります。したがって、$a$ には大きい単位、$b$ には小さい単位が入ります。表は行よりも大きい単位なので、$a$ には表、$b$ には行を入れるのが適切です。',NULL),(192,10,'10-1','1.5Mビット/秒の伝送路を用いて12Mバイトのデータを転送するのに必要な伝送時間は何秒か。ここで、伝送路の伝送効率を50%とする。',NULL,'16','32','64','128','エ','まず、設問から読み取れる値を整理します。与えられていない「伝送速度」と「伝送時間」をそれぞれX、Yとします。まず、伝送効率の公式から伝送速度Xを求めます。$$伝送効率 = \\frac{伝送速度}{回線速度}$$$$50\\% = \\frac{X}{1.5M\\text{ビット/秒}}$$$$X = 0.75M\\text{ビット/秒}$$続いて伝送時間の公式から伝送時間Yを求めます。$$伝送時間 = \\frac{データ量}{伝送速度}$$$$Y = \\frac{12M\\text{バイト}}{0.75M\\text{ビット/秒}}$$データの単位が「ビット」と「バイト」で不揃いなので、ビットで統一します（バイトに統一しても結果は同じです）。1バイトは8ビットなので、上記の式を以下のように変更します。$$Y = \\frac{96M\\text{ビット}}{0.75M\\text{ビット/秒}}$$$$Y = 128\\text{秒}$$よって、伝送時間Yは「128秒」となります。','/home/air/goalskill_t/back/img_explanation/section10/541d0dfd-05a4-44be-8da6-310dad47bc5e.png'),(193,10,'10-2','1Gバイトの動画データを40Mビット/秒の回線を使用してダウンロードしたところ、5分掛かった。このときの回線利用率は、およそ何%か。ここで、ダウンロード時には動画データに20%の制御情報が付加されるものとする。',NULL,'10',' 53','67','80','エ','回線利用率とは「伝送効率」のことです。伝送効率は「伝送速度 $\\div$ 回線速度」で求めます。また、伝送速度は「データ量 $\\div$ 伝送時間」で求めます。G (ギガ) は1,000M (メガ)、1バイトは8ビットです。なお、データ量には20%の制御情報が付加されることに気をつけてください。$$データ量 = 1G\\text{バイト} \\times 120\\% \\times 1,000 \\times 8$$$$= 1.2G\\text{バイト} \\times 1,000 \\times 8$$$$= 9,600M\\text{ビット}$$$$伝送速度 = 9,600M\\text{ビット} \\div (5\\text{分} \\times 60)$$$$= 32M\\text{ビット/秒}$$$$回線利用率 = 32M\\text{ビット/秒} \\div 40M\\text{ビット/秒}$$$$= 0.8 = 80\\%$$',NULL),(194,10,'10-3','本社と工場との間を専用線で接続してデータを伝送するシステムがある。このシステムでは2,000バイト/件の伝票データを2件ずつまとめ、それに400バイトのヘッダー情報を付加して送っている。伝票データは、1時間に平均100,000件発生している。回線速度を1Mビット/秒としたとき、回線利用率は、およそ何%か。',NULL,'6.1','44','49','53','ウ','伝送速度と回線利用率をそれぞれX、Yとします。回線利用率とは伝送効率のことです。2,000バイトの伝票データ2件を1個にまとめると「4,000バイト」になります。またそれに400バイトのヘッダー情報を付加すると合計で「4,400バイト」になります。1時間に100,000件の伝票データが発生しますが、2件を1個にまとめているので送信時は半分の「50,000件」のデータとなります。$$伝送時間 = \\frac{データ量}{伝送速度}$$$$1時間 = \\frac{\\{(4,000\\text{バイト} + 400\\text{バイト}) \\times 50,000\\text{件}\\}}{X}$$$$X = 220M\\text{バイト/時}$$今回の設問で問われている「回線利用率」は以下の式で導き出します。$$回線利用率 = \\frac{伝送速度}{回線速度}$$回線速度は設問に「1Mビット/秒」と記載されているので、これを当てはめて計算します。ただし、上記で求めた伝送速度「220Mバイト/時」と、回線速度「1Mビット/秒」では単位が異なるため、先に単位を揃える必要があります。まずは、バイト単位をビット単位に変換します。1バイトは8ビットなので(p.17)、以下のようになります。伝送速度 = 220Mバイト/時 $\\times$ 8 = 1760Mビット/時次に「/時」を「/秒」に変換します。1時間は3600秒なので、以下のようになります。伝送速度 = 1760Mビット/時 $\\div$ 3600 $\\approx 0.49M$ビット/秒これで伝送速度と回線速度の単位が揃ったので、回線利用率を計算できます。回線利用率 = $0.49M$ビット/秒 $\\div$ 1Mビット/秒 $\\approx 0.49$',NULL),(195,10,'10-4','メモリモジュールのパリティチェックの目的として、適切なものはどれか。',NULL,'メモリモジュールに電源が供給されているかどうかを判定する。','読出し時に、エラーが発生したかどうかを検出する。','読出し時に、エラーを検出して自動的に訂正する。','読み出したデータを暗号化する。','イ','メモリモジュールとは、主記憶装置の容量を増やすための基盤です。また、パリティチェックとは、送信するビット列に検査用のビットを付け加えて送ることです。単にパリティチェックといった場合は、垂直パリティを指すことが多いです。受信側は、送られてきたビット列と、検査用のビットを比べることでビット誤りを見つけます。一方で、パリティチェック方式（垂直パリティ）は、エラーを訂正することはできません。\r\nなお、垂直水平パリティと呼ばれる方式では、エラーを訂正することができます。',NULL),(196,10,'10-5','送信側では、ビット列をある生成多項式で割った余りをとそのビット列に付加して送信し、受信側では、受信したビット列が同じ生成多項式で割り切れるか否かで誤りの発生を判断する誤り検査方式はどれか。',NULL,'CRC方式','垂直パリティチェック方式','水平パリティチェック方式','ハミング符号方式','ア','ア. CRC方式とは、データをあらかじめ決められた多項式で割り、その余りをチェックデータとしてデータに付けて送る方式です。\r\nイ. 垂直パリティチェック方式とは、複数のビット列に対して垂直方向にパリティビットを付ける方式です。\r\nウ. 水平パリティチェック方式とは、複数のビット列に対して水平方向にパリティビットを付ける方式です。\r\nエ. ハミング符号方式とは、ハミング符号というビットを付ける方式です。',NULL),(197,10,'10-6','通信回線の伝送誤りに対処するパリティチェック方式（垂直パリティ）の記述として、適切なものはどれか。',NULL,'1ビットの誤りを検出できる。','1ビットの誤りを訂正でき、2ビットの誤りを検出できる。','奇数パリティならば1ビットの誤りを検出できるが、偶数パリティでは1ビットの誤りも検出できない。','奇数パリティならば奇数個のビット誤りを、偶数パリティならば偶数個のビット誤りを検出できる。','ア','パリティチェック方式とは、送信するビット列に検査用のビットを付け加えて送る方式です。パリティチェック方式ではすべてのビット誤りを見つけることはできません。例えば、ビット誤りが2箇所で発生すると、奇数・偶数は正しくなるため、ビット誤りに気づくことはできません。\r\nイ. 垂直水平パリティの記述です。垂直水平パリティでは、1ビットの誤りを訂正でき、偶数個の誤りを検出できます。\r\nウ. 偶数パリティは1ビットの誤りを検出できます。\r\nエ. 偶数パリティの場合も奇数個のビット誤りを検出できます。',NULL),(198,10,'10-7','TCP及びUDPのプロトコル処理において、通信相手のアプリケーションを識別するために使用されるものはどれか。',NULL,'MACアドレス','シーケンス番号','プロトコル番号','ポート番号','エ','TCPとUDPはTCP/IP (p.375) でトランスポート層に含まれるプロトコルです。トランスポート層の役割はホストコンピュータのアプリケーションソフトウェアにデータを送ることです。アプリケーションソフトウェアの識別にはポート番号が使われます。',NULL),(199,10,'10-8','ネットワーク機器に付けられているMACアドレスの構成として、適切な組合せはどれか。',NULL,'(先頭24ビット) エリアID / (後続24ビット) IPアドレス','(先頭24ビット) エリアID / (後続24ビット) 固有製造番号','(先頭24ビット) OUI (ベンダーID) / (後続24ビット) IPアドレス','(先頭24ビット) OUI (ベンダーID) / (後続24ビット) 固有製造番号','エ','MACアドレスは、前半24ビットがベンダーID、後半24ビットが固有製造番号です。',NULL),(200,10,'10-9','次のIPアドレスとサブネットマスクをもつPCがある。このPCのネットワークアドレスとして、適切なものはどれか。\r\nIPアドレス ： 10.170.70.19\r\nサブネットマスク ： 255.255.255.240',NULL,'10.170.70.0','10.170.70.16','10.170.70.31','10.170.70.255','イ','ネットワークアドレスとは、ホスト部がすべて「0」のIPアドレスです。設問のIPアドレスを、サブネットマスクを使ってネットワーク部とホスト部に分けましょう。設問のIPアドレスとサブネットマスクを2進数で表すと以下になります。\r\nIPアドレス ： 00001010 10101010 01000110 00010011\r\nサブネットマスク ： 11111111 11111111 11111111 11110000\r\n上記から、下4桁がホスト部だとわかります。つまり、IPアドレスの下4桁をすべて「0」にすればネットワークアドレスになります。よってネットワークアドレスは以下になります。\r\n00001010 10101010 01000110 00010000\r\nこれを10進数で表すと「10.170.70.16」になります。',NULL),(201,10,'10-10','2台のPCにIPv4アドレスを割り振りたい。サブネットマスクが255.255.255.240のとき、両PCのIPv4アドレスが同一サブネットに所属する組合せはどれか。',NULL,'192.168.1.14と192.168.1.17','192.168.1.17と192.168.1.29','192.168.1.29と192.168.1.33','192.168.1.33と192.168.1.49','イ','IPv4とは、IPアドレスを32ビットで表すプロトコルです (p.363)。また、サブネットとは、大きなネットワークを管理しやすいように小さく分割したネットワークです。\r\n下記はサブネットマスクと、選択肢にある5つのIPアドレスを2進数で表した表です。サブネットマスクから、前半28ビットがネットワーク部だとわかります。ネットワーク部が同じIPアドレスは「192.168.1.17」と「192.168.1.29」です。','/home/air/goalskill_t/back/img_explanation/section10/a8a3e792-1bac-40da-be9a-97b5db36eb71.png'),(202,10,'10-11','次のネットワークアドレスとサブネットマスクをもつネットワークがある。このネットワークをあるPCが利用する場合、そのPCに割り振ってはいけないIPアドレスはどれか。\r\nネットワークアドレス ： 200.170.70.16\r\nサブネットマスク ： 255.255.255.240',NULL,'200.170.70.17','200.170.70.20','200.170.70.30','200.170.70.31','エ','PC（ホスト）に割り振ってはいけないIPアドレスは「ネットワークアドレス」と「ブロードキャストアドレス」の2種類です。\r\nネットワークアドレスはホスト部がすべて「0」のIPアドレスです。また、ブロードキャストアドレスはホスト部がすべて「1」のIPアドレスです。\r\n設問のサブネットマスクを2進数で表すと以下になります。\r\n11111111 11111111 11111111 11110000\r\n上記から、下4桁がホスト部だとわかります。すべての選択肢のIPアドレスを2進数で表すと以下になります。下4桁がすべて「1」のIPアドレス（選択肢エ）が、ブロードキャストアドレスです。\r\nア. 11001000 10101010 01000110 00010001\r\nイ. 11001000 10101010 01000110 00010100\r\nウ. 11001000 10101010 01000110 00011110\r\nエ. 11001000 10101010 01000110 00011111',NULL),(203,10,'10-12','192.168.0.0/23(サブネットマスク255.255.254.0)のIPv4ネットワークにおいて、ホストとして使用できるアドレスの個数の上限はどれか。',NULL,'23','24','254','510','エ','スラッシュの後の数字（アドレスプレフィックス表記法）は、ネットワーク部の桁数を表します。よって、設問のネットワーク部は上位23ビットです。\r\n設問のIPアドレスを2進数で表すと以下になります。\r\n11000000 10101000 00000000 00000000\r\n上位23ビットがネットワーク部なので、下位9ビット (2の9乗 : 512個) がホスト部になります。ただし、ネットワークアドレスとブロードキャストアドレスはホストに割り当てることができません。よって、ホスト数は510個 (512-2) になります。',NULL),(204,10,'10-13','IPv6のIPアドレスは何ビットか。',NULL,'32','64','128','256','ウ','IPv6は、128ビット（128桁の2進数）で構成されます。',NULL),(205,10,'10-14','IPv6アドレスの特徴として、適切なものはどれか。',NULL,'アドレス長は96ビットである。','全てグローバルアドレスである。','全てのIPv6アドレスとIPv4アドレスを、1対1に対応付けることができる。','複数のアドレス表記法があり、その一つは、アドレスの16進数表記を4文字（16ビット）ずつコロン“:”で区切る方法である。','エ','IPv6は、IPアドレスを16ビットごとに「:」（コロン）で区切って16進数で表します（例：2001:0DB8:013D:2002:48FF:FE9A:A2C7:385C）。ア. IPv6のアドレス長は128ビットです。イ. IPv6のアドレスには、IPv4のプライベートIPアドレスにあたるユニークローカルユニキャストアドレスなどのアドレスがあります。ウ. IPv6のアドレスの総数はIPv4のアドレスの総数の $2^{96}$ 倍あるので、1対1に対応付けることはできません。',NULL),(206,10,'10-15','TCP/IPネットワークにおいて、IPアドレスを動的に割り当てるプロトコルはどれか。',NULL,'ARP','DHCP','RIP','SMTP','イ','IPアドレスを動的に割り当てるプロトコルはDHCP (Dynamic Host Configuration Protocol) です。\r\n\r\nア. ARP (Address Resolution Protocol) とは、IPアドレスからMACアドレスを求めるための通信プロトコルです。\r\n\r\nウ. RIP (Routing Information Protocol) とは、ルーターのルーティング（経路選択）で使われる通信プロトコルです。\r\n\r\nエ. SMTP (Simple Mail Transfer Protocol) とは、電子メールをメールサーバに送信するための通信プロトコルです。',NULL),(207,10,'10-16','IPv4において、インターネット接続用ルーターのNAT機能の説明として、適切なものはどれか。',NULL,'インターネットへのアクセスをキャッシュしておくことによって、その後に同じIPアドレスのWebサイトへアクセスする場合、表示を高速化できる機能である。','通信中のIPパケットを検査して、インターネットからの攻撃や侵入を検知する機能である。','特定の端末宛てのIPパケットだけを通過させる機能である。','プライベートIPアドレスとグローバルIPアドレスを相互に変換する機能である。','エ','NATとは、プライベートIPアドレスをグローバルIPアドレスへ変換する技術です。この設問のように、グローバルIPアドレスをプライベートIPアドレスに変換する機能も持ちます。\r\n\r\nア. ブラウザキャッシュの説明です。\r\n\r\nイ. IDSの説明です。\r\n\r\nウ. パケットフィルタリングの説明です。',NULL),(208,10,'10-17','プライベートIPアドレスをもつ複数の端末が、一つのグローバルIPアドレスを使ってインターネット接続を利用する仕組みを実現するものはどれか。',NULL,'DHCP','DNS','NAPT','RADIUS','ウ','複数のプライベートIPアドレスを、1つのグローバルIPアドレスに変換する技術を「NAPT」（ナプト）といいます。\r\n\r\nア. DHCPとは、IPアドレスを各コンピュータに自動的に割り当てるプロトコルです。\r\n\r\nイ. DNSとは、ドメイン名をIPアドレスに変換するシステムです。\r\n\r\nエ. RADIUSとは、ネットワーク上で、ユーザーの認証などを行う通信プロトコルです。',NULL),(209,10,'10-18','TCP/IPネットワークでDNSが果たす役割はどれか。',NULL,'PCやプリンターなどからのIPアドレス付与の要求に対して、サーバに登録してあるIPアドレスの中から使用されていないIPアドレスを割り当てる。','サーバにあるプログラムを、サーバのIPアドレスを意識することなく、プログラム名の指定だけで呼び出すようにする。','社内のプライベートIPアドレスをグローバルIPアドレスに変換し、インターネットへのアクセスを可能にする。','ドメイン名やホスト名などとIPアドレスとを対応付ける。','エ','DNSとはドメイン名とIPアドレスを対応させる仕組みです。\r\n\r\nア. DHCPが果たす役割です。\r\n\r\nイ. RPCが果たす役割です。\r\n\r\nウ. NATが果たす役割です。',NULL),(210,10,'10-19','LANにおいて、伝送距離を延長するために伝送路の途中でデータの信号波形を増幅・整形して、物理層での中継を行う装置はどれか。',NULL,'スイッチングハブ（レイヤー2スイッチ）','ブリッジ','リピータ','ルーター','ウ','物理層でデータを中継するのはリピータ（リピータハブ）です。\r\nア. スイッチングハブは、データリンク層でデータを中継する装置です。\r\nイ. ブリッジは、データリンク層でデータを中継する装置です。\r\nエ. ルーターは、ネットワーク層でデータを中継する装置です。',NULL),(211,10,'10-20','複数のLANを接続するために用いる装置で、OSI基本参照モデルのデータリンク層のプロトコル情報に基づいてデータを中継する装置はどれか。',NULL,'ゲートウェイ','ブリッジ','リピータ','ルーター','イ','データリンク層でデータを中継する装置はブリッジです。\r\nア. ゲートウェイは主に、トランスポート層からアプリケーション層でデータを中継する装置です。\r\nウ. リピータは、物理層でデータを中継する装置です。\r\nエ. ルーターは、ネットワーク層でデータを中継する装置です。',NULL),(212,10,'10-21','二つのLANセグメントを接続する装置Aの機能をTCP/IPの階層モデルで表すと図のようになる。この装置Aはどれか。',NULL,'スイッチングハブ','ブリッジ','リピータハブ','ルーター','エ','TCP/IPのインターネット層でデータを中継するのはルーターです。\r\nア. スイッチングハブはTCP/IPのリンク層でデータを中継します。\r\nイ. ブリッジはTCP/IPのリンク層でデータを中継します。\r\nウ. リピータハブはTCP/IPのハードウェア層でデータを中継します。',NULL),(213,10,'10-22','ルーターがパケットの経路決定に用いる情報として、最も適切なものはどれか。',NULL,'宛先IPアドレス','宛先MACアドレス','発信元IPアドレス','発信元MACアドレス','ア','ルーターは、データに含まれる宛先IPアドレスを読んで、宛先となるコンピュータがあるLANだけにデータを届けます。',NULL),(214,10,'10-23','OSI基本参照モデルにおけるネットワーク層の説明として、適切なものはどれか。',NULL,'エンドシステム間のデータ伝送を実現するために、ルーティングや中継などを行う。','各層のうち、最も利用者に近い部分であり、ファイル転送や電子メールなどの機能が実現されている。','物理的な通信媒体の特性の差を吸収し、上位の層に透過的な伝送路を提供する。','隣接ノード間の伝送制御手順（誤り検出、再送制御など）を提供する。','ア','ネットワーク層はルーターがデータを中継する層で、ルーターはルーティング（経路選択）を行う機器です。\r\nイ. アプリケーション層の説明です。\r\nウ. 物理層の説明です。\r\nエ. データリンク層の説明です。',NULL),(215,10,'10-24','メディアコンバータ、リピータハブ、レイヤー2スイッチ、レイヤー3スイッチのうち、レイヤー3スイッチだけがもつ機能はどれか。',NULL,'データリンク層において、宛先アドレスに従って適切なLANポートにパケットを中継する機能','ネットワーク層において、宛先アドレスに従って適切なLANポートにパケットを中継する機能','物理層において、異なる伝送媒体を接続し、信号を相互に変換する機能','物理層において、入力信号を全てのLANポートに対して中継する機能','イ','レイヤー3スイッチは第3層（ネットワーク層）でパケットを中継する機能を持ちます。\r\nア. レイヤー2スイッチの機能です。\r\nウ. メディアコンバータの機能です。\r\nエ. リピータハブの機能です。',NULL),(216,10,'10-25','OSI基本参照モデルのトランスポート層以上が異なるLANシステム相互間でプロトコル変換を行う機器はどれか。',NULL,'ゲートウェイ','ブリッジ','リピータ','ルーター','ア','OSI基本参照モデルのトランスポート層以上の層でデータを中継するのはゲートウェイです。\r\nイ. ブリッジはデータリンク層でデータを中継します。\r\nウ. リピータは物理層でデータを中継します。\r\nエ. ルーターはネットワーク層でデータを中継します。',NULL),(217,10,'10-26','TCP/IPのネットワークにおいて、サーバとクライアント間で時刻を合わせるためのプロトコルはどれか。',NULL,'ARP','ICMP','NTP','RIP','ウ','コンピュータの時刻を合わせるためのプロトコルをNTPといいます。\r\nア. ARPは、IPアドレスからMACアドレスを求めるための通信プロトコルです。\r\nイ. ICMPは、IP (Internet Protocol) を補完するための通信プロトコルです。\r\nエ. RIPは、ルーターのルーティング（経路選択）で使われる通信プロトコルです。',NULL),(218,10,'10-27','インターネットにおける電子メールの規約で、ヘッダーフィールドの拡張を行い、テキストだけでな​​く、音声、画像なども扱えるようにしたものはどれか。',NULL,'HTML','MHS','MIME','SMTP','ウ','MIMEとは、電子メールで文字以外にも、画像や音声、動画など、さまざまな形式のデータを転送できる規格です。\r\nア. HTMLとは、Webページを作成する際に利用されているマークアップ言語です。\r\nイ. MHSとは、電子メールシステムの標準規格です。\r\nエ. SMTPとは、電子メールをメールサーバに送信するためのプロトコルです。',NULL),(219,10,'10-28','電子メールを暗号化するために使用される方式はどれか。',NULL,'BASE64','GZIP','PNG','S/MIME','エ','電子メールを暗号化する規格はS/MIMEです。\r\nア. BASE64とは、データを64種類の英数字に変換する方式です。BASE64は、MIMEでデータを文字コードに変換する際に使われます。\r\nイ. GZIPとは、データの圧縮方式です。\r\nウ. PNGとは、画像データのファイル形式です。',NULL),(223,11,'11-1','ソーシャルエンジニアリングに分類される手口はどれか。',NULL,'ウイルス感染で自動作成されたバックドアからシステムに侵入する。','システム管理者などを装い、利用者に問い合わせてパスワードを取得する。','総当たり攻撃ツールを用いてパスワードを解析する。','バッファオーバーフローなどのソフトウェアの脆（ぜい）弱性を利用してシステムに侵入する。','イ','ソーシャルエンジニアリングとは、人間の心理的な隙を利用して機密情報を手に入れることです。\r\n\r\nア. バックドアに分類される手口です。\r\nウ. ブルートフォース攻撃（総当たり攻撃）に分類される手口です。\r\nエ. バッファオーバーフロー攻撃に分類される手口です。',NULL),(224,11,'11-2','不正が発生する際には“不正のトライアングル”の3要素全てが存在すると考えられている。“不正のトライアングル”の構成要素の説明として、適切なものはどれか。',NULL,'“機会”とは、情報システムなどの技術や物理的な環境、組織のルールなど、内部者による不正行為の実行を可能又は容易にする環境の存在である。','“情報と伝達”とは、必要な情報が識別、把握及び処理され、組織内外及び関係者相互に正しく伝えられるようにすることである。','“正当化”とは、ノルマによるプレッシャーなどのことである。','“動機”とは、良心のかしゃくを乗り越える都合の良い解釈や他人への責任転嫁など、内部者が不正行為を自ら納得させるための自分勝手な理由付けである。','ア','不正のトライアングルのうち、「機会」は不正行為ができる環境のことです。\r\n\r\nイ. 「情報と伝達」は不正のトライアングルの条件ではありません。\r\nウ. ノルマによるプレッシャーは、不正のトライアングルのうちの「動機」にあたります。\r\nエ. 自分勝手な理由付けは、不正のトライアングルのうちの「正当化」にあたります。',NULL),(225,11,'11-3','攻撃者がシステムに侵入するときにポートスキャンを行う目的はどれか。',NULL,'後処理の段階において、システムログに攻撃の痕跡が残っていないかどうかを調査する。','権限取得の段階において、権限を奪取できそうなアカウントがあるかどうかを調査する。','事前調査の段階において、攻撃できそうなサービスがあるかどうかを調査する。','不正実行の段階において、攻撃者にとって有益な利用者情報があるかどうかを調査する。','ウ','ポートスキャンの目的は、サーバが持つポート番号に順番にアクセスすることで、攻撃できそうなサービスがあるかどうかの事前調査をすることです。',NULL),(226,11,'11-4','AES-256で暗号化されていることが分かっている暗号文が与えられているとき、ブルートフォース攻撃で鍵と解読した平文を得るまでに必要な試行回数の最大値はどれか。',NULL,'256','$2^{128}$','$2^{255}$','$2^{256}$','エ','ブルートフォース攻撃とは、パスワードとして考えられる文字列のすべての組み合わせを実行することで、パスワードを割り出す攻撃です。AES-256は共通鍵のデータサイズが256ビットなので、鍵の種類は $2^{256}$ 個になります。',NULL),(227,11,'11-5','パスワードリスト攻撃の手口に該当するものはどれか。',NULL,'辞書にある単語をパスワードに設定している利用者がいる状況に着目して、攻撃対象とする利用者IDを一つ定め、辞書にある単語やその組合せをパスワードとして、ログインを試行する。','パスワードの文字数の上限が小さいWebサイトに対して、攻撃対象とする利用者IDを一つ定め、文字を組み合わせたパスワードを総当たりして、ログインを試行する。','複数サイトで同一の利用者IDとパスワードを使っている利用者がいる状況に着目して、不正に取得した他サイトの利用者IDとパスワードの一覧を用いて、ログインを試行する。','よく用いられるパスワードを一つ定め、文字を組み合わせた利用者IDを総当たりして、ログインを試行する。','ウ','パスワードリスト攻撃 (List Based Attack) とは、他のサービスから不正に入手したIDとパスワードの一覧を使って、正規ルートから不正アクセスをする攻撃です。\r\n\r\nアは「辞書攻撃」に該当します。\r\nイは「ブルートフォース攻撃」に該当します。\r\nエは「リバースブルートフォース攻撃」に該当します。',NULL),(228,11,'11-6','スパイウェアに該当するものはどれか。',NULL,'Webサイトへの不正な入力を排除するために、Webサイトの入力フォームの入力データから、HTMLタグ、JavaScript、SQL文などを検出し、それらを他の文字列に置き換えるプログラム','サーバへの侵入口となり得る脆弱なポートを探すために、攻撃者のPCからサーバのTCPポートに順番にアクセスするプログラム','利用者の意図に反してPCにインストールされ、利用者の個人情報やアクセス履歴などの情報を収集するプログラム','利用者のパスワードを調べるために、サーバにアクセスし、辞書に載っている単語を総当たりで試すプログラム','ウ','スパイウェアは、利用者に気づかれないように個人情報などを収集するプログラムです。\r\n\r\nアは「サニタイジング」に該当します。\r\nイは「ポートスキャン」に該当します。\r\nエは「辞書攻撃」に該当します。',NULL),(229,11,'11-7','情報セキュリティにおいてバックドアに該当するものはどれか。',NULL,'アクセスする際にパスワード認証などの正規の手続きが必要なWebサイトに、当該手続きを経ないでアクセス可能なURL','インターネットに公開されているサーバのTCPポートの中からアクティブになっているポートを探して、稼働中のサービスを特定するためのツール','ネットワーク上の通信パケットを取得して通信内容を見るために設けられたスイッチのLANポート','プログラムが確保するメモリ領域に、領域の大きさを超える長さの文字列を入力してあふれさせ、ダウンさせる攻撃','ア','バックドアとは、システムに不正アクセスするための裏口です。\r\n\r\nイは「ポートスキャナー」の説明です。\r\nウは「ミラーポート」の説明です。\r\nエは「バッファオーバーフロー攻撃」の説明です。',NULL),(230,11,'11-8','キーロガーの悪用例はどれか。',NULL,'通信を行う2者間の経路上に割り込み、両者が交換する情報を収集し、改ざんする。','ネットバンキング利用時に、利用者が入力したパスワードを収集する。','ブラウザでの動画閲覧時に、利用者の意図しない広告を勝手に表示する。','ブラウザの起動時に、利用者がインストールしていないツールバーを勝手に表示する。','イ','キーロガー (Keylogger) とは、キーボードの入力を記録するソフトウェアです。\r\n\r\nアは「中間者攻撃」を悪用した中間者攻撃の例です。\r\nウは「アドウェア」の悪用例です。\r\nエは「ブラウザハイジャッカー」の悪用例です。',NULL),(231,11,'11-9','フィッシングの手口に該当するものはどれか。',NULL,'Webページに入力した内容をそのまま表示する部分がある場合、ページ内に悪意のスクリプトを埋め込み、ユーザーとサーバに被害を与える。','ウイルスに感染したコンピュータを、インターネットなどのネットワークを通じて外部から操る。','コンピュータ利用者のIPアドレスやWebの閲覧履歴などの個人情報を、ひそかに収集して外部へ送信する。','電子メールを発信して受信者を誘導し、実在する会社などを装った偽のWebサイトにアクセスさせ、個人情報をだまし取る。','エ','フィッシング (Phishing) とは、利用者を偽サイトに誘導し、個人情報を入力させて、それらを不正に取得することです。\r\n\r\nア. 「クロスサイトスクリプティング」の説明です。\r\nイ. 「ボット」の説明です。\r\nウ. 「スパイウェア」の説明です。',NULL),(232,11,'11-10','ドライブバイダウンロード攻撃に該当するものはどれか。',NULL,'PC内のマルウェアを遠隔操作して、PCのハードディスクドライブを丸ごと暗号化する。','外部ネットワークからファイアウォールの設定の誤りを突いて侵入し、内部ネットワークにあるサーバのシステムドライブにルートキットを仕掛ける。','公開Webサイトにおいて、スクリプトをWebページ中の入力フィールドに入力し、Webサーバがアクセスするデータベース内のデータを不正にダウンロードする。','利用者が公開Webサイトを閲覧したときに、その利用者の意図にかかわらず、PCにマルウェアをダウンロードさせて感染させる。','エ','ドライブバイダウンロードとは、利用者が悪意のあるWebサイトを閲覧した際に、マルウェアをダウンロードさせる攻撃です。\r\n\r\nア. ランサムウェアに該当します。\r\nイ. バックドアに該当します。\r\nウ. SQLインジェクションに該当します。',NULL),(233,11,'11-11','検索サイトの検索結果の上位に悪意のあるサイトが表示されるように細工する攻撃の名称はどれか。',NULL,'DNSキャッシュポイズニング','SEOポイズニング','クロスサイトスクリプティング','ソーシャルエンジニアリング','イ','検索サイトの検索結果の上位にサイトが表示されるように工夫をすることを「SEO」（エスイーオー）といいます。一方、検索サイトの検索結果の上位にサイトを表示するために、不正な細工をするのは「SEOポイズニング」です。',NULL),(234,11,'11-12','DNSキャッシュポイズニングに分類される攻撃内容はどれか。',NULL,'DNSサーバのソフトウェアのバージョン情報を入手して、DNSサーバのセキュリティホールを特定する。','PCが参照するDNSサーバに偽のドメイン情報を注入して、利用者を偽装されたサーバに誘導する。','攻撃対象のサービスを妨害するために、攻撃者がDNSサーバを踏み台に利用して再帰的な問い合わせを大量に行う。','内部情報を入手するために、DNSサーバが保存するゾーン情報をまとめて転送させる。','イ','DNSキャッシュポイズニングとは、DNSサーバにキャッシュされているドメイン名とIPアドレスの対応を書き換える手法です。\r\n\r\nア. ポートスキャンの攻撃内容です。\r\nウ. DNSリフレクター攻撃の攻撃内容です。\r\nエ. 意図しないゾーン転送要求の攻撃内容です。',NULL),(235,11,'11-13','SQLインジェクション攻撃の説明はどれか。',NULL,'Webアプリケーションに問題があるとき、悪意のある問い合わせや操作を行う命令文をWebサイトに入力して、データベースのデータを不正に取得したり改ざんしたりする攻撃','悪意のあるスクリプトを埋め込んだWebページを訪問者に閲覧させて、別のWebサイトで、その訪問者が意図しない操作を行わせる攻撃','市販されているDBMSの脆弱性を悪用することによって、宿主となるデータベースサーバを探して感染を繰り返し、インターネットのトラフィックを急増させる攻撃','訪問者の入力データをそのまま画面に表示するWebサイトを悪用して、悪意のあるスクリプトを訪問者のWebブラウザで実行させる攻撃','ア','SQLインジェクションとは、Webアプリケーション上で、不正なSQL文を実行することで、データベースを改ざんしたり、不正にデータを取得したりする攻撃です。\r\n\r\nイ. CSRF（クロスサイトリクエストフォージェリ）の説明です。\r\nウ. ワームの説明です。\r\nエ. クロスサイトスクリプティングの説明です。',NULL),(236,11,'11-14','ディレクトリトラバーサル攻撃に該当するものはどれか。',NULL,'攻撃者が、Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、管理者の意図していないSQL文を実行させる。','攻撃者が、パス名を使ってファイルを指定し、管理者の意図していないファイルを不正に閲覧する。','攻撃者が、利用者をWebサイトに誘導した上で、WebアプリケーションによるHTML出力のエスケープ処理の欠陥を悪用し、利用者のWebブラウザで悪意のあるスクリプトを実行させる。','セッションIDによってセッションが管理されるとき、攻撃者がログイン中の利用者のセッションIDを不正に取得し、その利用者なりすましてサーバにアクセスする。','イ','「パス名を使ってファイルを指定」からディレクトリトラバーサル攻撃だと判断できます。\r\n\r\nア. SQLインジェクションに該当します。\r\nウ. クロスサイトスクリプティングに該当します。\r\nエ. セッションハイジャックに該当します。',NULL),(237,11,'11-15','共通鍵暗号方式の特徴はどれか。',NULL,'暗号化通信に使用する場合、鍵を相手と共有する必要があり、事前に平文で送付することが推奨されている。','暗号化通信をする相手が1人の場合、使用する鍵の個数は公開鍵暗号方式よりも多い。','同じ程度の暗号強度をもつ鍵長を選んだ場合、公開鍵暗号方式と比較して、暗号化や復号に必要な時間が短い。','鍵のペアを生成し、一方の鍵で文書を暗号化すると、他方の鍵でだけ復号することができる。','ウ','共通鍵暗号方式の特徴は、暗号化・復号が公開鍵暗号方式よりも高速なことです。\r\nア. 共通鍵が誰かに知られてしまうと文章を読めてしまうので、平文での送付は推奨されません。\r\nイ. 暗号化通信をする相手が1人の場合、鍵の個数は、共通鍵暗号方式では1個（共通鍵）、公開鍵暗号方式では2個（公開鍵と秘密鍵）になります。\r\nエ. 公開鍵暗号方式の特徴です。',NULL),(238,11,'11-16','Xさんは、Yさんにインターネットを使って電子メールを送ろうとしている。電子メールの内容を秘密にする必要があるので、公開鍵暗号方式を使って暗号化して送信したい。電子メールの内容を暗号化するのに使用する鍵はどれか。',NULL,'Xさんの公開鍵','Xさんの秘密鍵','Yさんの公開鍵','Yさんの秘密鍵','ウ','公開鍵暗号方式とは、公開鍵と秘密鍵の 2 つの鍵を使う暗号化方式です。 公開鍵暗号方式では、受信者の公開鍵を使って平文を暗号化します。',NULL),(239,11,'11-17','暗号方式に関する記述のうち、適切なものはどれか。',NULL,'共通鍵暗号方式は、多数の相手との通信の際、同一の暗号化鍵を用いても安全である。','共通鍵暗号方式は、多数の相手との通信の際、同一の暗号化鍵を用いても安全である。','公開鍵暗号方式は、共通鍵暗号方式に比べて復号処理が単純かつ高速である。','通信の開始時に共通鍵を公開鍵暗号方式で暗号化して相手に送り、データの暗号化を共通鍵暗号方式で行う方法が実用化されている。','エ','各選択肢の正誤を見ていきましょう。\r\nア. 誤り。共通鍵暗号方式では、多数の相手との通信の際、通信経路ごとに暗号化鍵を作成します。\r\nイ. 誤り。公開鍵暗号方式では、暗号化鍵は公開して配信できます。\r\nウ. 誤り。公開鍵暗号方式は、共通鍵暗号方式に比べて復号処理が複雑かつ低速です。\r\nエ. 正しい。ハイブリッド暗号方式の記述です。',NULL),(240,11,'11-18','データベースで管理されるデータの暗号化に用いることができ、かつ、暗号化と復号とで同じ鍵を使用する暗号化方式はどれか。',NULL,'AES','PKI','RSA','SHA-256','ア','AES (Advanced Encryption Standard) は、アメリカで規格化された、現在主流の共通鍵暗号方式の暗号化アルゴリズムです。\r\nイ. PKI (Public Key Infrastructure : 公開鍵基盤) とは、公開鍵暗号方式やデジタル署名で使用する「公開鍵」の持ち主を保証するためのインフラ（基盤）です。\r\nウ. RSA (Rivest Shamir Adleman) は、現在主流の公開鍵暗号方式の暗号化アルゴリズムの 1 つです。\r\nエ. SHA-256は、256ビットの長さのダイジェストを出力するハッシュ関数のアルゴリズムです。',NULL),(241,11,'11-19','公開鍵暗号方式の暗号アルゴリズムはどれか。',NULL,'AES','KCipher-2','RSA','SHA-256','ウ','公開鍵暗号方式の暗号化アルゴリズムの代表例はRSAと楕円曲線暗号です。\r\nア. AES (Advanced Encryption Standard) は、アメリカで規格化された、現在主流の共通鍵暗号方式の暗号化アルゴリズムです。\r\nイ. KCipher-2 (ケーサイファーツー) は、九州大学とKDDI研究所により共同開発された共通鍵暗号方式の暗号化アルゴリズムです。\r\nエ. SHA-256は、256ビットの長さのダイジェストを出力するハッシュ関数のアルゴリズムです。',NULL),(242,11,'11-20','非常に大きな数の素因数分解が困難なことを利用した公開鍵暗号方式はどれか。',NULL,'AES','DH','DSA','RSA','エ','RSAは、巨大な数の素因数分解が難しいことを利用した公開鍵暗号方式の暗号化アルゴリズムです。\r\nア. AES (Advanced Encryption Standard) は、アメリカで規格化された、現在主流の共通鍵暗号方式の暗号化アルゴリズムです。\r\nイ. DH (Diffie-Hellman key exchange : DH鍵交換) は、公開鍵暗号方式の原型となったアルゴリズムです。\r\nウ. DSA (Digital Signature Algorithm) は、デジタル署名のアルゴリズムです。',NULL),(243,11,'11-21','ファイルの提供者は、ファイルの作成者が作成したファイルAを受け取り、ファイルAと、ファイルAに $SHA-256$ を適用して算出した値Bを利用者に送信する。そのとき、利用者が情報セキュリティ上実現できることはどれか。ここで、利用者が受信した値Bはファイルの提供者から事前に電話で直接伝えられた値と同じであり、改ざんされていないことが確認できているものとする。',NULL,'値Bに $SHA-256$ を適用して値Bからデジタル署名を算出し、そのデジタル署名を検証することによって、ファイルAの作成者を確認できる。','値Bに $SHA-256$ を適用して値Bからデジタル署名を算出し、そのデジタル署名を検証することによって、ファイルAの提供者がファイルAの作成者であるかどうかを確認できる。','ファイルAに $SHA-256$ を適用して値を算出し、その値と値Bを比較することによって、ファイルAの内容が改ざんされていないかどうかを検証できる。','ファイルAに $SHA-256$ を適用して値を算出し、その値と値Bを比較することによって、ファイルAの内容が改ざんされていないかどうかを検証できる。','ウ','ハッシュ関数 ($SHA-256$) は、デジタル署名などに使われる関数です。デジタル署名は、メッセージをハッシュ関数に入力することで得られるメッセージダイジェストと、送信者の公開鍵で復号したデジタル署名のメッセージダイジェストを検証することで、改ざんを検知します。ア. 値B（メッセージダイジェスト）からデジタル署名を作成するのに必要なのは、提供者の秘密鍵です。イ. 値B（メッセージダイジェスト）からデジタル署名を作成するのに必要なのは、提供者の秘密鍵です。エ. ハッシュ関数は、メッセージが少しでも異なると、出力するメッセージダイジェストはまったく異なるビット列になります。よって、ハッシュ関数では、メッセージが改ざんされた部分を検出することはできません。',NULL),(244,11,'11-22','デジタル署名における署名鍵の使い方と、デジタル署名を行う目的のうち、適切なものはどれか。',NULL,'受信者が署名鍵を使って、暗号文を元のメッセージに戻すことができるようにする。','送信者が固定文字列を付加したメッセージを署名鍵を使って暗号化することによって、受信者がメッセージの改ざん部位を特定できるようにする。','送信者が署名鍵を使って署名を作成し、その署名をメッセージに付加することによって、受信者が送信者を確認できるようにする。','送信者が署名鍵を使ってメッセージを暗号化することによって、メッセージの内容を関係者以外に分からないようにする。','ウ','デジタル署名は、送信者の秘密鍵（署名鍵）でメッセージダイジェストを暗号化して署名を作成します。またデジタル署名を行う目的は、なりすましの検知（送信者の確認）と改ざんの検知です。デジタル署名の問題が出たら、いったん処理の流れを図に書いてみると問題を解きやすいです。\r\n\r\nア. デジタル署名では、メッセージの暗号化は行いません。\r\n\r\nイ. デジタル署名では、メッセージの暗号化は行いません。また、デジタル署名では、受信者がメッセージの改ざん部位を特定することはできません。\r\n\r\nエ. デジタル署名では、メッセージの暗号化は行いません。',NULL),(245,11,'11-23','PKIにおける認証局が、信頼できる第三者機関として果たす役割はどれか。',NULL,'利用者からの要求に対して正確な時刻を返答し、時刻合わせを可能にする。','利用者から要求された電子メールの本文に対して、デジタル署名を付与する。','利用者やサーバの公開鍵を証明するデジタル証明書を発行する。','利用者やサーバの秘密鍵を証明するデジタル証明書を発行する。','ウ','PKIとは、公開鍵の正当性を認証局に保証してもらう仕組みです。ア. $NTP$ の役割です。イ. $S/MIME$ の役割です。エ. 認証局は公開鍵を証明するので、誤りです。',NULL),(246,11,'11-24','メッセージに $RSA$ 方式のデジタル署名を付与して 2 者間で送受信する。そのときのデジタル署名の検証鍵と使用方法はどれか。',NULL,'受信者の公開鍵であり、送信者がメッセージダイジェストからデジタル署名を作成する際に使用する。','受信者の秘密鍵であり、受信者がデジタル署名からメッセージダイジェストを算出する際に使用する。','送信者の公開鍵であり、受信者がデジタル署名からメッセージダイジェストを算出する際に使用する。','送信者の秘密鍵であり、送信者がメッセージダイジェストからデジタル署名を作成する際に使用する。','ウ','$RSA (Rivest Shamir Adleman)$ は、現在主流の公開鍵暗号方式の暗号化アルゴリズムの 1 つです。デジタル署名の検証鍵とは「送信者の公開鍵」のことです。受信者がデジタル署名をメッセージダイジェストに復号するために使います。一方、デジタル署名の署名鍵とは「送信者の秘密鍵」のことです。送信者がメッセージダイジェストをデジタル署名に暗号化するために使います。',NULL),(247,11,'11-25','アプリケーションソフトウェアにデジタル署名を施す目的はどれか。',NULL,'アプリケーションソフトウェアの改ざんを利用者が検知できるようにする。','アプリケーションソフトウェアの使用を特定の利用者に制限する。','アプリケーションソフトウェアの著作権が作成者にあることを証明する。','アプリケーションソフトウェアの利用者による修正や改変を不可能にする。','ア','デジタル署名を使うと、なりすましやデータの改ざんを検知できます。イ. 使用許諾契約の目的です。ウ. 著作権の存在事実証明の目的です。エ. マスク $ROM$ を利用する目的です。',NULL),(248,11,'11-26','リスクアセスメントを構成するプロセスの組合せはどれか。',NULL,'リスク特定、リスク評価、リスク受容','リスク特定、リスク分析、リスク評価','リスク分析、リスク対応、リスク受容','リスク分析、リスク評価、リスク対応','イ','リスクアセスメントは、リスク特定、リスク分析、リスク評価の 3 つです。',NULL),(249,11,'11-27','リスク共有（リスク移転）に該当するものはどれか。',NULL,'損失の発生率を低下させること','保険への加入などで、他者との間でリスクを分散すること','リスクの原因を除去すること','リスクを扱いやすい単位に分解するか集約すること','イ','リスク共有（リスク移転）は、リスクを自社から他社へ移すことです。\r\nアは「リスク低減」に該当します。\r\nウは「リスク回避」に該当します。\r\nエは「リスク分解」「リスク集約」に該当します。',NULL),(250,11,'11-28','BCPの説明はどれか。',NULL,'企業の戦略を実現するために、財務、顧客、内部ビジネスプロセス、学習と成長の視点から戦略を検討したもの','企業の目標を達成するために業務内容や業務の流れを可視化し、一定のサイクルをもって継続的に業務プロセスを改善するもの','業務効率の向上、業務コストの削減を目的に、業務プロセスを対象としてアウトソースを実施するもの','事業中断の原因とリスクを想定し、未然に回避又は被害を受けても速やかに回復できるように方針や行動手順を規定したもの','エ','BCPとは、災害や事故などの不測の事態を想定して、事業をいかに継続するかについてまとめた計画です。\r\nアは「バランススコアカード（BSC）」の説明です。\r\nイは「BPM」の説明です。\r\nウは「BPO」の説明です。',NULL),(251,11,'11-29','情報の“完全性”を脅かす攻撃はどれか。',NULL,'Webページの改ざん','システム内に保管されているデータの不正コピー','システムを過負荷状態にするDoS攻撃','通信内容の盗聴','ア','完全性とは、情報が正確であり、改ざんや破壊が行われていないことです。\r\nイは「機密性」を脅かす攻撃です。\r\nウは「可用性」を脅かす攻撃です。\r\nエは「機密性」を脅かす攻撃です。\r\nなお、情報セキュリティマネジメントの特性は「機密性」「完全性」「可用性」の 3 つの他に、「真正性」「責任追跡性」「否認防止」「信頼性」を含めた 7 つの要素とする場合もあります。',NULL),(252,11,'11-30','ISMS適合性評価制度の説明はどれか。',NULL,'ISO/IEC 15408に基づき、IT関連製品のセキュリティ機能の適切性・確実性を評価する。','JIS Q 15001に基づき、個人情報について適切な保護措置を講じる体制を整備している事業者などを認定する。','JIS Q 27001に基づき、組織が構築した情報セキュリティマネジメントシステムの適合性を評価する。','電子政府推奨暗号リストに基づき、暗号モジュールが適切に保護されていることを認証する。','ウ','ISMS適合性評価制度は、情報セキュリティマネジメントシステム（ISMS）が適切に構築、運用され、ISMS認証基準の要求事項に適合していることを特定の第三者機関が審査して認証する制度です。\r\nアは「ITセキュリティ評価及び認証制度」の説明です。\r\nイは「プライバシーマーク制度」の説明です。\r\nエは「暗号モジュール試験及び認証制度」の説明です。',NULL),(253,11,'11-31','ファイルの属性情報として、ファイルに対する読取り、書込み、実行の権限を独立に設定できるOSがある。この3種類の権限は、それぞれに1ビットを使って許可、不許可を設定する。この3ビットを8進数表現0〜7の数字で設定するとき、次の試行結果から考えて、適切なものはどれか。\r\n\r\n（試行結果）\r\n① 0を設定したら、読取り、書込み、実行ができなくなってしまった。\r\n② 3を設定したら、読取りと書込みはできたが、実行ができなかった。\r\n③ 7を設定したら、読取り、書込み、実行ができるようになった。',NULL,'2を設定すると、読取りと実行ができる。','4を設定すると、実行だけができる。','5を設定すると、書込みだけができる。','6を設定すると、読取りと書込みができる。','イ','試行結果を表にすると以下になります。\r\n上表から、最上位ビット（3桁目）は実行を表していることがわかるので、選択肢イが正解になります。なお上表からは、書込みと読取りの桁がどれなのかは判別できません。',NULL),(254,11,'11-32','IDSの機能はどれか。',NULL,'PCにインストールされているソフトウェア製品が最新のバージョンであるかどうかを確認する。','検査対象の製品にテストデータを送り、製品の応答や挙動から脆（ぜい）弱性を検出する。','サーバやネットワークを監視し、侵入や侵害を検知した場合に管理者に通知する。','情報システムの運用管理状況などの情報セキュリティ対策状況と企業情報を入力し、組織の情報セキュリティへの取組み状況を自己診断する。','ウ','IDS (Intrusion Detection System) は、サーバに対して外部から不正アクセスがあった際に、システム管理者に通知を行うシステムです。\r\nア. 情報処理推進機構が提供しているMyJVNバージョンチェッカの機能です。\r\nイ. ファジング (fuzzing) の機能です。\r\nエ. 情報セキュリティ対策ベンチマークの機能です。',NULL),(255,11,'11-33','WAFの説明はどれか。',NULL,'Webサイトに対するアクセス内容を監視し、攻撃とみなされるパターンを検知したときに当該アクセスを遮断する。','Wi-Fiアライアンスが認定した無線LANの暗号化方式の規格であり、AES暗号に対応している。','様々なシステムの動作ログを一元的に蓄積、管理し、セキュリティ上の脅威となる事象をいち早く検知、分析する。','ファイアウォール機能を有し、マルウェア対策機能、侵入検知機能などの複数のセキュリティ機能を連携させて、統合的に管理する。','ア','WAF (Web Application Firewall : ワフ) とは、社内ネットワークにあるWebサーバに対する攻撃を防ぐファイアウォールです。イは「WPA2」 (Wi-Fi Protected Access 2) の説明です。ウは「SIEM」 (Security Information and Event Management) の説明です。エは「UTM」 (Unified Threat Management) の説明です。',NULL),(256,11,'11-34','1台のファイアウォールによって、外部セグメント、DMZ、内部セグメントの三つのセグメントに分割されたネットワークがあり、このネットワークにおいて、Webサーバと、重要なデータをもつデータベースサーバから成るシステムを使って、利用者向けのWebサービスをインターネットに公開する。インターネットからの不正アクセスから重要なデータを保護するためのサーバの設置方法のうち、最も適切なものはどれか。ここで、Webサーバでは、データベースサーバのフロントエンド処理を行い、ファイアウォールでは、外部セグメントとDMZとの間、及びDMZと内部セグメントとの間の通信は特定のプロトコルだけを許可し、外部セグメントと内部セグメントとの間の直接の通信は許可しないものとする。',NULL,'WebサーバとデータベースサーバをDMZに設置する。','Webサーバとデータベースサーバを内部セグメントに設置する。','WebサーバをDMZに、データベースサーバを内部セグメントに設置する。','Webサーバを外部セグメントに、データベースサーバをDMZに設置する。','ウ','DMZ (DeMilitarized Zone) は、外部ネットワークと社内ネットワークの両方から隔離されたネットワーク領域です。DMZには「社外に公開するサーバ」を配置します。',NULL),(257,11,'11-35','HTTPとHTTPSを比較した場合において、HTTPSだけがもつ特徴を示したものはどれか。',NULL,'cookieに保存されている情報を用いたセッション管理が可能である。','IDとパスワードによって利用者の認証を行うことが可能である。','Webブラウザでキャッシュさせることによって通信量を減らすことが可能である。','通信相手先サーバをサーバ証明書によって確認することが可能である。','エ','HTTPS (HyperText Transfer Protocol over SSL/TLS) とは、SSL/TLSを用いて、HTTPによる通信を暗号化するためのプロトコルです。HTTPSでは、サーバ証明書によって、通信相手先サーバが本物であるかを確認できます。この点が、HTTPにはない特徴です。選択肢エ以外の各選択肢に記載の内容はHTTPにも当てはまる特徴です。',NULL),(258,11,'11-36','WPA3はどれか。',NULL,'HTTP通信の暗号化規格','TCP/IP通信の暗号化規格','Webサーバで使用するデジタル証明書の規格','無線LANのセキュリティ規格','エ','WPA3 (Wi-Fi Protected Access 3) とは、無線LAN上の通信を暗号化する規格です。アはHTTPS、イはIPSec、ウはX.509です。',NULL),(259,11,'11-37','ウイルス対策ソフトのパターンマッチング方式を説明したものはどれか。',NULL,'感染前のファイルと感染後のファイルを比較し、ファイルに変更が加わったかどうかを調べてウイルスを検出する。','既知ウイルスのシグネチャと比較して、ウイルスを検出する。','システム内でのウイルスに起因する異常現象を監視することによって、ウイルスを検出する。','ファイルのチェックサムと照合して、ウイルスを検出する。ファイルのチェックサムと照合して、ウイルスを検出する。','イ','パターンマッチング法とは、すでに見つかっているウイルスの特徴と一致するか検査する方法です。アは「コンペア法」の説明です。ウは「ビヘイビア法」の説明です。エは「チェックサム法」の説明です。',NULL),(260,11,'11-38','機密ファイルが格納されていて、正常に動作するPCの磁気ディスクを産業廃棄物処理業者に引き渡して廃棄する場合の情報漏えい対策のうち、適切なものはどれか。',NULL,'異なる圧縮方式で、機密ファイルを複数回圧縮する。','専用の消去ツールで、磁気ディスクのマスターブートレコードを複数回消去する。','ランダムなビット列で、磁気ディスクの全領域を複数回上書きする。','ランダムな文字列で、機密ファイルのファイル名を複数回変更する。','ウ','ハードディスク（磁気ディスク）を廃棄する場合は、ランダムなデータで複数回上書きします。',NULL),(261,11,'11-39','BYODの説明、及びその情報セキュリティリスクに関する記述のうち、適切なものはどれか。',NULL,'従業員が企業から貸与された情報端末を、客先などへの移動中に業務に利用することであり、ショルダハッキングなどの情報セキュリティリスクが増大する。','従業員が企業から貸与された情報端末を、自宅に持ち帰って私的に利用することであり、機密情報の漏えいなどの情報セキュリティリスクが増大する。','従業員が私的に保有する情報端末を、職場での休憩時間などに私的に利用することであり、セキュリティ意識の低下などに起因する情報セキュリティリスクが増大する。','従業員が私的に保有する情報端末を業務に利用することであり、セキュリティ設定の不備に起因するウイルス感染などの情報セキュリティリスクが増大する。','エ','BYOD (Bring Your Own Device) とは、従業員がプライベート用に買ったパソコンやスマートフォンなどを仕事のために使うことです。',NULL),(262,11,'11-40','会社や団体が、自組織の従業員に貸与するスマートフォンに対して、セキュリティポリシーに従った一元的な設定をしたり、業務アプリケーションを配信したりして、スマートフォンの利用状況などを一元管理する仕組みはどれか。',NULL,'BYOD (Bring Your Own Device)','ECM (Enterprise Contents Management)','LTE (Long Term Evolution)','MDM (Mobile Device Management)','エ','業務に使うスマートフォンをセキュリティポリシーにしたがってまとめて管理するシステムを「MDM」 (Mobile Device Management) といいます。\r\nア. BYODは、従業員がプライベート用に買ったパソコンやスマートフォンなどを仕事のために使うことです。\r\nイ. ECMは、企業で扱うデジタルデータを一元管理することです。\r\nウ. LTEは、携帯電話の通信規格です。',NULL),(263,11,'11-41','バイオメトリクス認証には身体的特徴を抽出して認証する方式と行動的特徴を抽出して認証する方式がある。行動的特徴を用いているものはどれか。',NULL,'血管の分岐点の分岐角度や分岐点間の長さから特徴を抽出して認証する。','署名するときの速度や筆圧から特徴を抽出して認証する。','どう孔から外側に向かって発生するカオス状のしわの特徴を抽出して認証する。','隆線によって形作られる紋様からマニューシャと呼ばれる特徴点を抽出して認証する。','イ','バイオメトリクス認証における行動的特徴の例としては、筆跡や歩き方などがあります。その他の選択肢はすべて身体的特徴を用いた認証です。',NULL),(264,11,'11-42','生体認証システムを導入するときに考慮すべき点として、最も適切なものはどれか。',NULL,'本人のデジタル証明書を、信頼できる第三者機関に発行してもらう。','本人を誤って拒否する確率と他人を誤って許可する確率の双方を勘案して装置を調整する。','マルウェア定義ファイルの更新が頻繁な製品を利用することによって、本人を誤って拒否する確率の低下を防ぐ。','容易に推測できないような知識量と本人が覚えられる知識量とのバランスが、認証に必要な知識量の設定として重要となる。','イ','生体認証（バイオメトリクス認証）は、便利さと安全さのバランスを考えて設定を行う必要があります。\r\nア. デジタル証明書を導入するときに考慮すべき点です。\r\nウ. マルウェア対策ソフトを導入するときに考慮すべき点です。\r\nエ. 記憶による認証（パスワードなど）を導入するときに考慮すべき点です。',NULL),(265,11,'11-43','2要素認証に該当するものはどれか。',NULL,'2本の指の指紋で認証する。','虹彩とパスワードで認証する。','異なる2種類の特殊文字を混ぜたパスワードで認証する。','異なる二つのパスワードで認証する。','イ','2要素認証とは「記憶」「所有物」「生体情報」の3つの要素のうちの2つを使って本人確認をする認証方式です。選択肢の中では、虹彩（生体情報）とパスワード（記憶）を用いたものが該当します。',NULL),(286,12,'12-1','システム開発の最初の工程で行う作業として、適切なものはどれか。',NULL,'各プログラムの内部構造を設計する。','現状の業務を分析し、システム要件を整理する。','サブシステムをプログラム単位まで分割し、各プログラムの詳細を設計する。','ユーザーインタフェースを設計する。','イ','ステム開発の最初の工程は「システム要件定義」です。\r\n\r\nア. ソフトウェア詳細設計で行う作業です。\r\n\r\nウ. ソフトウェア方式設計で行う作業です。\r\n\r\nエ. ソフトウェア要件定義で行う作業です。',NULL),(287,12,'12-2','図は、構造化分析法で用いられるDFDの例である。図中の“○”が表しているものはどれか。',NULL,'アクティビティ','データストア','データフロー','プロセス','エ','「○」が表すのはプロセスです。\r\n\r\nア. アクティビティは、アクティビティ図において、角丸四角形で表されます。\r\n\r\nイ. データストアは、DFDにおいて、2本の線で表されます。\r\n\r\nウ. データフローは、DFDにおいて、矢印で表されます。',NULL),(288,12,'12-3','開発プロセスにおける、ソフトウェア方式設計で行うべき作業はどれか。',NULL,'顧客に意見を求めて仕様を決定する。','既に決定しているソフトウェア要件を、どのように実現させるかを決める。','プログラム1行ごとの処理まで明確になるように詳細化する。','要求内容を図表などの形式でまとめ、段階的に詳細化して分析する。','イ','ソフトウェア方式設計とは、ソフトウェア要件定義で決めたソフトウェア要件（機能や性能）をプログラムの単位まで分割する工程です。 ソフトウェア要件をどのようにプログラムで実現するかを決めます。\r\n\r\nア. 要件定義プロセスで行うべき作業です。\r\n\r\nウ. ソフトウェア詳細設計で行うべき作業です。\r\n\r\nエ. ソフトウェア要件定義で行うべき作業です。',NULL),(289,12,'12-4','ソフトウェアの分析・設計技法の特徴のうち、データ中心分析・設計技法の特徴として、最も適切なものはどれか。',NULL,'機能の詳細化の過程で、モジュール独立性が高くなるようにプログラムを分割していく。','システムの開発後の仕様変更は、データ構造や手続を局所的に変更したり追加したりすることによって、比較的容易に実現できる。','対象業務領域のモデル化に当たって、情報資源のデータ構造に着目する。','プログラムが最も効率よくアクセスできるようにデータ構造を設計する。','ウ','データ中心アプローチとは、ソフトウェアを「データ構造」に着目してモデル化し、分析する手法です。\r\n\r\nア. モジュール分割の特徴です。\r\n\r\nイ. オブジェクト指向の特徴です。\r\n\r\nエ. データベース設計の特徴です。',NULL),(290,12,'12-5','モジュール結合度が最も弱くなるものはどれか。',NULL,'一つのモジュールで、できるだけ多くの機能を実現する。','二つのモジュール間で必要なデータ項目だけを引数として渡す。','他のモジュールとデータ項目を共有するためにグローバルな領域を使用する。','他のモジュールを呼び出すときに、呼び出したモジュールの論理を制御するための引数を渡す。','イ','モジュール結合度が最も弱いのは「データ結合」です。 データ結合は、モジュール間で「データ」を引数として受け渡します。\r\n\r\nア. モジュール結合度ではなく、モジュール強度の説明です。\r\n\r\nウ. 外部結合の説明です。\r\n\r\nエ. 制御結合の説明です。',NULL),(291,12,'12-6','システムの外部設計を完了させるとき、顧客から承認を受けるものはどれか。',NULL,'画面レイアウト','システム開発計画','物理データベース仕様','プログラムの流れ図','ア','外部設計はユーザーから見える箇所の設計です。 選択肢の中で唯一ユーザーから見える箇所は「画面レイアウト」のみです。\r\n\r\nイ. 企画プロセス (p.589) で完了させる作業です。\r\n\r\nウ. ソフトウェア詳細設計で完了させる作業です。\r\n\r\nエ. ソフトウェア詳細設計で完了させる作業です。',NULL),(292,12,'12-7','オブジェクト指向におけるクラスとインスタンスとの関係のうち、適切なものはどれか。',NULL,'インスタンスはクラスの仕様を定義したものである。','クラスの定義に基づいてインスタンスが生成される。','一つのインスタンスに対して、複数のクラスが対応する。','一つのクラスに対して、インスタンスはただ一つ存在する。','イ','クラスは**テンプレート（ひな型）**です。 インスタンスはクラスから作られます。\r\n\r\nア. クラスがインスタンスの仕様を定義したものです。\r\n\r\nウ. 一つのインスタンスに対して、一つのクラスが対応します。\r\n\r\nエ. 一つのクラスに対して、インスタンスは複数存在します。',NULL),(293,12,'12-8','オブジェクト指向において、あるクラスの属性や機能がサブクラスで利用できることを何というか。',NULL,'オーバーライド','カプセル化','継承','多相性','ウ','親クラスのデータやメソッドを子クラスが引き継ぐことを「継承」といいます。\r\n\r\nア. オーバーライドとは、親クラスから継承したメソッドを子クラスで再定義して上書きすることです。\r\n\r\nイ. カプセル化とは、データとメソッドを1つにまとめて、外部から直接データにアクセスできないようにすることです。\r\n\r\nエ. 多相性とは、同じ操作を行っても、オブジェクトごとに異なる動作を可能にすることです。',NULL),(294,12,'12-9','オブジェクト指向におけるカプセル化を説明したものはどれか。',NULL,'同じ性質をもつ複数のオブジェクトを抽象化して、整理すること','基底クラスの性質を派生クラスに受け継がせること','クラス間に共通する性質を抽出し、基底クラスを作ること','データとそれを操作する手続を一つのオブジェクトにして、データと手続の詳細をオブジェクトの外部から隠蔽すること','エ','カプセル化とは、データとメソッド（手続）を1つにまとめて、外部から直接データにアクセスできないようにすることです。\r\n\r\nア. 抽象化の説明です。\r\n\r\nイ. 継承の説明です。\r\n\r\nウ. 汎化の説明です。',NULL),(295,12,'12-10','オブジェクト指向プログラミングの特徴のうち、異なるクラスのオブジェクトを同一のインタフェースで操作したときに、操作対象クラスに応じた異なる動作を可能にすることを何と呼ぶか。',NULL,'委譲','継承','コンポジション','多相性','エ','多相性（たそうせい）とは、異なるクラスのオブジェクトに対して、同じ操作を行っても、それぞれのオブジェクトで異なる動作を可能にすることです。\r\n\r\nア. 委譲とは、あるオブジェクトが別のオブジェクトに操作を任せることです。\r\n\r\nイ. 継承とは、親クラスのデータやメソッドを子クラスが引き継ぐことです。\r\n\r\nウ. コンポジションとは、複数のオブジェクトを部品として組み合わせて、新たなオブジェクトを作ることです。',NULL),(296,12,'12-11','UMLにおける図の $\\square$ の中に記述するものはどれか。',NULL,'関連名','クラス名','集約名','ユースケース名','イ','UMLでは白抜き三角形の矢印は汎化を表します。 汎化の関係を表す図はクラス図です。 クラス図では四角形の中にクラス名を記入します。\r\n\r\nア. 関連名は実線の上に記入します。\r\n\r\nウ. 集約名は白抜きひし形の矢印の上に記入します。\r\n\r\nエ. ユースケース名はユースケース図の楕円形の中に記入します。','/home/air/goalskill_t/back/img_explanation/section12/f0918f77-219c-4f3e-8f3d-383dbd0ece51.png'),(297,12,'12-12','UML2.0において、オブジェクト間の相互作用を時系列に表す図はどれか。',NULL,'アクティビティ図','コンポーネント図','シーケンス図','状態遷移図','ウ','オブジェクト間の相互作用を時系列に表すのは「シーケンス図」です。\r\n\r\nア. アクティビティ図は、ある振る舞いから次の振る舞いへの制御の流れを表す図です。\r\n\r\nイ. コンポーネント図は、システムの構成要素（コンポーネント）の関係を表す図です。\r\n\r\nエ. 状態遷移図は、UMLではステートマシン図と呼ばれ、オブジェクトが取りうる状態と、状態の遷移を表す図です。',NULL),(298,12,'12-13','UMLにおける振る舞い図の説明のうち、アクティビティ図のものはどれか。',NULL,'ある振る舞いから次の振る舞いへの制御の流れを表現する。','オブジェクト間の相互作用を時系列で表現する。','システムが外部に提供する機能と、それを利用する者や外部システムとの関係を表現する。','一つのオブジェクトの状態がイベントの発生や時間の経過とともにどのように変化するかを表現する。','ア','アクティビティ図は、ある振る舞いから次の振る舞いへの制御の流れを表します。\r\n\r\nイ. シーケンス図の説明です。\r\n\r\nウ. ユースケース図の説明です。\r\n\r\nエ. ステートマシン図の説明です。',NULL),(299,12,'12-14','UMLのダイアグラムのうち、インスタンス間の関係を表現するものはどれか。',NULL,'アクティビティ図','オブジェクト図','コンポーネント図','ユースケース図','イ','インスタンス間の関係を表すのは「オブジェクト図」です。\r\n\r\nア. アクティビティ図は、ある振る舞いから次の振る舞いへの制御の流れを表す図です。\r\n\r\nウ. コンポーネント図は、システムの構成要素（コンポーネント）の関係を表す図です。\r\n\r\nエ. ユースケース図は、システムが外部に提供する機能と、それを利用するユーザーとの関係を表す図です。',NULL),(300,12,'12-15','UMLのクラス図のうち、汎化の関係を示したものはどれか。',NULL,'/home/air/goalskill_t/back/img_q/section12/a37e8c97-3f70-4628-99e3-b1f2d0ad2fc6.png','/home/air/goalskill_t/back/img_q/section12/6c2bc359-235f-4eb9-b4e8-1f62764e902a.png','/home/air/goalskill_t/back/img_q/section12/133c429f-6bd1-4651-bebb-c98caea547df.png','/home/air/goalskill_t/back/img_q/section12/903672e5-4608-4d74-aaf0-9a1a11e646ea.png','イ','汎化は白抜き三角形の矢印で表します。\r\n\r\nア. 関連を表します。\r\n\r\nウ. コンポジションを表します。\r\n\r\nエ. 依存を表します。',NULL),(301,12,'12-16','ブラックボックステストに関する記述として、最も適切なものはどれか。',NULL,'テストデータの作成基準として、プログラムの命令や分岐に対する網羅率を使用する。','被テストプログラムに冗長なコードがあっても検出できない。','プログラムの内部構造に着目し、必要な部分が実行されたかどうかを検証する。','分岐命令やモジュールの数が増えると、テストデータが急増する。','イ','ブラックボックステストは内部構造に着目しないテストです。 そのため、プログラムがどのようなコードで書かれていても関係ありません。 その他の選択肢はすべて、ホワイトボックステストに関する記述です。',NULL),(302,12,'12-17','流れ図において、判定条件網羅（分岐網羅）を満たす最少のテストケース数は幾つか。',NULL,'1','2','3','4','イ','判定条件網羅（分岐網羅）とは、プログラム中のすべての「判定条件」で真と偽の両方を少なくとも1回は実行する方法です。 下図の2つのテストケースを行えば、判定条件網羅（分岐網羅）を満たします。','/home/air/goalskill_t/back/img_explanation/section12/3a0cd2b6-bc68-4cfc-a2b2-3ca9597ab7b1.png'),(303,12,'12-18','図の構造をもつプログラムに対して、ホワイトボックステストのテストケースを設計するとき、少なくとも実施しなければならないテストケース数が最大になるテスト技法はどれか。',NULL,'条件網羅','判定条件網羅','複数条件網羅','命令網羅','ウ','それぞれの選択肢で、少なくとも実施しなければならないテストケース例は、以下のとおりです。複数条件網羅のテストケース数（4つ）が最大であることがわかります。','/home/air/goalskill_t/back/img_explanation/section12/755428b1-0aa4-48d8-bdf6-26b0843c50d6.png'),(304,12,'12-19','流れ図で表示される部分を命令網羅によってテストするとき、テストケースは少なくとも幾つ用意する必要があるか。',NULL,'2','3','4','5','ア','命令網羅とは、「命令」を少なくとも1回は実行する方法です。 テストケースの例は以下のとおりです。以下の2つのテストケースを行えば、命令網羅を満たします。','/home/air/goalskill_t/back/img_explanation/section12/4faebab0-a550-483b-8927-3075a2c9ccc8.png'),(305,12,'12-20','ボトムアップテストの特徴として、適切なものはどれか。',NULL,'開発の初期の段階では、並行作業が困難である。','スタブが必要である。','テスト済みの上位モジュールが必要である。','ドライバが必要である。','エ','ボトムアップテストではドライバが必要です。 他の選択肢はすべて、トップダウンテストの特徴です。',NULL),(306,12,'12-21','トップダウン方式で結合テストを行うとき、特に必要となるものはどれか。',NULL,'エミュレーター','スタブ','デバッガ','ドライバ','イ','トップダウンテスト（トップダウン方式の結合テスト）では、スタブが必要です。\r\n\r\nア. エミュレーターとは、特定の環境で動作するソフトウェアを、別の環境でも疑似的に動作させるシステムです。\r\n\r\nウ. デバッガとは、プログラムの不具合（バグ）を発見・修正する作業を支援するソフトウェアです。\r\n\r\nエ. ドライバとは、ダミーの上位モジュールです。ボトムアップテストで使用します。',NULL),(307,12,'12-22','階層構造のモジュール群から成るソフトウェアの結合テストを、上位のモジュールから行う。この場合に使用する、下位のモジュールの代替となるテスト用のモジュールはどれか。',NULL,'エミュレーター','シミュレーター','スタブ','ドライバ','ウ','ダミーの下位モジュールのことを「スタブ」といいます。\r\n\r\nア. エミュレーターとは、特定の環境で動作するソフトウェアを、別の環境でも疑似的に動作させるシステムです。\r\n\r\nイ. シミュレーターとは、実際と同じ状況を疑似的に作り出すシステムです。\r\n\r\nエ. ドライバとは、ダミーの上位モジュールです。',NULL),(308,12,'12-23','モジュール間やサブシステム間のインタフェースを検証するために行うテストはどれか。',NULL,'運用テスト','結合テスト','システムテスト','単体テスト','イ','インタフェースのテストは結合テストで行います。\r\n\r\nア. 運用テストとは、本番環境と同じ条件下でシステムを運用し、業務要件どおりにシステムが動作するかを検証するテストです。\r\n\r\nウ. システムテストとは、システム要件どおりにシステムが動作するかを検証するテストです。\r\n\r\nエ. 単体テストとは、モジュールに誤りがないかを検証するテストです。',NULL),(309,12,'12-24','運用テストにおける検査内容として、適切なものはどれか。',NULL,'個々のソフトウェアユニットについて、仕様を満足していることを確認する。','ソフトウェア品目の中で使用しているアルゴリズムの妥当性を確認する。','ソフトウェアユニット間のインタフェースが整合していることを確認する。','利用者に提供するという視点で、システムが要求を満足していることを確認する。','エ','運用テストとは、本番環境と同じ条件下でシステムを運用し、業務要件どおりにシステムが動作することを検証するテストです。 アとイは単体テストの検査内容です。ウは結合テストの検査内容です。',NULL),(310,12,'12-25','ソフトウェアのテストの種類のうち、ソフトウェア保守のために行った変更によって、影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。',NULL,'運用テスト','結合テスト','システムテスト','リグレッションテスト','エ','リグレッションテストとは、システムに修正や機能追加をしたために、別のところで新しいバグが出ていないか確認するテストです。\r\n\r\nア. 運用テストとは、本番環境と同じ条件下でシステムを運用し、業務要件どおりにシステムが動作するかを検証するテストです。\r\n\r\nイ. 結合テストとは、モジュール間のインタフェースを検証するテストです。',NULL),(317,13,'13-1','ソフトウェアのリバースエンジニアリングの説明はどれか。',NULL,'開発支援ツールなどを用いて、設計情報からソースコードを自動生成する。','外部から見たときの振る舞いを変えずに、ソフトウェアの内部構造を変える。','既存のソフトウェアを解析し、その仕様や構造を明らかにする。','既存のソフトウェアを分析し理解した上で、ソフトウェア全体を新しく構築し直す。','ウ','リバースエンジニアリングとは、すでにあったソフトウェアを解析して、その仕様や設計を取り出す技術です。リバースエンジニアリングの問題では「フォワードエンジニアリング」や「リエンジニアリング」といった、紛らわしい用語が不正解選択肢に登場します。これらの用語とリバースエンジニアリングを区別できるようにしておきましょう。\r\n\r\nア. 「フォワードエンジニアリング」の説明です。\r\nイ. 「リファクタリング」の説明です。\r\nエ. 「リエンジニアリング」の説明です。',NULL),(318,13,'13-2','ソフトウェア開発の活動のうち、アジャイル開発においても重視されているリファクタリングはどれか。',NULL,'ソフトウェアの品質を高めるために、2人のプログラマが協力して、一つのプログラムをコーディングする。','ソフトウェアの保守性を高めるために、外部仕様を変更することなく、プログラムの内部構造を変更する。','動作するソフトウェアを迅速に開発するために、テストケースを先に設定してから、プログラムをコーディングする。','利用者からのフィードバックを得るために、提供予定のソフトウェアの試作品を早期に作成する。','イ','リファクタリングとは、プログラムの外部仕様は変えずに、内部構造を変えることです。\r\n\r\nアは「ペアプログラミング」の説明です。ウは「テスト駆動開発」の説明です。エは「プロトタイピングモデル」の説明です。',NULL),(319,13,'13-3','アジャイル開発手法のスクラムにおいて、開発チームの全員が1人ずつ“昨日やったこと”、“今日やること”、“障害になっていること”などを話し、全員でプロジェクトの状況を共有するイベントはどれか。',NULL,'スプリントプランニング','スプリントレビュー','デイリースクラム','レトロスペクティブ','ウ','全員でプロジェクトの状況を共有するイベントは「デイリースクラム」です。スプリントの期間中に毎日15分程度行い、「昨日やったこと」「今日やること」「今の課題」などを共有します。\r\n\r\nア. スプリントプランニングは、スプリントの開始時に行われるミーティングです。今回のスプリントで何を実現するかを決めます。\r\n\r\nイ. スプリントレビューとは、スプリントの終了時に行われるミーティングです。今回のスプリントで完成した成果物を評価します。\r\n\r\nエ. レトロスペクティブとは、スプリントレビューの後に行われるミーティングです。今回のスプリントを振り返ります。',NULL),(320,13,'13-4','ローコード開発ツールを用いたソフトウェア開発の説明はどれか。',NULL,'アプリケーションソフトウェアの開発基盤の上で、用意された部品やテンプレートをGUIを用いた操作で組み合わせたり、必要に応じて一部の処理のソースコードを記述したりすることによって、アプリケーションソフトウェアを作成する。','アプリケーションソフトウェアの開発基盤の上で、用意された部品やテンプレートをGUIを用いた操作で組み合わせるだけで、ソースコードを記述せずに、アプリケーションソフトウェアを作成する。','アプリケーションソフトウェアの定型的な枠組みを参照して、独自の処理のソースコードを記述することによって、アプリケーションソフトウェアを作成する。','利用者がシステムを利用して行う作業を自動化ツールに代行させるために、利用者によるシステムの操作手順をツールに登録する。','ア','ローコード開発ツールは、GUIを使った直感的な操作が中心であり、ソースコードを少し書くだけでソフトウェアを作ることができるツールです。あらかじめ用意された部品をドラッグ＆ドロップで組み合わせて、必要なところだけソースコードを書けばよいので、高度なプログラミングスキルを必要とせず、比較的簡単にソフトウェアを作ることができます。\r\n\r\nイ. ノーコード開発ツールについての説明です。\r\nウ. フレームワークについての説明です。\r\nエ. RPAについての説明です。',NULL),(321,13,'13-5','XP (eXtreme Programming) において、プラクティスとして提唱されているものはどれか。',NULL,'インスペクション','構造化設計','ペアプログラミング','ユースケースの活用','ウ','XPに関して、覚えておくべきプラクティスは「ペアプログラミング」と「リファクタリング」の2つです。ペアプログラミングとは、2人のプログラマが、1つのパソコンを使ってソフトウェアを開発するXPの手法の1つです。\r\n\r\nア. インスペクションは、仕様書やプログラムなどの成果物を、実際に動作させることなく人間の目で見て検証することです。\r\nイ. 構造化設計は、制御構造（順次、選択、繰り返し）を使って、プログラムをモジュールに分割するための設計です。\r\nエ. ユースケースは、ユーザーからの要求に対するシステムの振る舞いを記述したものです。',NULL),(322,13,'13-6','ソフトウェア開発において、構成管理に起因しない問題はどれか。',NULL,'開発者が定められた改版手続に従わずにプログラムを修正したので、今まで正しく動作していたプログラムが、不正な動作をするようになった。','システムテストにおいて、単体テストレベルのバグが多発して、開発が予定どおりに進捗しない。','仕様書、設計書及びプログラムの版数が対応付けられていないので、プログラム修正時にソースプログラムを解析しないと、修正すべきプログラムが特定できない。','一つのプログラムから多数の派生プログラムが作られているが、派生元のプログラムの修正が全ての派生プログラムに反映されない。','イ','ソフトウェア構成管理では、主に文書とプログラムのバージョンを管理します。選択肢のア、ウ、エは「ソフトウェア構成管理」に起因する問題です。イは「ソフトウェア構築」に起因する問題です。',NULL),(323,13,'13-7','ソフトウェア開発プロジェクトで行う構成管理の対象項目として、適切なものはどれか。',NULL,'開発作業の進捗状況','成果物に対するレビューの実施結果','プログラムのバージョン','プロジェクト組織の編成','ウ','ソフトウェア構成管理では文書やプログラムのバージョンを管理します。',NULL),(324,14,'14-1','プロジェクトの特性はどれか。',NULL,'独自性はあ​​るが、有期性がない。','独自性はないが、有期性がある。','独自性も有期性もある。','独自性も有期性もない。','ウ','プロジェクトとは、期限内に独自の商品やサービスを作るための業務です。プロジェクトには次の 2 つの特徴があります。\r\n・期限が決められている（有期性）\r\n・成果物が唯一無二の商品やサービスである（独自性）\r\nよって、ウが正解です。',NULL),(325,14,'14-2','プロジェクトに関わるステークホルダの説明のうち、適切なものはどれか。',NULL,'組織の内部に属しており、組織の外部にいることはない。','プロジェクトに直接参加し、間接的な関与にとどまることはない。','プロジェクトの成果が、自らの利益になる者と不利益になる者がいる。','プロジェクトマネージャのように、個人として特定できることが必要である。','ウ','ステークホルダとは、プロジェクトと利害関係にある人です。よって、ウが正解です。\r\nア. 取引先、消費者など、組織外部の人も、プロジェクトと利害関係にあればステークホルダに含まれます。\r\nイ. 地域社会など、間接的な関与でも、プロジェクトと利害関係にあればステークホルダに含まれます。\r\nエ. 行政機関、地域社会など、個人として特定できなくても、プロジェクトと利害関係にあればステークホルダに含まれます。',NULL),(326,14,'14-3','ソフトウェア開発プロジェクトにおいてWBS (Work Breakdown Structure) を使用する目的として、適切なものはどれか。',NULL,'開発の期間と費用がトレードオフの関係にある場合に、総費用の最適化を図る。','作業の順序関係を明確にして、重点管理すべきクリティカルパスを把握する。','作業の日程を横棒（バー）で表して、作業の開始時点や終了時点、現時点の進捗を明確にする。','作業を階層的に詳細化して、管理可能な大きさに細分化する。','エ','WBSのキーワードは「作業を階層的に要素分解」です。設問にある「作業を階層的に詳細化」からWBSだと判断できます。\r\nア. クリティカルパス法を使用する目的です。\r\nイ. アローダイアグラムを使用する目的です。\r\nウ. ガントチャートを使用する目的です。',NULL),(327,14,'14-4','システムを構成するプログラムの本数とプログラム1本当たりのコーディング所要工数が表のとおりであるとき、システムを95日間で開発するには少なくとも何人の要員が必要か。ここで、システムの開発にはコーディングのほかに、設計とテストの作業が必要であり、それらの作業にはコーディング所要工数の8倍の工数が掛かるものとする。',NULL,'18','20','21','22','イ','まず、各処理のコーディング所要工数を計算します。これには「プログラムの本数」に「プログラム 1 本当たりのコーディング所要工数」をかけ算します。入力処理：$20 \\times 1 = 20$出力処理：$10 \\times 3 = 30$計算処理：$5 \\times 9 = 45$合計：35本 / 13人日 / 95人日上記の表からコーディング全体の所要工数が「95人日」であることがわかります。また、設問から「設計とテスト」の所要工数は「コーディング」の所要工数の8倍であることがわかっています。そこで必要な要員の数を X とすると、$X \\times 95\\text{日間} = 95\\text{人日} + 95\\text{人日} \\times 8$$X = 9$よって、「9人」が正解です。','/home/air/goalskill_t/back/img_explanation/section14/2988d998-4a78-496b-8307-d0e0c27d82d8.png'),(328,14,'14-5','開発期間10か月、開発工数200人月のプロジェクトを計画する。次の配分表を前提とすると、ピーク時の要員は何人か。ここで、各工程では開始から終了までの要員数は一定とする。',NULL,'18','20','21','22','エ','以下の手順で計算します。①まず、各工程に必要な工数を計算します。これは「開発工数200人月」に「工数配分(%)」をかけ算することで算出します。例えば、要件定義であれば「$200 \\times 16\\% = 32$」となります。②次に各工程に必要な期間を算出します。これは「開発期間10か月」に「期間配分(%)」をかけ算することで計算します。例えば、要件定義であれば「$10 \\times 20\\% = 2$」となります。③最後に各工程に必要な 1 か月あたりの要員数を算出します。これは「①工数」を「②期間」でわり算することで計算します。例えば、要件定義であれば「$32 \\div 2 = 16$」となります。すべての工程で 1 か月あたりに必要な要員数を計算すると「設計」の「22人」がピーク（最大）となります。よって、エが正解です。','/home/air/goalskill_t/back/img_explanation/section14/4677c4b5-12d6-44df-9c3a-3062c439d0f7.png'),(329,14,'14-6','システム開発の進捗管理などに用いられるトレンドチャートの説明はどれか。',NULL,'作業に関与する人と責任をマトリックス状に示したもの','作業日程の計画と実績を対比できるように帯状に示したもの','作業の進捗状況と、予算の消費状況を関連付けて折れ線で示したもの','作業の順序や相互関係をネットワーク状に示したもの','ウ','トレンドチャートとは「作業の進捗状況」と「予算の消費状況」を関連付けた折れ線グラフです。\r\nア. 責任分担表の説明です。\r\nイ. ガントチャートの説明です。\r\nエ. プレシデンスダイアグラムの説明です。',NULL),(330,14,'14-7','二つのアクティビティが次の関係にあるとき、論理的な依存関係はどれか。\r\n“システム要件定義プロセス”が完了すれば、“システム方式設計プロセス”が開始できる。',NULL,'FF関係 (Finish-to-Finish)','FS関係 (Finish-to-Start)','SF関係 (Start-to-Finish)','SS関係 (Start-to-Start)','イ','プレシデンスダイアグラムとは、作業の流れを矢印で表した図です。プレシデンスダイアグラムは依存関係を 4 種類の記号で表します。設問では「システム要件定義プロセスが完了 (Finish) すれば、システム方式設計プロセスが開始 (Start) できる」と書かれているので、FS関係だとわかります。',NULL),(331,14,'14-8','アローダイアグラムで表されるプロジェクトは、完了までに最少で何日を要するか。',NULL,'105','115','120','125','ウ','ダミー作業とは「所要日数が 0 日の作業」です。設問のアローダイアグラムから、各経路の作業日数を求めると、以下になります。\r\n① $A \\rightarrow B \\rightarrow E \\rightarrow H : 30 + 5 + 40 + 30 = 105$\r\n② $A \\rightarrow B \\rightarrow \\text{ダミー作業} \\rightarrow F \\rightarrow H : 30 + 5 + 0 + 25 + 30 = 90$\r\n③ $A \\rightarrow B \\rightarrow \\text{ダミー作業} \\rightarrow \\text{ダミー作業} \\rightarrow G \\rightarrow H : 30 + 5 + 0 + 0 + 30 + 30 = 95$\r\n④ $A \\rightarrow C \\rightarrow F \\rightarrow H : 30 + 30 + 25 + 30 = 115$\r\n⑤ $A \\rightarrow C \\rightarrow \\text{ダミー作業} \\rightarrow G \\rightarrow H : 30 + 30 + 0 + 30 + 30 = 120$\r\n⑥ $A \\rightarrow D \\rightarrow G \\rightarrow H : 30 + 20 + 30 + 30 = 110$\r\n上記より、クリティカルパス（最も時間のかかる経路）は⑤です。設問で問われている「完了までに最少で何日を要するか」とは「すべての作業が遅延なく完了した場合の日数」です。アローダイアグラム上のすべての作業が終わるとプロジェクトが完了するため、完了までの最少日数は「120日」です。',NULL),(332,14,'14-9','あるプロジェクトの日程計画をアローダイアグラムで示す。クリティカルパスはどれか。',NULL,'A, C, E, F','A, D, G','B, E, F','B, E, G','ウ','以下のように、すべての経路の作業日数を計算すればプロジェクトのクリティカルパスを求めることができます。\r\n① $A \\rightarrow D \\rightarrow G : 1 + 3 + 4 = 8$\r\n② $A \\rightarrow C \\rightarrow E \\rightarrow \\text{ダミー作業} \\rightarrow G : 1 + 3 + 4 + 0 + 4 = 12$\r\n③ $A \\rightarrow C \\rightarrow E \\rightarrow F : 1 + 3 + 4 + 5 = 13$\r\n④ $B \\rightarrow E \\rightarrow \\text{ダミー作業} \\rightarrow G : 5 + 4 + 0 + 4 = 13$\r\n⑤ $B \\rightarrow E \\rightarrow F : 5 + 4 + 5 = 14$\r\n最も所要日数が大きい経路は「B \\rightarrow E \\rightarrow F」です。',NULL),(333,14,'14-10','プロジェクトのスケジュールを短縮するために、アクティビティに割り当てる資源を増やして、アクティビティの所要期間を短縮する技法はどれか。',NULL,'クラッシング','クリティカルチェーン法','ファストトラッキング','モンテカルロ法','ア','スケジュールを短縮する方法は選択肢のうち、アのクラッシングと、ウのファストトラッキングです。クラッシングは、新しい要員を増やしたり、既存の要員の時間外労働時間を増やしたりして、アクティビティの所要時間を短くすることで、全体のスケジュールを短縮します。\r\n一方、ファストトラッキングは、アクティビティを並列に実行することで、スケジュールを短縮する技法です。\r\nイ. クリティカルチェーン法とは、プロジェクトの工程のうち、最も所要時間がかかる経路を管理する方法です。\r\nエ. モンテカルロ法とは、乱数を使って、問題の正解に近い解を計算する方法です。',NULL),(334,14,'14-11','ファストトラッキング技法を用いてスケジュールの短縮を行う。当初の計画は図1のとおりである。作業Eを作業E1、E2、E3に分けて、図2のように計画を変更すると、スケジュールは全体で何日短縮できるか。',NULL,'1','2','3','4','ア','ファストトラッキングとは、アクティビティを並列に実行することで、スケジュールを短縮する技法です。\r\nまず図 1 にあるすべての経路の作業日数を計算して、クリティカルパスを見つけます。\r\n① $A \\rightarrow B \\rightarrow D \\rightarrow G : 5 + 8 + 7 + 7 = 27$\r\n② $A \\rightarrow B \\rightarrow E \\rightarrow H \\rightarrow I : 5 + 8 + 9 + 4 + 2 = 28$\r\n③ $A \\rightarrow C \\rightarrow F \\rightarrow H \\rightarrow I : 5 + 7 + 5 + 4 + 2 = 23$\r\nしたがって、図 1 のクリティカルパスは②となり、その作業日数は 28 日です。\r\n続いて、ファストトラッキングを使った図 2 にあるすべての経路の作業日数を計算して、クリティカルパスを見つけます。\r\n① $A \\rightarrow B \\rightarrow D \\rightarrow G : 5 + 8 + 7 + 7 = 27$\r\n② $A \\rightarrow B \\rightarrow E2 \\rightarrow \\text{ダミー作業} \\rightarrow E3 \\rightarrow H \\rightarrow I : 5 + 8 + 4 + 2 + 4 + 2 = 25$ (注: 画像の数字と式を照合)\r\n③ $A \\rightarrow B \\rightarrow E1 \\rightarrow E3 \\rightarrow H \\rightarrow I : 5 + 8 + 3 + 2 + 4 + 2 = 24$\r\n④ $A \\rightarrow C \\rightarrow F \\rightarrow H \\rightarrow I : 5 + 7 + 5 + 4 + 2 = 23$\r\nしたがって、図 2 のクリティカルパスは①となり、その作業日数は 27 日です。\r\nよって、ファストトラッキングによって全体の作業日数は 1 日 ($28 - 27$) 短縮されるので、アが正解です。',NULL),(335,14,'14-12','ファンクションポイント法の説明はどれか。',NULL,'開発するプログラムごとのステップ数を積算し、開発規模を見積もる。','開発プロジェクトで必要な作業のWBSを作成し、各作業の工数を見積もる。','外部入出力や内部論理ファイル、照会、インタフェースなどの個数や特性などから開発規模を見積もる。','過去の類似例を探し、その実績と差異などを分析評価して開発規模を見積もる。','ウ','見積もり手法とは、システムの開発工数を見積もるための方法であり、ファンクションポイント法とは、システムが提供する機能 (ファンクション) に点数 (ポイント) を付けて見積もる方法です。ファンクションポイント法ではシステムの機能を「外部入力」「外部出力」「外部照会」「内部論理ファイル」「外部インタフェースファイル」の 5 つに分類します。これらの画面数やファイル数などを数え、それぞれに対して点数を付けて開発工数を見積もります。この点数のことを「ファンクションポイント」といいます。\r\nア. プログラムステップ法の説明です。\r\nイ. 標準タスク法の説明です。\r\nエ. 類似見積もり法の説明です。',NULL),(336,14,'14-13','リスクが顕在化しても、その影響が小さいと想定されるので、損害の負担を受容するリスク対応はどれか。',NULL,'リスク移転','リスク回避','リスク低減','リスク保有','エ','損害の負担を受容することから、リスク保有だとわかります。\r\nア. リスク移転とは、リスクを自社から他社へ移すことです。\r\nイ. リスク回避とは、リスクに関わる作業をしないことで、リスクをなくすことです。\r\nウ. リスク低減とは、リスクの発生確率を下げたり、損害を小さくすることです。',NULL),(337,14,'14-14','あるソフトウェアにおいて、機能の個数と機能の複雑度に対する重み付け係数は表のとおりである。このソフトウェアのファンクションポイント値は幾らか。ここで、ソフトウェアの全体的な複雑さの補正係数は0.75とする。',NULL,'18','24','30','32','ア','ファンクションポイント法とは、システムが提供する機能（ファンクション）に点数（ポイント）を付けて見積もる方法です。システム全体のファンクションポイントを算出するには、まず、各機能の個数と重み付け係数をかけ算して「仮の合計ポイント」を算出します。合計ポイントは上表のとおり「24」です。最後に「複雑さの補正係数」で調整を行って最終的な見積もりを出します。この設問では、複雑さの補正係数は「0.75」です。つまりファンクションポイントは「$24 \\times 0.75 = 18$」のように計算します。','/home/air/goalskill_t/back/img_explanation/section14/0960467f-4986-43a8-b57d-5247d4462b3d.png'),(338,14,'14-15','プロジェクトの日程計画を作成するのに適した技法はどれか。',NULL,'PERT','回帰分析','時系列分析','線形計画法','ア','アローダイアグラムを使うと、作業項目の順序関係や依存関係を表すことができるため、プロジェクトの完了までに最も時間のかかる経路を発見できます。このアローダイアグラムを使ったプロジェクトの分析手法のことを「PERT」 (Program Evaluation and Review Technique) と呼びます。選択肢中で日程計画を作成するのに適した技法はPERTのみです。\r\nイ. 回帰分析とは、回帰直線（散布図内の点が多く集まっているところに引いた直線）を使って、過去のデータがどのような原因によって引き起こされているのか分析し、将来を予測する手法です。\r\nウ. 時系列分析とは、データの時間的な変化に注目して、将来を予測する手法です。\r\nエ. 線形計画法とは、与えられた条件から最大の効果を得るための解を求める手法です。',NULL),(339,14,'14-16','プロジェクト全体のスケジュールを短縮する技法の一つである“クラッシング”では、メンバーの時間外勤務を増やしたり、業務内容に精通したメンバーを新たに増員したりする。“クラッシング”を行う際に、優先的に資源を投入すべきスケジュールアクティビティはどれか。',NULL,'業務の難易度が最も高いスケジュールアクティビティ','クリティカルパス上のスケジュールアクティビティ','資源が確保できる時期に開始するスケジュールアクティビティ','所要期間を最も長く必要とするスケジュールアクティビティ','イ','クラッシングでは、アローダイアグラムのクリティカルパス上にあるアクティビティに、資源を優先的に投入します。なぜなら、クリティカルパスがもっとも時間のかかる作業経路だからです。クリティカルパスを短縮しないことにはプロジェクト全体の作業時間を短縮できません。',NULL),(340,14,'14-17','プロジェクトのリスクに対応する戦略として、損害発生時のリスクに備え、損害賠償保険に加入することにした。PMBOKによれば、該当する戦略はどれか。',NULL,'回避','軽減','受容','転嫁','エ','保険に加入するのは、リスク転嫁（リスク移転）の代表例です。',NULL),(355,15,'15-1','JIS Q 20000-1は、サービスマネジメントシステム (SMS) 及びサービスのあらゆる場面でPDCA方法論の適用を要求している。SMSの計画 (Plan) に含まれる活動はどれか。',NULL,'あらかじめ定めた間隔でのマネジメントレビューの実施とその記録の維持','権限、責任及びプロセスにおける役割についての枠組みの作成','資金及び予算の割当て及び管理の活動を通じた、SMSの導入及び運用','承認された改善についての計画の作成、改善の実施とその報告','イ','PDCAはPlan(計画)、Do(実行)、Check(評価)、Act(改善)の略語です。 JIS Q 20000-1では少し呼び方が変わって、Checkは点検、Actは処置となります。 選択肢の中から「Plan(計画)」に該当するのは、「枠組みの作成」という文章が入っている選択肢イです。\r\n\r\nア. Check (点検) に該当します。\r\n\r\nウ. Do (実行) に該当します。\r\n\r\nエ. Act (処置) に該当します。',NULL),(356,15,'15-2','サービスマネジメントシステムにPDCA方法論を適用するとき、Actに該当するものはどれか。',NULL,'サービスの設計、移行、提供及び改善のためにサービスマネジメントシステムを導入し、運用する。','サービスマネジメントシステム及びサービスのパフォーマンスを継続的に改善するための処置を実施する。','サービスマネジメントシステムを確立し、文書化し、合意する。','方針、目的、計画及びサービスの要求事項について、サービスマネジメントシステム及びサービスを監視、測定及びレビューし、それらの結果を報告する。','イ','サービスマネジメントシステムにおけるPDCAはPlan(計画)、Do(実行)、Check(点検)、Act(処置)です。 選択肢の中から「Act(処置)」に該当するのは、「処置」というキーワードが含まれている選択肢イだけです。\r\n\r\nア. Do (実行) に該当します。\r\n\r\nウ. Plan (計画) に該当します。\r\n\r\nエ. Check (点検) に該当します。',NULL),(357,15,'15-3','システムの移行方式の一つである一斉移行方式の特徴として、最も適切なものはどれか。',NULL,'新旧システム間を接続するアプリケーションが必要となる。','新旧システムを並行させて運用し、ある時点で新システムに移行する。','新システムへの移行時のトラブルの影響が大きい。','並行して稼働させるための運用コストが発生する。','ウ','一斉移行方式のデメリットは「トラブルの影響が大きい」です。 アは「段階的移行式」の説明です。 イとエは「並行移行方式」の説明です。',NULL),(358,15,'15-4','サービスマネジメントシステムにおけるサービスの可用性はどれか。',NULL,'あらかじめ合意された時点又は期間にわたって、要求された機能を実行するサービス又はサービスコンポーネントの能力','計画した活動が実行され、計画した結果が達成された程度','合意したレベルでサービスを継続的に提供するために、サービスに深刻な影響を及ぼす可能性のあるリスク及び事象を管理する能力','サービスの要求事項を満たし、サービスの設計、移行、提供及び改善のために、サービス提供者の活動及び資源を、指揮し、管理する、一連の能力及びプロセス','ア','可用性とは「サービスを使いたいときに使えること」です。\r\n\r\nイ. 有効性の説明です。\r\n\r\nウ. サービス継続の説明です。\r\n\r\nエ. サービスマネジメントの説明です。',NULL),(359,15,'15-5','次の条件でITサービスを提供している。SLAを満たすことができる、1か月のサービス時間帯中の停止時間は最大何時間か。ここで、1か月の営業日数は30日とし、サービス時間帯中は、保守などのサービス計画停止は行なわないものとする。\r\n\r\n〔SLAの条件〕\r\n・サービス時間帯は、営業日の午前8時から午後10時までとする。\r\n・可用性を 99.5% 以上とする。',NULL,'0.3','2.1','3.0','3.6','イ','可用性を表す指標の1つに稼働率があります。 稼働率の計算方法は第5章を参照してください(p.200)。 1日のサービス時間は14時間です(午前8時から午後10時まで)。 また、1か月のサービス時間は420時間です(14時間×30日)。 よって、最大の停止時間は2.1時間です(420時間×(1-0.995))。',NULL),(360,15,'15-6','ITサービスマネジメントにおける“既知の誤り（既知のエラー）”の説明はどれか。',NULL,'根本原因が特定されている又は回避策が存在している問題','サービスデスクに問い合わせがあった新たなインシデント','サービスマネジメント計画での矛盾や漏れ','静的検査で検出したプログラムの誤り','ア','既知の誤りとは「根本原因が特定されている問題」、もしくは「回避策によってサービスへの影響を低減または除去する方法がある問題」です。',NULL),(361,15,'15-7','ITサービスマネジメントの活動のうち、インシデント及びサービス要求管理として行うものはどれか。',NULL,'サービスデスクに対する顧客満足度が合意したサービス目標を満たしているかどうかを評価し、改善の機会を特定するためにレビューする。','ディスクの空き容量がしきい値に近づいたので、対策を検討する。','プログラムを変更した場合の影響度を調査する。','利用者からの障害報告を受けて、既知の誤りに該当するかどうかを照合する。','エ','インシデント管理では、問題が既知の誤りに該当するかどうかを確認します。\r\n\r\nア. サービスレベル管理で行うものです。\r\n\r\nイ. キャパシティ管理で行うものです。\r\n\r\nウ. 変更管理で行うものです。',NULL),(362,15,'15-8','サービスデスク組織の構造とその特徴のうち、ローカルサービスデスクのものはどれか。',NULL,'サービスデスクを1拠点又は少数の場所に集中することによって、サービス要員を効率的に配置したり、大量のコールに対応したりすることができる。','サービスデスクを利用者の近くに配置することによって、言語や文化が異なる利用者への対応、専門要員によるVIP対応などができる。','サービスデスクが複数の地域や部門に分散していても、通信技術の利用によって単一のサービスデスクであるかのようにサービスが提供できる。','分散拠点のサービス要員を含めた全員を中央で統括して管理することによって、統制のとれたサービスが提供できる。','イ','ローカルサービスデスクとは、ユーザーが住んでいる地域ごとに設置されるサービスデスクです。\r\n\r\nア. 中央サービスデスクの特徴です。\r\n\r\nウ. バーチャルサービスデスクの特徴です。\r\n\r\nエ. フォロー・ザ・サンの特徴です。',NULL),(363,15,'15-9','落雷によって発生する過電圧の被害から情報システムを守るための手段として、有効なものはどれか。',NULL,'サージ保護デバイス(SPD)を介して通信ケーブルとコンピュータを接続する。','自家発電装置を設置する。','通信線を、経路が異なる2系統とする。','電源設備の制御回路をデジタル化する。','ア','サージ保護デバイスとは、瞬間的に発生する高い電圧からシステムを守るための機器です。',NULL),(364,15,'15-10','[問題 15-10]\r\n\"システム管理基準\"に基づいて、システムの信頼性、安全性、効率性を監査する際に、システムが不正な使用から保護されているかどうかという安全性の検証項目として、最も適切なものはどれか。',NULL,'アクセス管理機能の検証','フェールソフト機能の検証','フォールトトレラント機能の検証','リカバリ機能の検証','ア','システム監査の3つのポイントのうち、安全性は「情報システムの自然災害、不正アクセス、および破壊行為からの保護の度合い」です。 不正な使用から保護するには、正しくアクセス管理が行われているかをチェックします。 よって、アが正解です。 その他の選択肢は信頼性の検証項目です。',NULL),(365,15,'15-11','システムに関わるドキュメントが漏えい、改ざん、不正使用されるリスクに対するコントロールを監査する際のチェックポイントはどれか。',NULL,'システムの変更に伴い、ドキュメントを遅滞なく更新していること','ドキュメントの機密性を確保するための対策を講じていること','ドキュメントの標準化を行っていること','プロトタイプ型開発においても、必要なドキュメントを作成していること','イ','紙やコンピュータに保存された価値のある情報を情報資産といいます。 情報セキュリティ監査では、この情報資産のリスクコントロールのチェックを行います。 情報セキュリティ監査では「機密性」「完全性」「可用性」の 3 つに注意します。 「漏えい、改ざん、不正使用」のうち、「改ざん」は「完全性」に関わるリスクです。 ただし、いずれの 3 つも「機密性」を確保することで対策できるリスクなので、イが正解です。',NULL),(366,15,'15-12','情報セキュリティ監査において、可用性を確認するチェック項目はどれか。',NULL,'外部記憶媒体の無断持出しが禁止されていること','中断時間を定めたSLAの水準が保たれるように管理されていること','データ入力時のエラーチェックが適切に行われていること','データベースが暗号化されていること','イ','可用性とは「使いたいときに使えること」です。 「中断時間」というキーワードから、イが「可用性」に関するチェック項目だとわかります。\r\n\r\nア. 機密性を確認するチェック項目です。\r\n\r\nウ. 完全性を確認するチェック項目です。\r\n\r\nエ. 機密性を確認するチェック項目です。',NULL),(367,15,'15-13','システム監査人が実施するヒアリングに関する記述のうち、最も適切なものはどれか。',NULL,'監査業務を経験したことのある被監査部門の管理者をヒアリングの対象者として選ぶ。','ヒアリングで被監査部門から得た情報を裏付けるための文書や記録を入手するよう努める。','ヒアリングの中で気が付いた不備事項について、その場で被監査部門に改善を指示する。','複数人でヒアリングを行うと記録内容に相違が出ることがあるので、1人のシステム監査人が行う。','イ','ヒアリングでは、得た情報をそのまま鵜呑みにせず、それを裏付けるための文書や記録などの監査証拠を手に入れる努力をします。\r\n\r\nア. 管理者だけを対象にしているので誤りです。\r\n\r\nウ. 改善の指示は調査終了後に行うので誤りです。\r\n\r\nエ. 監査を1人で行う義務はないので誤りです。',NULL),(368,15,'15-14','システム監査の実施体制に関する記述のうち、適切なものはどれか。',NULL,'監査依頼者が監査報告に基づく改善指示を行えるように、システム監査人は監査結果を監査依頼者に報告する。','業務監査の一部として情報システムの監査を行う場合には、利用部門のメンバーによる監査チームを編成して行う。','システム監査人が他の専門家の支援を受ける場合には、支援の範囲・方法、及び監査結果の判断は、他の専門家の責任において行う。','情報システム部門における開発状況の監査を行う場合には、開発内容を熟知した情報システム部門のメンバーによる監査チームを編成して行う。','ア','監査人は調査が終わったら依頼人に報告を行います。\r\n\r\nイとエ. 監査は「独立した第三者」が行わなければならないので誤りです。\r\n\r\nウ. 支援を受ける場合でも、支援の範囲、方法、監査結果の判断は監査人の責任で行う必要があります。',NULL),(369,15,'15-15','アクセス制御を監査するシステム監査人の行為のうち、適切なものはどれか。',NULL,'ソフトウェアに関するアクセス制御の管理台帳を作成し、保管した。','データに関するアクセス制御の管理規程を閲覧した。','ネットワークに関するアクセス制御の管理方針を制定した。','ハードウェアに関するアクセス制御の運用手続を実施した。','イ','監査人は改善指導をするだけで、主体的に改善活動を行うことはありません。 よって、アクセス制御の管理規程の「閲覧」だけを行っている選択肢イが正解です。 その他の選択肢では監査人自らが改善を行っているので誤りです。',NULL),(370,15,'15-16','情報システム部が開発して経理部が運用している会計システムの運用状況を、経営者からの指示で監査することになった。この場合におけるシステム監査人についての記述のうち、最も適切なものはどれか。',NULL,'会計システムは企業会計に関する各種基準に準拠すべきなので、システム監査人を公認会計士とする。','会計システムは機密性の高い情報を扱うので、システム監査人は経理部長直属とする。','システム監査を効率的に行うために、システム監査人は情報システム部長直属とする。','独立性を担保するために、システム監査人は情報システム部にも経理部にも所属しない者とする。','エ','システム監査人は被監査部門と利害関係のない立場で仕事をする必要があります。 よって、システム監査人が情報システム部にも経理部にも所属していない選択肢エが正解です。\r\n\r\nア. システム監査人は公認会計士の資格を持っている必要はないので誤りです。 会計監査の場合は、監査人は公認会計士、もしくは監査法人である必要があります。\r\n\r\nイ. 経理部長は利害関係があるので誤りです。\r\n\r\nウ. 情報システム部長は利害関係があるので誤りです。',NULL),(371,15,'15-17','システム運用業務のオペレーション管理に関する監査で判明した状況のうち、指摘事項として監査報告書に記載すべきものはどれか。',NULL,'運用責任者が、オペレーターの作成したオペレーション記録を確認している。','運用責任者が、期間を定めてオペレーション記録を保管している。','オペレーターが、オペレーション中に起きた例外処理を記録している。','オペレーターが、日次の運用計画を決定し、自ら承認している。','エ','監査人が調査を終えた後に、依頼人に提出する文書を監査報告書といいます。 監査報告書で指摘する項目の 1 つに、職務分掌の未整備があります。 職務分掌とは、担当者の役割や仕事の権限を明確にすることです。 選択肢エでは運用計画の決定と承認を同一人物が行っています。 これでは、オペレーターの不正や間違いを防ぐことができません。',NULL),(372,15,'15-18','企業経営の透明性を確保するために、企業は誰のために経営を行っているか、トップマネジメントの構造はどうなっているか、組織内部に自浄能力をもっているかなどの視点で、企業活動を監督・監視する仕組みはどれか。',NULL,'コアコンピタンス','コーポレートアイデンティティ','コーポレートガバナンス','ステークホルダアナリシス','ウ','ステークホルダが企業活動を監視することを、コーポレートガバナンスといいます。',NULL),(373,15,'15-19','我が国の証券取引所に上場している企業において、内部統制の整備及び運用に最終的な責任を負っている者は誰か。',NULL,'株主','監査役','業務担当者','経営者','エ','内部統制の最終的な責任者は経営者です。',NULL),(386,16,'16-1','エンタープライズアーキテクチャ (EA) を説明したものはどれか。',NULL,'オブジェクト指向設計を支援する様々な手法を統一して標準化したものであり、クラス図などのモデル図によってシステムの分析や設計を行うための技法である。','概念データモデルを、エンティティとリレーションシップで表現することによって、データ構造やデータ項目間の関係を明らかにするための技法である。','各業務と情報システムを、ビジネス、データ、アプリケーション、テクノロジの四つの体系で分析し、全体最適化の観点から見直すための技法である。','企業のビジネスプロセスを、データフロー、プロセス、ファイル、データ源泉／データ吸収の四つの基本要素で抽象化して表現するための技法である。','ウ','エンタープライズアーキテクチャに関して、みなさんが覚えることは 2 つだけです。\r\n1 つは「エンタープライズアーキテクチャの目的は全体最適化」、もう 1 つは「分類体系が、ビジネス、データ、アプリケーション、テクノロジの 4 つであること」です。\r\n\r\nア. UMLの説明です。\r\n\r\nイ. E-R図の説明です。\r\n\r\nエ. DFDの説明です。',NULL),(387,16,'16-2','エンタープライズアーキテクチャの“四つの分類体系”に含まれるアーキテクチャは、ビジネスアーキテクチャ、テクノロジアーキテクチャ、アプリケーションアーキテクチャともう一つはどれか。',NULL,'システムアーキテクチャ','ソフトウェアアーキテクチャ','データアーキテクチャ','バスアーキテクチャ','ウ','エンタープライズアーキテクチャの 4 つの分類体系はビジネスアーキテクチャ、データアーキテクチャ、アプリケーションアーキテクチャ、テクノロジアーキテクチャの 4 つです。',NULL),(388,16,'16-3','エンタープライズアーキテクチャを構成するアプリケーションアーキテクチャについて説明したものはどれか。',NULL,'業務に必要なデータの内容、データ間の関連や構造などを体系的に示したもの','業務プロセスを支援するシステムの機能や構成などを体系的に示したもの','情報システムの構築・運用に必要な技術的構成要素を体系的に示したもの','ビジネス戦略に必要な業務プロセスや情報の流れを体系的に示したもの','イ','エンタープライズアーキテクチャの 4 つの分類体系と対になるキーワードは以下のとおりです。\r\n\r\nビジネスアーキテクチャ：業務\r\n\r\nデータアーキテクチャ：データ\r\n\r\nアプリケーションアーキテクチャ：機能\r\n\r\nテクノロジアーキテクチャ：技術\r\n\r\nこの 4 つの対応を覚えておくだけで、エンタープライズアーキテクチャの 4 つの分類体系に関する問題には解答できます。 アプリケーションアーキテクチャのキーワードは「機能」なので、そのキーワードが含まれる選択肢イが正解です。\r\n\r\nア. データアーキテクチャについて説明したものです。\r\n\r\nウ. テクノロジアーキテクチャについて説明したものです。\r\n\r\nエ. ビジネスアーキテクチャについて説明したものです。',NULL),(389,16,'16-4','企業活動におけるBPM (Business Process Management) の目的はどれか。',NULL,'業務プロセスの継続的な改善','経営資源の有効活用','顧客情報の管理、分析','情報資源の分析、有効活用','ア','設問中にある「継続的」というキーワードからBPMであると判断できます。\r\n\r\nイ. ERP (Enterprise Resources Planning) の目的です。\r\n\r\nウ. CRM (Customer Relationship Management) の目的です。\r\n\r\nエ. BI (Business Intelligence) の目的です。',NULL),(390,16,'16-5','BPRを説明したものはどれか。',NULL,'企業全体の経営資源の配分を有効かつ総合的に計画して管理し、経営の効率向上を図ることである。','顧客視点から業務のプロセスを再設計し、情報技術を十分に活用して、企業の体質や構造を抜本的に変革することである。','最強の競合相手又は先進企業と比較して、製品、サービス、オペレーションなどを定性的・定量的に把握することである。','利益をもたらすことのできる、他社より卓越した自社独自のスキルや技術に経営資源を集中することである。','イ','設問中にある「抜本的」というキーワードからBPRであると判断できます。\r\n\r\nア. ERP (Enterprise Resources Planning) の説明です。\r\n\r\nウ. ベンチマーキングの説明です。\r\n\r\nエ. コアコンピタンス経営の説明です。',NULL),(391,16,'16-6','自社の経営課題である人手不足の解消などを目標とした業務革新を進めるために活用する、RPAの事例はどれか。',NULL,'業務システムなどのデータ入力、照合のような標準化された定型作業を、事務職員の代わりにソフトウェアで自動的に処理する。','製造ラインで部品の組立てに従事していた作業員の代わりに組立て作業用ロボットを配置する。','人が接客して販売を行っていた店舗を、ICタグ、画像解析のためのカメラ、電子決済システムによる無人店舗に置き換える。','フォークリフトなどを用いて人の操作で保管商品を搬入・搬出したものを、コンピュータ制御で無人化した自動倉庫システムに置き換える。','ア','RPAの特徴は「工場のロボットではない」と「定型的な業務しか実行できない」の 2 つです。 「定型作業」を「ソフトウェア」ロボットが行うことから、アが正解です。\r\n\r\nイとエでは工場の作業をロボットで自動化しているので誤りです。\r\n\r\nウはICタグやカメラなどのハードウェアを使った店舗作業の自動化なので誤りです。',NULL),(392,16,'16-7','BPOを説明したものはどれか。',NULL,'自社ではサーバを所有せずに、通信事業者などが保有するサーバの処理能力や記憶容量の一部を借りてシステムを運用することである。','自社ではソフトウェアを所有せずに、外部の専門業者が提供するソフトウェアの機能をネットワーク経由で活用することである。','自社の管理部門やコールセンターなど特定部門の業務プロセス全般を、業務システムの運用などと一体として外部の専門業者に委託することである。','自社よりも人件費が安い派遣会社の社員を活用することによって、ソフトウェア開発の費用を低減させることである。','ウ','BPOのキーワードは「業務プロセスの外部委託」です。\r\n\r\nアの「ホスティングサービス」、イの「SaaS」、エの「労働者派遣」は業務プロセスの外部委託ではないので、誤りです。',NULL),(393,16,'16-8','ワークフローシステムを用いて業務改善を行ったとき、期待できる効果として適切なものはどれか。',NULL,'顧客の購入金額に応じて、割引などのサービスを提供できる。','自社と取引先とのデータ交換の標準規約が提供できる。','書類の申請から決裁に至る事務手続の処理速度が上がる。','保管する商品の倉庫内での搬入搬出作業の自動化が可能となる。','ウ','ワークフローシステムとは、紙の書類を電子化して、社内の決裁申請手続きを効率化することです。\r\n\r\nア. CRM (Customer Relationship Management) の効果です。\r\n\r\nイ. EDI (Electronic Data Interchange) の効果です。\r\n\r\nエ. FA (Factory Automation) の効果です。',NULL),(394,16,'16-9','ホスティングサービスの特徴はどれか。',NULL,'運用管理面では、サーバの稼働監視、インシデント対応などを全て利用者が担う。','サービス事業者が用意したサーバの利用権を利用者に貸し出す。','サービス事業者の高性能なサーバを利用者が専有するような使い方には対応しない。','サービス事業者の施設に利用者が独自のサーバを持ち込み、サーバの選定や組合せは自由に行う。','イ','ソリューションの形態を区別する問題です。ソリューションの形態は「敷地」と「サーバの所有者」の 2 つで区別します。ホスティングサービスは、他社の敷地に置かれた、他社のサーバを借りるサービスです。\r\n\r\nア. サーバの稼働監視やインシデント対応はサービス事業者が行います。\r\n\r\nウ. サービス事業者によっては、高性能なサーバを利用者が専有する使い方にも対応します。\r\n\r\nエ. ハウジングサービスの特徴です。',NULL),(395,16,'16-10','SaaSを説明したものはどれか。',NULL,'インターネット経由でアプリケーションソフトウェアの機能を、利用者が必要なときだけ利用するサービスのこと','企業の経営資源を有効に活用するために、基幹業務を統合的に管理するためのソフトウェアパッケージのこと','既存の組織やビジネスプロセスを抜本的に見直し、職務、業務フロー、管理機構、情報システムを再設計すること','発注者とサービス提供者との間で、サービスの品質の内容について合意した文書のこと','ア','SaaSはソフトウェアを提供するサービスなので、アが正解です。\r\n\r\nイ. ERP (Enterprise Resources Planning) の説明です。\r\n\r\nウ. BPR (Business Process Re-engineering) の説明です。\r\n\r\nエ. SLA (Service Level Agreement) の説明です。',NULL),(396,16,'16-11','SOAの説明はどれか。',NULL,'売上・利益の増加や、顧客満足度の向上のために、営業活動にITを活用して営業の効率と品質を高める概念のこと','経営資源をコアビジネスに集中させるために、社内業務のうちコアビジネス以外の業務を外部に委託すること','コスト、品質、サービス、スピードを革新的に改善させるために、ビジネスプロセスをデザインし直す概念のこと','ソフトウェアの機能をサービスという部品とみなし、そのサービスを組み合わせることによってシステムを構築する概念のこと','エ','SOAとは、複数のサービスを組み合わせてシステムを作る考え方です。\r\n\r\nア. SFA (Sales Force Automation) の説明です。\r\n\r\nイ. BPO (Business Process Outsourcing) の説明です。\r\n\r\nウ. BPR (Business Process Re-engineering) の説明です。',NULL),(397,16,'16-12','BI (Business Intelligence) を説明したものはどれか。',NULL,'企業内外のデータを蓄積し、分類・加工・分析して活用することによって、企業の意思決定の迅速化を支援する手法','企業内の慣行にとらわれず、業務プロセスを抜本的に再構築することによって、コスト・品質・サービスなどを改善する手法','企業内の業務の流れを可視化し、業務改善サイクルを適用することによって、継続的な業務改善を図る手法','企業内の異なるシステムを互いに連結し、データやプロセスの統合を図ることによって、システムを全体として効率よく活用する手法','ア','BIのキーワードは「データの分析」と「意思決定に役立てる」の 2 つです。これらのキーワードが含まれる選択肢アが正解となります。\r\n\r\nイ. BPR (Business Process Re-engineering) の説明です。\r\n\r\nウ. BPM (Business Process Management) の説明です。\r\n\r\nエ. EAI (Enterprise Application Integration) の説明です。',NULL),(398,16,'16-13','企業がマーケティング活動に活用するビッグデータの特徴に沿った取扱いとして、適切なものはどれか。',NULL,'ソーシャルメディアで個人が発信する商品のクレーム情報などの、不特定多数によるデータは処理の対象にすべきではない。','蓄積した静的なデータだけでなく、Webサイトのアクセス履歴などリアルタイム性の高いデータも含めて処理の対象とする。','データ全体から無作為にデータをサンプリングして、それらを分析することによって全体の傾向を推し量る。','データの正規化が難しい非構造化データである音声データや画像データは、処理の対象にすべきではない。','イ','ビッグデータの特徴は3V (Volume：量が多い、Variety：多種多様、Velocity：更新が速い) の 3 つです。このうち選択肢イの「リアルタイム性の高いデータ」は「更新が速い」という特徴に当てはまります。\r\n\r\nア. 「量が多い」という特徴に合いません。\r\n\r\nウ. 「量が多い」という特徴に合いません。サンプリング（抽出）するのであれば、ビッグデータとしてデータを蓄積する必要がありません。\r\n\r\nエ. 「多種多様」という特徴に合いません。',NULL),(399,16,'16-14','企業が保有する顧客や市場などの膨大なデータから、有用な情報や関係を見つけ出す手法はどれか。',NULL,'データウェアハウス','データディクショナリ','データフローダイアグラム','データマイニング','エ','データマイニングのキーワードは「膨大なデータから、有用な情報を見つけること」です。\r\n\r\nア. データウェアハウスとは、意思決定に役立てるためのデータベースです。\r\n\r\nイ. データディクショナリとは、データに関する情報を収録した辞書です。\r\n\r\nウ. データフローダイアグラムとは、データの流れを表す図です。',NULL),(400,16,'16-15','デジタルディバイドを説明したものはどれか。',NULL,'PCなどの情報通信機器の利用方法が分からなかったり、情報通信機器を所有していなかったりして、情報の入手が困難な人々のことである。','高齢者や障害者の情報通信の利用面での困難が、社会的又は経済的な格差につながらないように、誰もが情報通信を利活用できるように整備された環境のことである。','情報通信機器やソフトウェア、情報サービスなどを、高齢者・障害者を含む全ての人が利用可能であるか、利用しやすくなっているかの度合いのことである。','デジタルリテラシーの有無やITの利用環境の相違によって生じる、社会的又は経済的な格差のことである。','エ','ディバイドの日本語訳である「格差」を覚えておけば後は簡単です。各選択肢が説明している名詞はそれぞれ、アが「人々」、イが「環境」、ウが「度合い」、エが「格差」なので、エが正解であると判断できます。\r\n\r\nア. 情報弱者の説明です。\r\n\r\nイ. 情報バリアフリーの説明です。\r\n\r\nウ. アクセシビリティの説明です。',NULL),(401,17,'17-1','共通フレームによれば、企画プロセスにおいて定義するものはどれか。',NULL,'新しい業務の在り方や業務手順、入出力情報、業務上の責任と権限、業務上のルールや制約などの要求事項','業務要件を実現するために必要なシステムの機能や、システムの開発方式、システムの運用手順、障害復旧時間などの要求事項','経営・事業の目的及び目標を達成するために必要なシステムに関係する経営上のニーズ、システム化、システム改善を必要とする業務上の課題などの要求事項','システムを構成するソフトウェアの機能及び能力、動作のための環境条件、外部インタフェース、運用及び保守の方法などの要求事項','ウ','「経営上のニーズ」というキーワードが含まれるウがシステム化構想の立案プロセスだとわかります。システム化構想の立案プロセスは企画プロセスの工程の1つです。',NULL),(402,17,'17-2','システム化計画を立案するときに考慮すべき事項はどれか。',NULL,'運用を考えて、自社の社員が開発する前提で検討を進める。','開発、保守、運用に関する費用と投資効果を明確にする。','失敗を避けるため、同業他社を調査し、同じシステムにする。','テスト計画、運用マニュアル及び障害対策を具体的に示す。','イ','システム化計画の立案プロセスのキーワードは「投資効果」です。',NULL),(403,17,'17-3','情報化投資計画において、投資価値の評価指標であるROIを説明したものはどれか。',NULL,'売上増やコスト削減などによって創出された利益額を投資額で割ったもの','売上高投資金額比、従業員当たりの投資金額などを他社と比較したもの','現金流入の現在価値から、現金流出の現在価値を差し引いたもの','プロジェクトを実施しない場合の、市場での競争力を表したもの','ア','ROIとは、利益額を投資額で割ったものです。\r\n\r\nイ. 「ベンチマーク」の説明です。\r\n\r\nウ. 「NPV」の説明です。\r\n\r\nエ. 「機会損失」の説明です。',NULL),(404,17,'17-4','情報化投資において、リスクや投資価値の類似性でカテゴリー分けし、最適な資源配分を行う際に用いる手法はどれか。',NULL,'3C分析','ITポートフォリオ','エンタープライズアーキテクチャ','ベンチマーキング','イ','投資対象を「リスク」と「投資価値」によって分類するのはITポートフォリオです。\r\n\r\nア. 3C分析とは、Customer (顧客)、Competitor (競合)、Company (自社) の三者の視点から経営環境を整理する手法です。\r\n\r\nウ. エンタープライズアーキテクチャとは、大企業や政府など、比較的大きな組織のシステムを全体最適化するための手法です。\r\n\r\nエ. ベンチマーキングとは、自社のやり方と業界で最も成功している企業のやり方を比較する手法です。',NULL),(405,17,'17-5','システム開発の上流工程において、システム稼働後に発生する可能性がある個人情報の漏えいや目的外利用などのリスクに対する予防的な機能を検討し、その機能をシステムに組み込むものはどれか。',NULL,'情報セキュリティ方針','セキュリティレベル','プライバシーバイデザイン','プライバシーマーク','ウ','システムに個人情報漏えい対策を予防的に組み込んでおくのは、プライバシーバイデザインです。\r\n\r\nア. 情報セキュリティ方針とは、情報セキュリティに関するその組織の取組み、対策をまとめた文書です。\r\n\r\nイ. セキュリティレベルとは、システム管理者がユーザーに与える操作権限の階級です。\r\n\r\nエ. プライバシーマークとは、個人情報を適切に扱う事業者に与えられるマークです。',NULL),(406,17,'17-6','企画、要件定義、システム開発、ソフトウェア実装、ハードウェア実装、保守から成る一連의 システム開発プロセスにおいて、要件定義プロセスで実施すべきものはどれか。',NULL,'事業の目的、目標を達成するために必要なシステム化の方針、及びシステムを実現するための実施計画を立案する。','システムに関わり合いをもつ利害関係者の種類を識別し、利害関係者のニーズ、要望及び課せられる制約条件を識別する。','目的とするシステムを得るために、システムの機能及び能力を定義し、システム方式設計によってハードウェア、ソフトウェアなどによる実現方式を確立する。','利害関係者の要件を満足するソフトウェア製品又はソフトウェアサービスを得るための、方式設計と適格性の確認を実施する。','イ','要件定義プロセスのキーワードは「利害関係者のニーズを識別」です。\r\n\r\nア. 「企画プロセス」で実施すべきものです。\r\n\r\nウ. 「システム開発プロセス」で実施すべきものです。\r\n\r\nエ. 「ソフトウェア実装プロセス」で実施すべきものです。',NULL),(407,17,'17-7','非機能要件の定義で行う作業はどれか。',NULL,'業務を構成する機能間の情報 (データ) の流れを明確にする。','システム開発で用いるプログラム言語に合わせた開発基準、標準の技術要件を作成する。','システム機能として実現する範囲を定義する。','他システムとの情報授受などのインタフェースを明確にする。','イ','非機能要件の代表例は「技術要件」です。共通フレームでは、技術要件に「開発基準、標準」が具体例として記載されています。なお、他の選択肢はすべて「機能要件」の定義で行う作業です。',NULL),(408,17,'17-8','CSR調達に該当するものはどれか。',NULL,'コストを最小化するために、最も安価な製品を選ぶ。','災害時に調達が不可能となる事態を避けるために、調達先を複数化する。','自然環境、人権などへの配慮を調達基準として示し、調達先に遵守を求める。','物品の購買に当たってEDIを利用し、迅速かつ正確な調達を行う。','ウ','CSR調達は「法令」、「環境」、「人権」などに配慮した調達であると表現されます。 つまり、グリーン調達（グリーン購入）よりも対象が広い調達です。',NULL),(409,17,'17-9','図に示す手順で情報システムを調達する場合、bに入るものはどれか。',NULL,'RFI','RFP','供給者の選定','契約の締結','イ','RFPが「Request For Proposal」 (提案依頼書) の略語だとわかれば、イが正解であると判断できます。 上から順にア→イ→ウ→エの順に工程が入ります。','/home/air/goalskill_t/back/img_explanation/section17/f5def107-2651-4136-a88b-9eb82a82b5ea.png'),(410,17,'17-10','グリーン調達の説明はどれか。',NULL,'環境保全活動を実施している企業がその活動内容を広くアピールし、投資家から環境保全のための資金を募ることである。','第三者が一定の基準に基づいて環境保全に資する製品を認定する、エコマークなどの環境表示に関する国際規格のことである。','太陽光、バイオマス、風力、地熱などの自然エネルギーによって発電されたグリーン電力を、市場で取引可能にする証書のことである。','品質や価格の要件を満たすだけでなく、環境負荷が小さい製品やサービスを、環境負荷の低減に努める事業者から優先して購入することである。','エ','グリーン調達は環境に配慮した製品・サービスを、環境に配慮している企業から優先して買うことです。\r\n\r\nア. 「グリーン投資」の説明です。\r\n\r\nイ. 「ISO 14024」の説明です。\r\n\r\nウ. 「グリーン電力証書」の説明です。',NULL),(411,17,'17-11','カーボンフットプリントの説明として、適切なものはどれか。',NULL,'温室効果ガスの排出量から吸収量と除去量を差し引いた合計をゼロにする取組','原材料調達から廃棄・リサイクルに至るまでのライフサイクル全体を通して排出される温室効果ガスの排出量を、CO2量に換算して、その値を商品やサービスに表示すること','自動車のエンジンから排出される一酸化炭素、窒素酸化物や炭化水素類などの大気汚染物質の排出量の定め','商品がどのような場所で作られて、流通し、販売されているかを把握するための仕組み','イ','カーボンフットプリントとは、商品やサービスのライフサイクル全体を通して排出される温室効果ガスの量を二酸化炭素排出量に換算して表示する仕組みです。\r\n\r\nア. カーボンニュートラルの説明です。\r\n\r\nウ. 自動車排出ガス規制の説明です。\r\n\r\nエ. トレーサビリティの説明です。',NULL),(412,17,'17-12','',NULL,'','','','','','',NULL),(416,18,'18-1','SWOT分析を説明したものはどれか。',NULL,'企業のビジョンと戦略を実現するために、財務、顧客、業務プロセス、学習と成長という四つの視点から検討し、アクションプランにまで具体化する。','企業を、内部環境と外部環境の観点から、強み、弱み、機会、脅威という四つの視点で評価し、企業を取り巻く環境を認識する。','事業を、分散型、特化型、手詰まり型、規模型という四つのタイプで評価し、自社の事業戦略策定に役立てる。','製品を、導入期、成長期、成熟期、衰退期という四つの段階に分類し、企業にとって最適な戦略策定に活用する。','イ','「強み、弱み、機会、脅威」という 4 つのキーワードからSWOT分析だと判断できます。\r\n\r\nア. バランススコアカード (p.624) の説明です。\r\n\r\nウ. アドバンテージ・マトリックスの説明です。なお、基本情報技術者試験ではこの用語が正解で出題されることはありません。\r\n\r\nエ. プロダクトライフサイクルの説明です。',NULL),(417,18,'18-2','企業経営で用いられるベンチマーキングを説明したものはどれか。',NULL,'企業全体の経営資源の配分を有効かつ総合的に計画して管理し、経営の効率向上を図ることである。','競合相手又は先進企業と比較して、自社の製品、サービス、オペレーションなどを定性的・定量的に把握することである。','顧客視点から業務のプロセスを再設計し、情報技術を十分に活用して、企業の体質や構造を抜本的に変革することである。','利益をもたらすことができる、他社より卓越した自社独自のスキルや技術に経営資源を集中することである。','イ','ベンチマーキングとは、自社と成功企業との差を見つけることです。「先進企業と比較」しているイが正解です。\r\n\r\nア. ERPの説明です (p.632)。\r\n\r\nウ. BPRの説明です (p.567)。\r\n\r\nエ. コアコンピタンス経営の説明です。',NULL),(418,18,'18-3','プロダクトポートフォリオマネジメント (PPM) を説明したものはどれか。',NULL,'自社の強みと弱み、市場における機会と脅威を、分類ごとに列挙して、事業戦略における企業の環境分析を行う。','製品と市場の視点から、事業拡大の方向性を市場浸透・製品開発・市場開拓・多角化に分けて、戦略を検討する。','製品の市場占有率と市場成長率から、企業がそれぞれの事業に対する経営資源の最適配分を意思決定する。','製品の導入期・成長期・成熟期・衰退期の各段階に応じて、製品の改良、新品種の追加、製品廃棄などを計画する。','ウ','「市場占有率と市場成長率」というキーワードから、ウが正解であると判断できます。\r\n\r\nア. SWOT分析の説明です。\r\n\r\nイ. 成長マトリックスの説明です。\r\n\r\nエ. プロダクトライフサイクルの説明です。',NULL),(419,18,'18-4','プロダクトライフサイクルにおける導入期を説明したものはどれか。',NULL,'売上が急激に増加する時期である。市場が活性化し、新規参入企業によって競争が激化してくる。','売上と利益が徐々に減少する時期である。追加投資を控えて市場から撤退することが検討される。','需要の伸びが鈍化してくる時期である。製品の品質改良などによって、シェアの維持、利益の確保が行われる。','先進的な消費者に対して製品を販売する時期である。製品の認知度を高める戦略が採られる。','エ','導入期は「需要は部分的で、製品の認知度を高めることが重要な時期」です。 アは成長期、イは衰退期、ウは成熟期の説明です。',NULL),(420,18,'18-5','プロダクトライフサイクルにおける成長期の特徴はどれか。',NULL,'市場が商品の価値を理解し始める。商品ラインもチャネルも拡大しなければならない。この時期は売上も伸びるが、投資も必要である。','需要が大きくなり、製品の差別化や市場の細分化が明確になってくる。競争者間の競争も激化し、新品種の追加やコストダウンが重要となる。','需要が減ってきて、撤退する企業も出てくる。この時期の強者になれるかどうかを判断し、代替市場への進出なども考える。','需要は部分的で、新規需要開拓が勝負である。特定ターゲットに対する信念に満ちた説得が必要である。','ア','成長期は「売上が増加して、競合が増える時期」です。 イは成熟期、ウは衰退期、エは導入期の説明です。',NULL),(421,18,'18-6','プロダクトライフサイクルにおける成熟期の特徴はどれか。',NULL,'市場が商品の価値を理解し始める。商品ラインもチャネルも拡大しなければならない。この時期は売上も伸びるが、投資も必要である。','需要が大きくなり、製品の差別化や市場の細分化が明確になってくる。競争者間の競争も激化し、新品種の追加やコストダウンが重要となる。','需要が減ってきて、撤退する企業も出てくる。この時期の強者になれるかどうかを判断し、代替市場への進出なども考える。','需要は部分的で、新規需要開拓が勝負である。特定ターゲットに対する信念に満ちた説得が必要である。','イ','成熟期は「需要の伸びが鈍化し、コストダウンが重要な時期」です。 アは成長期、ウは衰退期、エは導入期の説明です。',NULL),(422,18,'18-7','コアコンピタンスの説明はどれか。',NULL,'企業の活動分野において、競合他社にはまねのできない卓越した能力','経営を行う上で法令や各種規制、社会的規範などを遵守する企業活動','市場・技術・商品（サービス）の観点から設定した、事業の展開領域','組織活動の目的を達成するために行う、業務とシステムの全体最適化手法','ア','「競合他社にはまねのできない」という文章からコアコンピタンスだと判断します。\r\n\r\nイ. コンプライアンス経営の説明です。\r\n\r\nウ. 事業ドメインの説明です。なお、基本情報技術者試験ではこの用語が正解で出題されることはありません。\r\n\r\nエ. エンタープライズアーキテクチャの説明です (p.564)。',NULL),(423,18,'18-8','コアコンピタンス経営を説明したものはどれか。',NULL,'企業内に散在している知識を共有し、全体の問題解決力を高める経営を行う。','迅速な意思決定のために、組織の階層をできるだけ少なくした平型の組織構造によって経営を行う。','優れた業績を上げている企業との比較分析から、自社の経営革新を行う。','他社にはまねのできない、企業独自のノウハウや技術などの強みを核とした経営を行う。','エ','「他社にはまねのできない」という文章からコアコンピタンス経営だと判断します。\r\n\r\nアは「ナレッジマネジメント」の説明です。\r\n\r\nイは「フラット型組織」の説明です。基本情報技術者試験ではこの用語が正解で出題されることはありません。\r\n\r\nウは「ベンチマーキング」の説明です (p.608)。',NULL),(424,18,'18-9','あるメーカーがビールと清涼飲料水を生産する場合、表に示すように6種類のケース(A 〜 F)によって異なるコストが掛かる。このメーカーの両製品の生産活動におけるスケールメリットとシナジー効果に関する記述のうち、適切なものはどれか。',NULL,'スケールメリットはあるが、シナジー効果はない。','スケールメリットはないが、シナジー効果はある。','スケールメリットとシナジー効果がともにある。','スケールメリットとシナジー効果がともにない。','イ','規模の経済とは、製品を作れば作るほど 1 個あたりの生産コストが安くなることです。別名「スケールメリット」とも呼ばれます。 一方、シナジー効果とは、複数の製品をまとめて生産することで、コストや生産設備、流通経路、ノウハウなど、さまざまな面で効果が出ることです。\r\n\r\n下表は設問の表にビールと清涼飲料水の単位あたりのコスト（万円／万本）を追加した表です。\r\n\r\n（図）\r\n\r\nつまり、スケールメリットはないが、シナジー効果はあるので、選択肢イが正解です。','/home/air/goalskill_t/back/img_explanation/section18/24fe1b57-2694-49b7-8782-0d645e601daf.png'),(425,18,'18-10','企業の競争戦略におけるリーダー戦略はどれか。',NULL,'市場シェアを奪うことを目標に、製品、サービス、販売促進、流通チャネルなどのあらゆる面での差別化戦略を取る。','潜在的な需要がありながら、他の企業が参入してこないような専門特化した市場に、限られた経営資源を集中する。','目標とする企業の戦略を観察し、迅速に模倣することによって、開発や広告のコストを抑制し、市場での存続を図る。','利潤、好評判の維持・向上と最適市場シェアの確保を目標として、市場内の全ての顧客をターゲットにした全方位戦略を取る。','エ','リーダー戦略のキーワードは「全方位」です。\r\n\r\nア. チャレンジャーの戦略です。\r\n\r\nイ. ニッチャーの戦略です。\r\n\r\nウ. フォロワーの戦略です。',NULL),(426,18,'18-11','競争上のポジションで、ニッチャーの基本戦略はどれか。',NULL,'シェア追撃などのリーダー攻撃に必要な差別化戦略','市場チャンスに素早く対応する模倣戦略','製品、市場の専門特化を図る特定化戦略','全市場をカバーし、最大シェアを確保する全方位戦略','ウ','「特定化戦略」というキーワードから「ニッチャー」の戦略と判断します。\r\n\r\nア. チャレンジャーの戦略です。\r\n\r\nイ. フォロワーの戦略です。\r\n\r\nエ. リーダーの戦略です。',NULL),(427,18,'18-12','イノベーター理論では、消費者を新製品の購入時期によって、イノベーター、アーリーアダプター、アーリーマジョリティ、レイトマジョリティ、ラガードの五つに分類する。アーリーアダプターの説明として、適切なものはどれか。',NULL,'新しい製品及び新技術の採用には懐疑的で、周囲の大多数が採用している場面を見てから採用する層','新商品、サービスなどを、リスクを恐れず最も早い段階で受容する層','新商品、サービスなどを早期に受け入れ、消費者に大きな影響を与える層であり、流行に敏感で、自ら情報収集を行い判断する層','世の中の動きに関心が薄く、流行が一般化してからそれを採用することが多い層であり、場合によっては不採用を貫く、最も保守的な層','ウ','イノベーター理論では、消費者を次の五つのタイプに分類します。アーリーアダプターの説明として適しているのは選択肢ウです。\r\n\r\nア. レイトマジョリティの説明です。\r\n\r\nイ. イノベーターの説明です。\r\n\r\nエ. ラガードの説明です。','/home/air/goalskill_t/back/img_explanation/section18/84ff81c7-5851-4c8c-bf71-84daba03f105.png'),(428,18,'18-13','企業の事業活動を機能ごとに主活動と支援活動に分け、企業が顧客に提供する製品やサービスの利益は、どの活動で生み出されているかを分析する手法はどれか。',NULL,'3C分析','SWOT分析','バリューチェーン分析','ファイブフォース分析','ウ','バリューチェーン分析のキーワードは「主活動」と「支援活動」です。\r\n\r\nア. 3C分析とは、Customer (顧客)、Competitor (競合)、Company (自社) の三者の視点から経営環境を整理する手法です。\r\n\r\nイ. SWOT分析とは、経営戦略を立てるために、会社が置かれている経営環境を「Strengths(強み)」「Weaknesses(弱み)」「Opportunities(機会)」「Threats(脅威)」の 4 つに分類する手法です。\r\n\r\nエ. ファイブフォース分析とは、業界の構造分析を 5 つの要因 (新規参入者の脅威、代替品の脅威、買い手交渉力、売り手交渉力、既存競合他社) を用いて行う手法です。',NULL),(429,18,'18-14','バランススコアカードの四つの視点とは、財務、学習と成長、内部ビジネスプロセスと、もう一つはどれか。',NULL,'ガバナンス','顧客','自社の強み','遵法','イ','バランススコアカードの 4 つの視点は「財務」「顧客」「内部ビジネスプロセス」「学習と成長」です。\r\n\r\nア. ガバナンスは「統治」という意味です。関連する用語に「コーポレートガバナンス」(企業統治) があります。コーポレートガバナンスとは、株主などの利害関係者が企業活動を監視する仕組みです。\r\n\r\nウ. 「自社の強み」は、SWOT分析の 4 つの分類の1つです。\r\n\r\nエ. 遵法(じゅんぽう)とは、法を守ることです。関連する用語に「コンプライアンス」(法令遵守) があります。コンプライアンスとは、企業が法令、社内ルール、企業倫理などを守ることです。',NULL),(430,18,'18-15','バランススコアカードの内部ビジネスプロセスの視点における戦略目標と業績評価指標の例はどれか。',NULL,'持続的成長が目標であるので、受注残を指標とする。','主要顧客との継続的な関係構築が目標であるので、クレーム件数を指標とする。','製品開発力の向上が目標であるので、製品開発領域の研修受講時間を指標とする。','製品の製造の生産性向上が目標であるので、製造期間短縮日数を指標とする。','エ','「内部ビジネスプロセス」の視点では、「業務プロセス」で評価します。 選択肢のうち、業務プロセスの目標と指標はエのみです。\r\n\r\nア. 財務の視点です。\r\n\r\nイ. 顧客の視点です。\r\n\r\nウ. 学習と成長の視点です。',NULL),(431,18,'18-16','ITベンダーにおけるソリューションビジネスの推進で用いるバランススコアカードの、学習と成長のKPIの目標例はどれか。ここで、ソリューションとは“顧客の経営課題の達成に向けて、情報技術と専門家によるプロフェッショナルサービスを通して支援すること”とする。',NULL,'サービスを提供した顧客に対して満足度調査を行い、満足度を5段階評価で平均3.5以上とする。','再利用環境の整備によってソリューション事例の登録などを増やし、顧客提案数を前年度の1.5倍とする。','情報戦略のコンサルティングサービスに重点を置くために、社内要員30名をITのプロフェッショナルとして育成する。','情報戦略立案やシステム企画立案に対するコンサルティングの受注金額を、全体の15%以上とする。','ウ','「学習と成長」の視点では、「従業員と会社の能力」で評価します。 「育成」というキーワードがあるウが正解です。\r\n\r\nア. 顧客の視点です。\r\n\r\nイ. 内部ビジネスプロセスの視点です。\r\n\r\nエ. 財務の視点です。',NULL),(432,18,'18-17','マーケティングミックスの説明はどれか。',NULL,'顧客市場をある基準で細分化し、その中から最も競争優位に立てる市場を選定すること','市場の成長率と自社の相対的市場シェアの組合せから、各事業の位置づけを明確にし、それぞれの事業の今後の施策を検討すること','製品戦略、価格戦略、チャネル戦略、プロモーション戦略などを適切に組み合わせて、自社製品を効果的に販売していくこと','導入期、成長期、成熟期、衰退期のそれぞれにおいて、市場や競合商品などとの関係を意識した、適切な施策を採っていくこと','ウ','マーケティングミックスとは、マーケティングの目標を達成する際に用いる、自社がコントロール可能な 4 つの手段です。 4 つの手段とは、「Product (製品)」「Price (価格)」「Place (場所)」「Promotion (販売促進)」です。\r\n\r\nア. セグメンテーションの説明です。\r\n\r\nイ. PPM (Product Portfolio Management) の説明です。\r\n\r\nエ. プロダクトライフサイクルの説明です。',NULL),(433,18,'18-18','売手の視点であるマーケティングミックスの4Pに対応する、買手の視点である4Cの中で、図のaに当てはまるものはどれか。ここで、ア〜エはa 〜 dのいずれかに対応する。',NULL,'Communication (顧客との対話)','Convenience (顧客の利便性)','Cost (顧客の負担)','Customer Value (顧客にとっての価値)','エ','マーケティングミックスとは、マーケティングの目標を達成する際に用いる、自社がコントロール可能な 4 つの手段です。 一方で、4Cとは、4Pを使って考えられてきた「売手の視点」を「買い手の視点」に転換させた概念です。 アはd、イはc、ウはbにあたります。','/home/air/goalskill_t/back/img_explanation/section18/1707f85e-bcd4-493d-9ee5-f7ded5d91605.png'),(434,18,'18-19','コストプラス価格決定法を説明したものはどれか。',NULL,'買い手が認める品質や価格をリサーチし、訴求力のある価格を決定する。','業界の平均水準や競合企業の設定価格を参考に、競争力のある価格を決定する。','製造原価又は仕入原価に一定のマージンを乗せて価格を決定する。','目標販売量を基に、総費用吸収後に一定の利益率が確保できる価格を決定する。','ウ','コストプラス法では「製造原価 ＋ マージン」で価格を決定します。\r\n\r\nアは需要価格決定法、イは市場価格追随法、エは目標利益法の説明です。',NULL),(435,18,'18-20','ERPを説明したものはどれか。',NULL,'営業活動にITを活用して営業の効率と品質を高め、売上・利益の大幅な増加や、顧客満足度の向上を目指す手法・概念である。','卸売業・メーカーが小売店の経営活動を支援することによって、自社との取引量の拡大につなげる手法・概念である。','企業全体の経営資源を有効かつ総合的に計画して管理し、経営の効率向上を図るための手法・概念である。','消費者向けや企業間の商取引を、インターネットなどの電子的なネットワークを活用して行う手法・概念である。','ウ','ERPのキーワードは「経営資源を総合的に管理すること」です。\r\n\r\nアはSFA (Sales Force Automation)、イはリテールサポート、エはEC (Electronic Commerce：電子商取引) の説明です。',NULL),(436,18,'18-21','CRMの目的はどれか。',NULL,'顧客ロイヤリティの獲得と顧客生涯価値の最大化','在庫不足による販売機会損失の削減','製造に必要な資源の発注量と発注時期の決定','販売時点での商品ごとの販売情報の把握','ア','一時的な利益よりも、既存顧客が生涯にわたってもたらしてくれる利益を重視するのがCRMです。 よって「顧客生涯価値の最大化」を目的とするアが正解です。\r\n\r\nイはSCM (Supply Chain Management)、ウはMRP (Material Requirements Planning)、エはPOSシステムの目的です。',NULL),(437,18,'18-22','SCMの目的はどれか。',NULL,'顧客情報や購買履歴、クレームなどを一元管理し、きめ細かな顧客対応を行うことによって、良好な顧客関係の構築を目的とする。','顧客情報や商談スケジュール、進捗状況などの商談状況を一元管理することによって、営業活動の効率向上を目的とする。','生産や販売、在庫、会計など基幹業務のあらゆる情報を統合管理することによって、経営効率の向上を目的とする。','調達から販売までの複数の企業や組織にまたがる情報を統合的に管理することによって、コスト低減や納期短縮などを目的とする。','エ','SCMは、社内だけでなく、社外も含めた調達・生産・販売などのプロセス全体の最適化を行う手法です。 他の選択肢も「一元管理」をするという点では同じですが、SCMのポイントは「社外も含めた」点です。 選択肢エには「複数の企業や組織にまたがる」という文章があるので、SCMと判断できます。\r\n\r\nアはCRM (Customer Relationship Management)、イはSFA (Sales Force Automation)、ウはERP (Enterprise Resource Planning) の目的です。',NULL),(438,18,'18-23','ナレッジマネジメントを説明したものはどれか。',NULL,'企業内に散在している知識を共有化し、全体の問題解決力を高める経営を行う。','迅速な意思決定のために、組織の階層をできるだけ少なくしたフラット型の組織構造によって経営を行う。','優れた業績を上げている企業との比較分析から、自社の経営革新を行う。','他社にはまねのできない、企業独自のノウハウや技術などの強みを核とした経営を行う。','ア','ナレッジマネジメントのキーワードは「共有化」です。 よって、個々の社員が持つ経験やノウハウなど、バラバラに散らばった知識は、文書化することで「共有化」できます。\r\n\r\nイ. フラット型組織の説明です。\r\n\r\nウ. ベンチマーキングの説明です。\r\n\r\nエ. コアコンピタンス経営の説明です。',NULL),(447,19,'19-1','スマートグリッドの説明はどれか。',NULL,'健康診断結果や投薬情報など、類似した症例に基づく分析を行い、個人ごとに最適な健康アドバイスを提供できるシステム','在宅社員やシニアワーカーなど、様々な勤務形態で働く労働者の相互のコミュニケーションを可能にし、多様なワークスタイルを支援するシステム','自動車に設置された情報機器を用いて、飲食店・娯楽情報などの検索、交通情報の受発信、緊急時の現在位置の通報などが行えるシステム','通信と情報処理技術によって、発電と電力消費を総合的に制御し、再生可能エネルギーの活用、安定的な電力供給、最適な需給調整を図るシステム','エ','スマートグリッドとは、ITを使って、電力の需給量の最適化を図る次世代電力網です。\r\n\r\nア. 医療診断エキスパートシステムの説明です。\r\nイ. テレワーク支援システムの説明です。\r\nウ. カーナビゲーションシステムの説明です。',NULL),(448,19,'19-2','通信機能及び他の機器の管理機能をもつ高機能型の電力メーターであるスマートメーターを導入する目的として、適切でないものはどれか。',NULL,'自動検針によって、検針作業の効率を向上させる。','停電時に補助電源によって、一定時間電力を供給し続ける。','電力需要制御によって、ピーク電力を抑制する。','電力消費量の可視化によって、節電の意識を高める。','イ','スマートメーターの主な目的は、アの自動検針、ウの電力需要制御、そしてエの電力消費量の可視化です。イは自家発電装置の目的なので適切ではありません。',NULL),(449,19,'19-3','HEMSの説明として、適切なものはどれか。',NULL,'太陽光発電システム及び家庭用燃料電池が発電した電気を、家庭などで利用できるように変換するシステム','廃棄物の減量及び資源の有効利用推進のために、一般家庭及び事務所から排出された家電製品の有用な部分をリサイクルするシステム','ヒートポンプを利用して、より少ないエネルギーで大きな熱量を発生させる電気給湯システム','複数の家電製品をネットワークでつなぎ、電力の可視化及び電力消費の最適制御を行うシステム','エ','HEMSのキーワードは「可視化」と「制御」の2つです。この2つのキーワードが含まれるエが正解です。\r\n\r\nア. パワーコンディショナの説明です。\r\nイ. 家電リサイクルシステムの説明です。\r\nウ. 自然冷媒ヒートポンプ給湯器の説明です。',NULL),(450,19,'19-4','コンビニエンスストアにおいて、ポイントカードなどの個人情報と結び付けられた顧客ID付きPOSデータを収集・分析することによって確認できるものはどれか。',NULL,'商品の最終的な使用者','商品の店舗までの流通経路','商品を購入する動機','同一商品の購入頻度','エ','個人情報と結び付けられた顧客ID付きPOSデータをID-POSデータといいます。ID-POSデータでは従来のPOSデータではわからなかった「誰が」に当たる情報を得ることができるので、購入履歴（最終購買日、購買頻度、累計購買総額など）を確認できます。よって、購買頻度にあたる選択肢エが正解です。',NULL),(451,19,'19-5','“かんばん方式”を説明したものはどれか。',NULL,'各作業の効率を向上させるために、仕様が統一された部品、半製品を調達する。','効率よく部品調達を行うために、関連会社から部品を調達する。','中間在庫を極力減らすために、生産ラインにおいて、後工程の生産に必要な部品だけを前工程から調達する。','より品質が高い部品を調達するために、部品の納入指定業者を複数定め、競争入札で部品を調達する。','ウ','かんばん方式とは、必要な物を、必要なときに、必要な量だけ生産する生産方式です。「必要な部品だけ」というキーワードがあるウが正解です。',NULL),(452,19,'19-6','セル生産方式の利点が生かせる対象はどれか。',NULL,'生産性を上げるために、大量生産が必要なもの','製品の仕様が長期間変わらないもの','多種類かつフレキシブルな生産が求められるもの','標準化、単純化、専門化による分業が必要なもの','ウ','セル生産方式の特徴は、多品種・少量生産です。その他の選択肢はライン生産方式の特徴です。',NULL),(453,19,'19-7','CADを説明したものはどれか。',NULL,'コンピュータを使用して、現物を利用した試作や実験を行わずに、製品の性能・機能を評価する。','コンピュータを使用して、生産計画、部品構成表及び在庫量などから、資材の必要量と時期を求める。','コンピュータを使用して、製品の形状や構造などの属性データから、製品設計図面を作成する。','コンピュータを使用して製品設計図面を工程設計情報に変換し、機械加工などの自動化を支援する。','ウ','CADとは、製品の設計をコンピュータで行うシステムです。\r\n\r\nア. シミュレーターの説明です。\r\nイ. MRPの説明です。\r\nエ. CAMの説明です。',NULL),(454,19,'19-8','MRPの特徴はどれか。',NULL,'顧客の注文を受けてから製品の生産を行う。','作業指示票を利用して作業指示、運搬指示をする。','製品の開発、設計、生産準備を同時並行で行う。','製品の基準生産計画を基に、部品の手配数量を算出する。','エ','MRPとは、製品の生産計画に合わせて必要な資材の量を求め、資材の手配を行う手法です。\r\n\r\nア. 受注生産方式の特徴です。\r\nイ. JIT生産方式の特徴です。\r\nウ. コンカレントエンジニアリングの特徴です。',NULL),(455,19,'19-9','コンカレントエンジニアリングの説明として、適切なものはどれか。',NULL,'機能とコストとの最適な組合せを把握し、システム化された手順によって価値の向上を図る手法','製品開発において、設計、生産計画などの工程を同時並行的に行う手法','設計、製造、販売などのプロセスを順に行っていく製品開発の手法','対象のシステムを解析し、その仕様を明らかにする手法','イ','コンカレントの和訳が「同時の」だとわかれば「同時並行的」というキーワードが含まれる選択肢イが正解だとわかります。\r\n\r\nア. バリューエンジニアリングの説明です。\r\nウ. シーケンスエンジニアリングの説明です。\r\nエ. リバースエンジニアリングの説明です。',NULL),(456,19,'19-10','電子自治体において、G to Bに該当するものはどれか。',NULL,'自治体内で電子決裁や電子公文書管理を行う。','自治体の利用する物品や資材の電子調達、電子入札を行う。','住民基本台帳ネットワークによって、自治体間で住民票データを送受信する。','住民票、戸籍謄本、婚姻届、パスポートなどを電子申請する。','イ','G to Bとは、行政と企業の取引です。アは取引ではありせん。ウはGtoG、エはGtoCに該当します。',NULL),(457,19,'19-11','ネットビジネスでのOtoOの説明はどれか。',NULL,'基本的なサービスや製品を無料で提供し、高度な機能や特別な機能については料金を課金するビジネスモデルである。','顧客仕様に応じたカスタマイズを実現するために、顧客からの注文後に最終製品の生産を始める方式である。','電子商取引で、代金を払ったのに商品が届かない、商品を送ったのに代金が支払われないなどのトラブルが防止できる仕組みである。','モバイル端末などを利用している顧客を、仮想店舗から実店舗に、又は実店舗から仮想店舗に誘導しながら、購入につなげる仕組みである。','エ','OtoOとは、インターネット (Online) の仮想店舗から現実世界 (Offline) の実店舗にお客さんを呼び込むことです。アはフリーミアムの説明です。イはBTO (Build To Order：受注生産) の説明です。ウはエスクローサービスの説明です。',NULL),(458,19,'19-12','インターネット上で、一般消費者が買いたい品物とその購入条件を提示し、単数又は複数の売り手がそれに応じる取引形態はどれか。',NULL,'B to B','G to C','逆オークション','バーチャルモール','ウ','逆オークションとは、買う人が希望価格を提示して、最も安い価格で入札した売り手が商品を売ることができる取引です。アのB to Bとは、企業と企業の取引です。イのG to Cとは、行政と消費者の取引です。エのバーチャルモールとは、インターネット上の仮想店舗が集まった仮想商店街です。',NULL),(459,19,'19-13','ICタグ (RFID) の特徴はどれか。',NULL,'GPSを利用し、現在地の位置情報や属性情報を表示する。','専用の磁気読取り装置に挿入して使用する。','大量の情報を扱うので、情報の記憶には外部記憶装置を使用する。','汚れに強く、記録された情報を梱包の外から読むことができる。','エ','ICタグの特徴は「汚れに強い」と「梱包の外から読める」です。',NULL),(460,19,'19-14','インターネットオークションなどで利用されるエスクローサービスの取引モデルの⑤に当てはまる行為はどれか。ここで、①〜⑥は取引の順序を示し、③〜⑥はア〜エのいずれかに対応する。',NULL,'商品受領の通知','商品の発送','代金の支払','代金の入金通知','ア','下記はエスクローサービスの①〜⑥の各行為を記入した図です。\r\n⑤に当てはまるのは「商品受領の通知」です。よって、アが正解です。','/home/air/goalskill_t/back/img_explanation/section19/12c5678d-c5c7-4dd5-9874-db761de05c1b.png'),(461,19,'19-15','ロングテールの説明はどれか。',NULL,'Webコンテンツを構成するテキストや画像などのデジタルコンテンツに、統合的・体系的な管理、配信などの必要な処理を行うこと','インターネットショッピングで、売上の全体に対して、あまり売れない商品群の売上合計が無視できない割合になっていること','自分のWebサイトやブログに企業へのリンクを掲載し、他者がこれらのリンクを経由して商品を購入したときに、企業が紹介料を支払うこと','メーカーや卸売業者から商品を直接発送することによって、在庫リスクを負うことなく自分のWebサイトで商品が販売できること','イ','ロングテールとは「たまにしか売れない商品でも、その種類が多くなると、大きな売上になる」という法則です。\r\nア. CMS (Contents Management System) の説明です。\r\nウ. 成功報酬型広告 (別名：アフィリエイト) の説明です。\r\nエ. ドロップシッピングの説明です。',NULL),(462,19,'19-16','EDIを説明したものはどれか。',NULL,'OSI基本参照モデルに基づく電子メールサービスの国際規格であり、メッセージの生成・転送・処理に関する総合的なサービスである。','ネットワーク内で伝送されるデータを蓄積したり、データのフォーマットを変換したりするサービスなど、付加価値を加えた通信サービスである。','ネットワークを介して、商取引のためのデータをコンピュータ（端末を含む）間で標準的な規約に基づいて交換することである。','発注情報をデータエントリー端末から入力することによって、本部又は仕入先に送信し、発注を行うシステムである。','ウ','インターネットを使って請求書などの書類を会社間でやり取りすることです。EDIのキーワードは「規約」です。\r\nア. MHS (Message Handling System) の説明です。\r\nイ. VAN (Value Added Network) の説明です。\r\nエ. EOS (Electronic Ordering System) の説明です。',NULL),(463,19,'19-17','CGM (Consumer Generated Media) の例はどれか。',NULL,'企業が、経営状況や財務状況、業績動向に関する情報を、個人投資家向けに公開する自社のWebサイト','企業が、自社の商品の特徴や使用方法に関する情報を、一般消費者に向けて発信する自社のWebサイト','行政機関が、政策、行政サービスに関する情報を、一般市民向けに公開する自組織のWebサイト','個人が、自らが使用した商品などの評価に関する情報を、不特定多数に向けて発信するブログやSNSなどのWebサイト','エ','一般の消費者が、インターネットを通じて自らの情報を発信するメディアの総称です。',NULL),(464,19,'19-18','シェアリングエコノミーの説明はどれか。',NULL,'ITの活用によって経済全体の生産性が高まり、更にSCMの進展によって需給ギャップが解消されるので、インフレなき成長が持続するという概念である。','ITを用いて、再生可能エネルギーや都市基盤の効率的な管理・運営を行い、人々の生活の質を高め、継続的な経済発展を実現するという概念である。','商取引において、実店舗販売とインターネット販売を組み合わせ、それぞれの長所を生かして連携させることによって、全体の売上を拡大する仕組みである。','ソーシャルメディアのコミュニティ機能などを活用して、主に個人同士で、個人が保有している遊休資産を共有したり、貸し借りしたりする仕組みである。','エ','シェアリングエコノミーのキーワードは「遊休資産」です。\r\nア. ニューエコノミーの説明です。\r\nイ. スマートシティの説明です。\r\nウ. クリック＆モルタルの説明です。',NULL),(465,19,'19-19','IoTの構成要素に関する記述として、適切なものはどれか。',NULL,'アナログ式の機器を除く、デジタル式の機器が対象となる。','インターネット又は閉域網に接続できる全てのものが対象となる。','自律的にデータを収集してデータ分析を行う機器だけが対象となる。','人や生物を除く、形のある全てのものが対象となる。','イ','IoTとは、モノがインターネットにつながる仕組みです。\r\nア. アナログ式の機器も対象です。\r\nウ. データを送信するだけの機器も対象です。\r\nエ. 人や生物（ペットや植物など）も対象です。',NULL),(466,19,'19-20','IoT (Internet of Things) の実用例として、適切でないものはどれか。',NULL,'インターネットにおけるセキュリティの問題を回避するために、サーバに接続せず、単独でファイルの管理、演算処理、印刷処理などの作業を行うコンピュータ','大型の機械などにセンサーと通信機能を内蔵して、稼働状況、故障箇所、交換が必要な部品などを、製造元がインターネットを介してリアルタイムに把握できるシステム','検針員に代わって、電力会社と通信して電力使用量を送信する電力メーター','自動車同士及び自動車と路側機が通信することによって、自動車の位置情報をリアルタイムに収集して、渋滞情報を配信するシステム','ア','IoTの構成要素はIoTデバイスとIoTサーバです。「サーバに接続」しない選択肢アは適切ではありません。',NULL),(467,19,'19-21','エッジコンピューティングの説明として、最も適切なものはどれか。',NULL,'画面生成やデータ処理をクライアント側で実行することによって、Webアプリケーションソフトウェアの操作性や表現力を高めること','データが送信されてきたときだけ必要なサーバを立ち上げて、処理が終わり次第サーバを停止してリソースを解放すること','複数のサーバやPCを仮想化して統合することによって一つの高性能なコンピュータを作り上げ、並列処理によって処理能力を高めること','利用者や機器に取り付けられたセンサーなどのデータ発生源に近い場所にあるサーバなどでデータを一次処理し、処理のリアルタイム性を高めること','エ','エッジコンピューティングとは、利用者や機器の近くにサーバを配置することで、必要なデータだけを通信し、処理の効率や応答速度を高める技術です。エッジコンピューティングは特にIoT機器に適しており、例えば、製造工場に設置されたセンサーの通信などに利用されています。\r\nア. リッチクライアントの説明です。\r\nイ. サーバレスアーキテクチャにおけるイベント駆動の説明です。\r\nウ. グリッドコンピューティングの説明です。',NULL),(478,20,'20-1','CIOの説明はどれか。',NULL,'経営戦略の立案及び業務執行を統括する最高責任者','資金調達、財務報告などの財務面での戦略策定及び執行を統括する最高責任者','自社の技術戦略や研究開発計画の立案及び執行を統括する最高責任者','情報管理、情報システムに関する戦略立案及び執行を統括する最高責任者','エ','CIO (Chief Information Officer) は「情報システムを統括する最高責任者」です。 CIO関連の問題では以下の 2 つの役割が問われます。\r\n\r\n情報化戦略の立案\r\n\r\nITサービスの活用促進\r\n\r\nなお、この問題で特に重要なのは、CIOとその他のCOOとの区別です。CIOの「I」が「Information」の略であることから、選択肢を区別してください。\r\n\r\nア. CEO (Chief Executive Officer) の説明です。\r\n\r\nイ. CFO (Chief Financial Officer) の説明です。\r\n\r\nウ. CTO (Chief Technology Officer) の説明です。',NULL),(479,20,'20-2','マトリックス組織を説明したものはどれか。',NULL,'業務遂行に必要な機能と利益責任を、製品別、顧客別又は地域別にもつことによって、自己完結的な経営活動が展開できる組織である。','構成員が、自己の専門とする職能部門と特定の事業を遂行する部門の両方に所属する組織である。','購買・生産・販売・財務など、仕事の専門性によって機能分化された部門をもつ組織である。','特定の課題の下に各部門から専門家を集めて編成し、期間と目標を定めて活動する一時的かつ柔軟な組織である。','イ','「職能部門と...事業を遂行する部門」という文章からマトリックス組織であると判断します。\r\n\r\nア. 事業部制組織の説明です。\r\n\r\nウ. 職能別組織の説明です。\r\n\r\nエ. プロジェクト組織の説明です。',NULL),(480,20,'20-3','ワークシェアリングの説明はどれか。',NULL,'仕事と生活の調和を実現する目的で多様かつ柔軟な働き方を目指す考え方','従業員が職場や職務を選択することができる制度','従業員1人当たりの勤務時間短縮、仕事配分の見直しによる雇用確保の取組み','福利厚生サービスを一定の範囲内で従業員が選択できる方式','ウ','「仕事配分」というキーワードからワーク（仕事）シェアリング（配分）であると判断します。\r\n\r\nア. ワークライフバランスの説明です。\r\n\r\nイ. フリーエージェント制の説明です。\r\n\r\nエ. カフェテリアプランの説明です。',NULL),(481,20,'20-4','OJTの特徴はどれか。',NULL,'一般化された知識や技術に重点を置いた教育が受けられる。','上司や先輩が実務に密着して実践的に知識や技術を教育するので、必要な能力が習得できる。','上司や先輩の資質によらず、一定水準の業務知識が身に付けられる。','職場から離れて教育に専念できる。','イ','「実務」というキーワードからOJTであると判断できます。\r\n\r\nア. OJTでは一般化された知識や技術ではなく、実際の業務に必要な知識と技術を学びます。\r\n\r\nウ. OJTでは上司や先輩の資質によって、身に付けられる業務知識の水準が変わります。\r\n\r\nエ. OJTでは職場内で教育を行います。職場を離れた教育はOff-JTです。',NULL),(482,20,'20-5','社内カンパニー制を説明したものはどれか。',NULL,'1部門を切り離して別会社として独立させ、機動力のある多角化戦略を展開する。','合併、買収によって、自社にない経営資源を相手企業から得て、スピーディな戦略展開を図る。','時間を掛けて研究・開発を行い、その成果を経営戦略の基礎とする。','事業分野ごとの仮想企業を作り、経営資源配分の効率化、意思決定の迅速化、創造性の発揮を促進する。','エ','カンパニー制組織は、事業部を独立した会社とみなす組織です。 ちなみにシラバスでの表記は長音記号のない「カンパニー制組織」です。\r\n\r\nア. スピンオフの説明です。\r\n\r\nイ. M&A (Mergers & Acquisitions：合併・買収) の説明です。\r\n\r\nウ. MOT (Management Of Technology：技術経営) の説明です。',NULL),(483,20,'20-6','プロジェクト組織を説明したものはどれか。',NULL,'ある問題を解決するために一定の期間に限って結成され、問題解決とともに解散する。','業務を機能別に分け、各機能について部下に命令、指導を行う。','製品、地域などに基づいて構成された組織単位に、利益責任をもたせる。','戦略的提携や共同開発など外部の経営資源を積極的に活用するために、企業間にまたがる組織を構成する。','ア','プロジェクト組織のキーワードは「一時的」です。 「一定の期間」という文章があるため、アが正解です。\r\n\r\nイ. 職能別組織の説明です。\r\n\r\nウ. 事業部制組織の説明です。\r\n\r\nエ. ジョイントベンチャーの説明です。',NULL),(484,20,'20-7','ダイバーシティマネジメントの説明はどれか。',NULL,'従業員が仕事と生活の調和を図り、やりがいをもって業務に取り組み、組織の活力を向上させることである。','性別や年齢、国籍などの面で従業員の多様性を尊重することによって、組織の活力を向上させることである。','自ら設定した目標の達成を目指して従業員が主体的に取り組み、その達成度に応じて評価が行われることである。','労使双方が労働条件についての合意を形成し、協調して収益の増大を目指すことである。','イ','ダイバーシティマネジメントとは、人材の性別、年齢、国籍などの多様性（ダイバーシティ）を尊重することで、組織の活力を高める経営手法です。\r\n\r\nア. ワークライフバランスの説明です。\r\n\r\nウ. MBO (Management By Objectives：目標による管理) の説明です。\r\n\r\nエ. 労使協調の説明です。',NULL),(485,20,'20-8','ABC分析手法の説明はどれか。',NULL,'地域を格子状の複数の区画に分け、様々なデータ(人口、購買力など)に基づいて、より細かに地域分析をする。','何回も同じパネリスト (回答者) に反復調査する。そのデータで地域の傾向や購入層の変化を把握する。','販売金額、粗利益金額などが高い商品から順番に並べ、その累計比率によって商品を幾つかの階層に分け、高い階層に属する商品の販売量の拡大を図る。','複数の調査データを要因ごとに区分し、集計することによって、販売力の分析や同一商品の購入状況などの分析をする。','ウ','データを大きい順で並べ、その累積比率で商品を分けている選択肢ウが正解です。\r\n\r\nア. 地域メッシュ統計です。\r\n\r\nイ. パネル調査です。\r\n\r\nエ. クラスタ分析です。',NULL),(486,20,'20-9','図は、製品の製造上のあ​​る要因の値 $x$ と品質特性の値 $y$ との関係をプロットしたものである。この図から読み取れることはどれか。',NULL,'$x$ から $y$ を推定するためには、2次回帰係数の計算が必要である。','$x$ から $y$ を推定するための回帰式は、$y$ から $x$ を推定する回帰式と同じである。','$x$ と $y$ の相関係数は正である。','$x$ と $y$ の相関係数は負である。','エ','散布図の相関関係は「正の相関」「負の相関」「相関なし」の 3 つです。 問題の図は右肩下がりなので、負の相関が正解になります。','/home/air/goalskill_t/back/img_explanation/section20/c3729558-686e-4ecb-b5aa-c5dd1e998e7d.png'),(487,20,'20-10','表は、製品A、Bを生産するのに必要な製品 1 単位当たりの原料使用量及び設備使用時間と、それぞれの制約条件を示している。製品 1 単位当たりの利益が、製品Aが 5 万円、製品Bが 4 万円であるとき、1 日の最大利益は何万円か。',NULL,'16','20','22','24','ウ','これは線形計画法の問題です。以下は制限条件と目的関数です。〔制限条件〕①原料：$2A + 4B \\le 16$②設備：$3A + 2B \\le 12$〔目的関数〕③1日の最大利益：$p = 5A + 4B \\rightarrow$ 最大化これら 3 つの直線をグラフで表すと以下のようになります。③の傾きが①と②の間にあることから、制限条件式で表されたエリアのうち、目的関数を平行移動してB切片が最大になるのは、座標bです。$\\begin{cases} 2A + 4B = 16 \\\\ 3A + 2B = 12 \\end{cases}$上記を解くと $A = 2, B = 3$ となるので、選択肢ウの「22」が正解となります。','/home/air/goalskill_t/back/img_explanation/section20/95d47c52-44e2-4d05-ab03-a19f52756f77.png'),(488,20,'20-11','図は特性要因図の一部を表したものである。a、bの関係はどれか。',NULL,'bはaの原因である。','bはaの手段である。','bはaの属性である。','bはaの目的である。','ア','特性要因図は、原因 (要因) と結果 (特性) の関係を表す図です。','/home/air/goalskill_t/back/img_explanation/section20/1a181263-10cc-40ce-b3a7-563619b94f5b.png'),(489,20,'20-12','商品の 1 日当たりの販売個数の予想確率が表のとおりであるとき、1 個当たりの利益を 1,000 円とすると、利益の期待値が最大になる仕入個数は何個か。ここで、仕入れた日に売れ残った場合、1 個当たり 300 円の廃棄ロスが出るものとする。',NULL,'4','5','6','7','ウ','例えば、仕入個数が 5 個の場合、販売個数の期待値は 4.7 個 ($4 \\times 30\\% + 5 \\times 70\\%$) となります。 よって、廃棄個数の期待値は 0.3 個 ($5 - 4.7$) となります。 したがって、利益の期待値は 4,610 円 ($4.7 \\times 1000 - 0.3 \\times 300$) となります。 これを他の仕入個数でも計算すると、下表のようになります。上表より利益の期待値が最大になるのは仕入個数が「6」のときです。','/home/air/goalskill_t/back/img_explanation/section20/c95d919f-2239-4aad-b12a-3f5c0ce7a0cd.png'),(490,20,'20-13','表は、ある企業の損益計算書である。損益分岐点は何百万円か。',NULL,'250','490','500','625','エ','損益分岐点の点火では必ずグラフを描くようにしましょう。以下が設問の値を記入したグラフです。 仮に設問の損益計算書の販売個数を定数 $n$ とします。すると 2 つの直線の式は以下のようになります。売上：$y = (700 \\div n)x$費用：$y = (140 \\div n)x + 500$2つの式を $y$ について解くと、$y = 625$ となります。','/home/air/goalskill_t/back/img_explanation/section20/aa6f2486-9dd4-4623-a70a-9a69f48cde61.png'),(491,20,'20-14','売上高が100百万円のとき、変動費が60百万円、固定費が30百万円掛かる。変動費率、固定費は変わらないものとして、目標利益18百万円を達成するのに必要な売上高は何百万円か。',NULL,'108','120','156','180','イ','この問題は「変動費率の公式」を使って解答します。 売上と費用には以下の関係があります。① $\\text{利益} = \\text{売上} - \\text{変動費} - \\text{固定費}$② $\\text{変動費率} = \\text{変動費} \\div \\text{売上}$まず ② の変動費率を求めましょう。$\\text{変動費率} = 60 \\div 100 = 0.6$求めたい売上高を $x$ と置くと、変動費は以下となります。$\\text{変動費} = 0.6x$この変動費を ① の式に代入すると以下となります。$$18 = x - 0.6x - 30$$$$18 = 0.4x - 30$$$$x = 120$$よって、売上高は120百万円になります。',NULL),(492,20,'20-15','財務諸表のうち、一定時点における企業の資産、負債及び純資産を表示し、企業の財政状態を明らかにするものはどれか。',NULL,'株主資本等変動計算書','キャッシュフロー計算書','損益計算書','貸借対照表','エ','選択肢に示された 4 つの書類をまとめて「財務諸表（ざいむしょひょう）」といいます。 このうち、ある時点での会社の「資産」「負債」「純資産」の 3 つを表すのは「貸借対照表（たいしゃくたいしょうひょう）」です。',NULL),(493,20,'20-16','売上総利益の計算式はどれか。',NULL,'売上高 - 売上原価','売上高 - 売上原価 - 販売費及び一般管理費','売上高 - 売上原価 - 販売費及び一般管理費 + 営業外損益','売上高 - 売上原価 - 販売費及び一般管理費 + 営業外損益 + 特別損益','ア','売上総利益は「売上高 - 売上原価」で表されます。 売上総利益は「粗利益（あらりえき）」とも呼ばれます。 イは営業利益、ウは経常利益、エは税引前当期純利益です。',NULL),(494,20,'20-17','キャッシュフロー計算書において、営業活動によるキャッシュフローに該当するものはどれか。',NULL,'株式の発行による収入','商品の仕入れによる支出','短期借入金の返済による支出','有形固定資産の売却による収入','イ','営業活動によるキャッシュフローは本業に関わるお金の出入りを表します。 選択肢の中で本業に関わるお金は「商品の仕入れ」なので、イが正解です。 アとウは財務活動によるキャッシュフローに該当します。 エは投資活動によるキャッシュフローに該当します。',NULL),(495,20,'20-18','貸借対照表の純資産の部に表示される項目はどれか。',NULL,'売掛金','資本金','社債','投資有価証券','イ','資本金は、株主が会社に出資した金額です。純資産に分類されます。\r\n\r\nア. 売掛金は資産の部に分類されます。\r\nウ. 社債は負債の部に分類されます。\r\nエ. 投資有価証券は資産の部に分類されます。',NULL),(496,20,'20-19','図の損益計算書における経常利益は何百万円か。ここで、枠内の数値は明示していない。\r\n\r\n（単位：百万円）',NULL,'424','434','474','634','イ','以下は設問の損益計算書の枠内を計算した表です。経常利益は434（百万円）になります。','/home/air/goalskill_t/back/img_explanation/section20/3fd8fa1e-ada6-498d-a686-c84db616259e.png'),(497,20,'20-20','ある商品の前月繰越と受払いが表のとおりであるとき、先入先出法によって算出した当月の売上原価は何円か。',NULL,'26,290','26,450','27,250','27,586','イ','払出は15日と25日の 2 回行われています。先入先出法で売上原価を計算するので、先に仕入れた商品から払出を行います。15日の払出：$200\\text{円} \\times 70\\text{個} = 14,000\\text{円}$25日の払出：$200\\text{円} \\times 30\\text{個} + 215\\text{円} \\times 30\\text{個} = 12,450\\text{円}$上記 2 つの払出を合計すると「26,450円」となります。','/home/air/goalskill_t/back/img_explanation/section20/02ace535-f6ba-4934-8262-fc5e79dd239a.png'),(498,20,'20-21','平成27年4月に30万円で購入したPCを 3 年後に 1 万円で売却するとき、固定資産売却損は何万円か。ここで、耐用年数は 4 年、減価償却は定額法、定額法の償却率は 0.250、残存価額は 0 円とする。',NULL,'6.0','6.5','7.0','7.5','イ','右図は設問で与えられた帳簿価額（帳簿に記録された資産の評価額）を時系列に表した棒グラフです。 取得価額は30万円、減価償却費は7.5万円 ($30 \\times 0.25$) です。 3 年後の帳簿価額は7.5万円です。 この資産を 1 万円で売るので、固定資産売却損は6.5万円 ($7.5 - 1$) になります。','/home/air/goalskill_t/back/img_explanation/section20/b5380a06-1d55-42ed-b9f2-03eae184201a.png'),(509,21,'21-1','著作権法によるソフトウェアの保護範囲に関する記述のうち、適切なものはどれか。',NULL,'アプリケーションプログラムは著作権法によって保護されるが、OSなどの基本プログラムは権利の対価がハードウェアの料金に含まれるので、保護されない。','アルゴリズムやプログラム言語は、著作権法によって保護される。','アルゴリズムを記述した文書は著作権法で保護されるが、そのアルゴリズムを用いて作成されたプログラムは保護されない。','ソースプログラムとオブジェクトプログラムの両方とも著作権法によって保護される。','エ','ソースコードとは、人間が読みやすいプログラム言語で書かれたプログラムです。 ソースコードはコンパイラによって、オブジェクトコードに変換されます。どちらもプログラムなので、著作権法によって保護されます。\r\n\r\nア. OSはプログラムの一種なので、保護されます。\r\n\r\nイ. 「プログラム言語」「アルゴリズム（解法）」「プロトコル（規約）」の 3 つは、著作権法では保護されません。\r\n\r\nウ. 「アルゴリズムを記述した文書」と「アルゴリズムを用いて作成されたプログラム」はともに著作物なので保護されます。ただし、アルゴリズムそのものが保護されるわけではありません。',NULL),(510,21,'21-2','著作権法において、保護の対象とならないものはどれか。',NULL,'インターネットで公開されたフリーソフトウェア','ソフトウェアの操作マニュアル','データベース','プログラム言語や規約','エ','著作権法が保護する著作物とは「思想又は感情を創作的に表現したものであって、文芸、学術、美術又は音楽の範囲に属するもの」（著作権法第2条1項1号）です。 プログラム言語や、アルゴリズム（解法）、プロトコル（規約）を著作権法で保護してしまうと、これらを使ったプログラムを誰も作れなくなってしまいます。\r\n\r\nア. フリーソフトウェアとは、無料で使うことができるソフトウェアです。著作権者が無料で使うことを許可しているだけであって、プログラムなので著作権で保護されます。\r\n\r\nイ. 操作マニュアルは、著作物なので保護されます。\r\n\r\nウ. データは著作物ではありませんが、データベースは著作物なので保護されます。「データベースでその情報の選択又は体系的な構成によって創作性を有するものは、著作物として保護する。」（著作権法第12条2項）',NULL),(511,21,'21-3','日本において、産業財産権と総称される四つの権利はどれか。',NULL,'意匠権、実用新案権、商標権、特許権','意匠権、実用新案権、著作権、特許権','意匠権、商標権、著作権、特許権','実用新案権、商標権、著作権、特許権','ア','産業財産権の種類は、特許権、実用新案権、意匠権、商標権の 4 つです。 著作権は創作物に対する権利であり、産業財産権には含まれません。',NULL),(512,21,'21-4','不正競争防止法において、営業秘密となる要件は、“秘密として管理されていること”、“事業活動に有用な技術上又は営業上の情報であること”と、もう一つはどれか。',NULL,'営業譲渡が可能なこと','期間が10年を超えないこと','公然と知られていないこと','特許出願をしていること','ウ','営業秘密の要件は「秘密管理性」「有用性」「非公知性」の 3 つです。 よって、非公知性を表すウが正解です。',NULL),(513,21,'21-5','不正アクセス禁止法において、不正アクセス行為に該当するものはどれか。',NULL,'会社の重要情報にアクセスし得る者が株式発行の決定を知り、情報の公表前に当該会社の株を売買した。','コンピュータウイルスを作成し、他人のコンピュータの画面表示をでたらめにする被害をもたらした。','自分自身で管理運営するホームページに、昨日の新聞に載った報道写真を新聞社に無断で掲載した。','他人の利用者ID、パスワードを許可なく利用して、アクセス制御機能によって制限されているWebサイトにアクセスした。','エ','「他人の利用者ID、パスワードを許可なく利用する」ことは「なりすましによるアクセス」(p.723) なので、不正アクセス禁止法が禁じる不正アクセス行為に該当します。\r\n\r\nア. インサイダー取引に該当します。\r\n\r\nイ. 刑法（電子計算機損壊等業務妨害罪、コンピュータウイルスに関する罪）に違反する行為です。\r\n\r\nウ. 原則、写真は著作物なので、著作権法に違反する行為です。',NULL),(514,21,'21-6','派遣元会社A社と派遣先会社B社が派遣契約を結び、A社は社員であるN氏を派遣した。労働者派遣法に照らして適切な行為はどれか。',NULL,'B社の繁忙期とN氏の休暇申請が重なったので、B社から直接N氏に休暇の変更を指示した。','N氏からの作業環境に関する苦情に対し、B社は雇用関係にないので、対応はA社だけで行った。','N氏は派遣期間中の仕事に関する指示を、B社の担当者から直接受けることにした。','派遣期間中にN氏の作業時間が空いたので、B社は派遣取決め以外の作業を依頼した。','ウ','労働者派遣契約では、労働者は派遣先の会社から指示を受けます。\r\n\r\nア. 休暇の変更を指示する権利は派遣元会社にあります。\r\n\r\nイ. 苦情に対応する責任は派遣元会社と派遣先会社の両方にあります。\r\n\r\nエ. 業務内容と異なる作業を指示すると、労働者派遣法違反となります。',NULL),(515,21,'21-7','プログラム開発において、法人の発意に基づく法人名義の著作物について、著作権法で規定されているものはどれか。',NULL,'就業規則などに特段の取決めがない限り、権利は法人に帰属する。','担当した従業員に権利は帰属するが、法人に譲渡することができる。','担当した従業員に権利は帰属するが、法人はそのプログラムを使用できる。','法人が権利を取得する場合は、担当した従業員に相当の対価を支払う必要がある。','ア','雇用契約では、労働者が作成した著作物の著作権は原則「雇用主」に帰属します。 その他の選択肢はすべて著作権が労働者に帰属しているので誤りです。',NULL),(516,21,'21-8','サイバーセキュリティ基本法の説明はどれか。',NULL,'国民に対し、サイバーセキュリティの重要性につき関心と理解を深め、その確保に必要な注意を払うよう努めることを求める規定がある。','サイバーセキュリティに関する国及び情報通信事業者の責務を定めたものであり、地方公共団体や教育研究機関についての言及はない。','サイバーセキュリティに関する国及び地方公共団体の責務を定めたものであり、民間事業者が努力すべき事項についての規定はない。','地方公共団体を“重要社会基盤事業者”と位置づけ、サイバーセキュリティ関連施策の立案・実施に責任を負うと規定している。','ア','サイバーセキュリティ基本法は、サイバー攻撃から国全体を守るための基本理念を定めた法律です。 すべての組織と全国民（国、地方公共団体、重要社会基盤事業者、サイバー関連事業者、その他の事業者、教育研究機関、国民）が対象となる法律です。',NULL),(517,21,'21-9','個人情報保護委員会“個人情報の保護に関する法律についてのガイドライン（通則編） 平成28年11月（平成29年3月一部改正）”によれば、個人情報に該当しないものはどれか。',NULL,'受付に設置された監視カメラに録画された、本人が判別できる映像データ','個人番号の記載がない、社員に交付する源泉徴収票','指紋認証のための指紋データのバックアップデータ','匿名加工情報に加工された利用者アンケート情報','エ','個人情報に該当するか否かは、「氏名」と「身体的特徴」の 2 つに当てはまるか否かで考えましょう。 アとウは身体的特徴、イは氏名に当てはまるので、個人情報となります。 匿名加工情報は個人が識別できないように個人情報を加工したものなので個人情報に該当しないのはエです。',NULL),(518,21,'21-10','請負契約を締結していても、労働者派遣とみなされる受託者の行為はどれか。',NULL,'休暇取得の承認を発注者側の指示に従って行う。','業務の遂行に関する指導や評価を自ら実施する。','勤務に関する規律や職場秩序の保持を実施する。','発注者の業務上の要請を受託者側の責任者が窓口となって受け付ける。','ア','請負契約では、発注者の会社は労働者に指示を出せません。 よって、選択肢アの「発注者側の指示に従って行う」は労働者派遣とみなされます。',NULL),(519,21,'21-11','労働者派遣法に基づく、派遣先企業と労働者との関係（図の太線部分）はどれか。',NULL,'請負契約関係','雇用契約関係','指揮命令関係','労働者派遣契約関係','ウ','設問の図に 3 つの関係を書き込むと以下となります。\r\n\r\nよって、ウが正解です。 アの請負契約関係は請負契約における発注者と受注者の関係なので、設問の図には当てはまりません。','/home/air/goalskill_t/back/img_explanation/section21/01c6ae15-805d-4272-99a6-1393dac43a5b.png'),(524,22,'22-1','次のプログラム中の $\\square$ に入れる正しい答えを、解答群の中から選べ。 (令和6年度)関数maximumは、異なる三つの整数を引数で受け取り、そのうちの最大値を返す。（プログラム）〇整数型: maximum( 整数型: x, 整数型: y, 整数型: z )if( [ $\\quad$ ] )return xelseif ( y > z )return yelsereturn zendif[例題・選択肢]（解答群）ア. x > yイ. x > y and x > zウ. x > y and y > zエ. x > zオ. x > z and z > yカ. z > y',NULL,'x > y','x > y and x > z','x > y and y > z','x > z','イ','設問のプログラムは「異なる三つの整数を引数で受け取り、そのうちの最大値を返す」という関数です。プログラムの内容を見てみましょう。\r\n・関数名：maximum　引数名：x、y、z\r\n②で最大値を x として返しているため、①の条件式 [ $\\quad$ ] のみで、x、y、z のうち x が最大値であると判断できる必要があります。\r\n3つの値の中で x が最大値である条件式は「x > y かつ x > z」です。よって、イが正解です。\r\nア. 「z > x」となるケースでも x が最大値と判断されてしまうため、誤りです。\r\nウ. 「x > z > y」となるケースで x が最大値と判断されないため、誤りです。\r\nエ. 「y > x」となるケースでも x が最大値と判断されてしまうため、誤りです。\r\nオ. 「x > y > z」となるケースで x が最大値と判断されないため、誤りです。\r\nカ. 「z > x」となるケースでも x が最大値と判断されてしまうため、誤りです。','/home/air/goalskill_t/back/img_explanation/section22/8a3be166-0d30-411d-ab59-53b68aa4506c.png'),(525,22,'22-2','次のプログラム中の $\\square$ に入れる正しい答えを、解答群の中から選べ。 (令和6年度)関数convDecimalは、引数として与えられた、\"0\"と\"1\"だけで成る、1文字以上の文字列を、符号なしの2進数と解釈したときの整数値を返す。例えば、引数として\"10010\"を与えると18が返る。関数convDecimalが利用する関数intは、引数で与えられた文字が\"0\"なら整数値0を返し、\"1\"なら整数値1を返す。（プログラム）〇整数型: convDecimal(文字列型: binary)整数型: i, length, result ← 0length ← binaryの文字数for(iを1からlengthまで1ずつ増やす)result ← [ $\\quad$ ]endforreturn result',NULL,'result + int(binaryの(length - i + 1)文字目の文字)','result + int(binaryのi文字目の文字)','result × 2 + int(binaryの(length - i + 1)文字目の文字)','result × 2 + int(binaryのi文字目の文字)','エ','設問のプログラムは「引数として与えられた、\"0\"と\"1\"だけで成る、1文字以上の文字列を、符号なしの2進数と解釈したときの整数値を返す」とあります。つまり、2進数を10進数に変換するプログラムです。2進数を10進数に変換するには、2進数の各桁の数に「2のn乗」（n = 桁数-1）を掛けて、その計算結果を合計します。例えば、2進数の「10010」を10進数に変換する場合、以下のように計算します。2進数：1 0 0 1 0　　　 × × × × ×　　　 $2^4$ $2^3$ $2^2$ $2^1$ $2^0$　　　 || || || || ||　　　 16 + 0 + 0 + 2 + 010進数：18それでは、プログラムの内容を見てみましょう。・関数名：convDecimal　引数名：binary・変数：i、length、resultここでは、引数binaryを「10010」として考えてみます。①：「10010」の文字数は5文字なので、変数lengthには「5」が代入される②：繰返し処理の条件は「変数iを1から5まで1ずつ増やす」になる③：各選択肢ア～エのいずれかの処理が入る。変数の値を書き出したトレース表はそれぞれ以下のようになる▼選択肢ア「result + int(binaryの(length - i + 1)文字目の文字)」の場合「2」が返るため、正しい結果ではありません。▼選択肢イ「result + int(binaryのi文字目の文字)」の場合「2」が返るため、正しい結果ではありません。▼選択肢ウ「result × 2 + int(binaryの(length - i + 1)文字目の文字)」の場合「9」が返るため、正しい結果ではありません。▼選択肢エ「result × 2 + int(binaryのi文字目の文字)」の場合「18」が返るため、正しい結果です。この処理では、1文字目の「1」には、iが2から5までの4回、2を掛け算しています。つまり、1文字目の「1」に「$2^4$」を掛け算しています。また、4文字目の「1」には、iが5のときの1回、2を掛け算しています。つまり、4文字目の「1」に「$2^1$」を掛け算しています。したがって、2進数の各桁の数に「2の(桁数-1)乗」を掛けて、その結果を合計する処理になっていることから、「2進数を10進数に変換する手順」と同じ処理を行っていることがわかります。','/home/air/goalskill_t/back/img_explanation/section22/88b781ee-f5be-4d7d-858d-e3c41456d6b3.png'),(526,22,'22-3','次のプログラム中の $\\square$ に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は 1 から始まる。 (令和6年度)図1に示すグラフの頂点には、1から順に整数で番号が付けられている。グラフは無向グラフであり、各頂点間には高々一つの辺がある。一つの辺は両端の頂点の番号を要素にもつ要素数2の整数型の配列で表現できる。例えば、{1, 3} は頂点1と頂点3を端点とする辺を表す。グラフ全体は、グラフに含まれる辺を表す要素数2の配列を全て格納した配列（以下、辺の配列という）で表現できる。図1のグラフは整数型配列の配列{{1, 3}, {1, 4}, {3, 4}, {2, 4}, {4, 5}}と表現できる。●図1 グラフの例関数edgesToMatrixは、辺の配列を隣接行列に変換する。隣接行列とは、グラフに含まれる頂点の個数と等しい行数及び列数の正方行列で、i行j列の成分は頂点iと頂点jを結ぶ辺があるときに1となり、それ以外は0となる。行列の対角成分は全て0で、無向グラフの場合は対称行列になる。図1のグラフを表現する隣接行列を図2に示す。●図2 図1のグラフを表現する隣接行列$$\\begin{pmatrix} 0 & 0 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 1 & 0 \\\\ 1 & 0 & 0 & 1 & 0 \\\\ 1 & 1 & 1 & 0 & 1 \\\\ 0 & 0 & 0 & 1 & 0 \\end{pmatrix}$$関数edgesToMatrixは、引数edgeListで辺の配列を、引数nodeNumでグラフの頂点の個数をそれぞれ受け取り、隣接行列を表す整数型の二次元配列を返す。（プログラム）〇整数型の二次元配列: edgesToMatrix(整数型配列の配列: edgeList, 整数型: nodeNum)整数型の二次元配列: adjMatrix ← {nodeNum行nodeNum列の0}整数型: i, u, vfor(iを1からedgeListの要素数まで1ずつ増やす)u ← edgeList[i][1]v ← edgeList[i][2][ $\\quad$ ]endforreturn adjMatrix\r\n\r\n[例題・選択肢]\r\n（解答群）\r\nア. adjMatrix[u, u] ← 1\r\nイ. adjMatrix[u, u] ← 1\r\nadjMatrix[v, v] ← 1\r\nウ. adjMatrix[u, v] ← 1\r\nエ. adjMatrix[u, v] ← 1\r\nadjMatrix[v, u] ← 1\r\nオ. adjMatrix[v, u] ← 1\r\nカ. adjMatrix[v, v] ← 1',NULL,'adjMatrix[u, u] ← 1','adjMatrix[u, u] ← 1\r\nadjMatrix[v, v] ← 1','adjMatrix[u, v] ← 1','adjMatrix[u, v] ← 1\r\nadjMatrix[v, u] ← 1','エ','一見複雑な問題に見えますが、難しい問題ではないので気負わずに取り組みましょう。「関数edgesToMatrixは、引数edgeListで辺の配列を、引数nodeNumでグラフの頂点の個数をそれぞれ受け取り、隣接行列を表す整数型の二次元配列を返す」とあります。\r\n例えば、辺の配列{{1, 3}, {1, 4}, {3, 4}, {2, 4}, {4, 5}}を引数とした場合、設問の図2の二次元配列を返すプログラムです。\r\n戻り値となる二次元配列は隣接行列で、i行j列とj行i列には同じ値が入ります。\r\n例えば、配列{{1, 3}, {1, 4}, {3, 4}, {2, 4}, {4, 5}}のうち{1, 3}は、二次元配列の1行3列と3行1列に「1」を入れます。\r\nそれでは、プログラムの内容を見てみましょう。\r\n・関数名：edgesToMatrix　引数名：edgeList、nodeNum\r\n・変数：adjMatrix、i、u、v\r\n・adjMatrixには、二次元配列{nodeNum行nodeNum列の0}を代入します。\r\nここでは、引数edgeListを{{1, 3}, {1, 4}, {3, 4}, {2, 4}, {4, 5}}として考えます。このとき、引数nodeNumは、グラフの頂点の個数なので「5」です。したがって、変数adjMatrixには、5行5列の「0」が入った二次元配列を代入します。\r\n①：繰返し処理の条件は「変数iを1から5まで1ずつ増やす」になる\r\n②：「i = 1」のとき、変数uに、二次元配列edgeListの1番目の配列{1, 3}の、1つめの要素「1」を代入する\r\n③：「i = 1」のとき、変数vに、二次元配列edgeListの1番目の配列{1, 3}の、2つめの要素「3」を代入する\r\n配列{1, 3}のとき、変数adjMatrixの1行3列と3行1列に「1」を入れたいので、uとvを使ってこれを表すと、以下になります。\r\nadjMatrix[u, v] ← 1\r\nadjMatrix[v, u] ← 1\r\n「i = 2」以降も、同様に考えることができます。よって、選択肢エが正解です。\r\n「i = 1」のときの他の選択肢も確認します。\r\nア. 変数adjMatrixの1行1列に「1」が入ってしまうため、誤りです。\r\nイ. 変数adjMatrixの1行1列と3行3列に「1」が入ってしまうため、誤りです。\r\nウ. 変数adjMatrixの1行3列にしか「1」が入らないため、誤りです。\r\nオ. 変数adjMatrixの3行1列にしか「1」が入らないため、誤りです。\r\nカ. 変数adjMatrixの3行3列に「1」が入ってしまうため、誤りです。','/home/air/goalskill_t/back/img_explanation/section22/182329cb-9196-4f68-8afb-90c3ccbd12d7.png'),(527,22,'22-4','次の記述中の $\\square$ に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は 1 から始まる。 (令和6年度)関数mergeは、昇順に整列された整数型の配列data1及びdata2を受け取り、これらを併合してできる昇順に整列された整数型の配列を返す。関数mergeをmerge({2, 3}, {1, 4})として呼び出すと、/*** α ***/ の行は [ $\\quad$ ] 。（プログラム）〇整数型の配列: merge(整数型の配列: data1, 整数型の配列: data2 )整数型: n1 ← data1の要素数整数型: n2 ← data2の要素数整数型の配列: work ← {(n1 + n2)個の未定義の値}整数型: i ← 1整数型: j ← 1整数型: k ← 1while((i ≦ n1) and (j ≦ n2))if(data1[i] ≦ data2[j])work[k] ← data1[i]i ← i + 1elsework[k] ← data2[j]j ← j + 1endifk ← k + 1endwhilewhile(i ≦ n1)work[k] ← data1[i]i ← i + 1k ← k + 1endwhilewhile(j ≦ n2)work[k] ← data2[j] /*** α ***/j ← j + 1k ← k + 1endwhilereturn work',NULL,'実行されない','1回実行される','2回実行される','3回実行される','イ','設問のプログラムは「昇順に整列された整数型の配列data1及びdata2を受け取り、これらを併合してできる昇順に整列された整数型の配列を返す」関数です。プログラムの内容を見てみましょう。\r\n・関数名：merge　引数名：data1、data2\r\n・変数：n1、n2、work、i、j、k\r\n・n1、n2にはそれぞれdata1、data2の要素数を代入する\r\n・i、j、kには「1」を代入する\r\n・workには、配列{(n1 + n2)個の未定義の値}を代入する\r\n・data1[i]は「配列data1のi番目の要素」を表す\r\nこの関数をmerge({2, 3}, {1, 4})として呼び出すとき、引数data1は{2, 3}、data2は{1, 4}で、それぞれの要素数(n1、n2)は「2」です。このときのプログラムの処理は、以下のようになります。\r\n①：(i = 1 ≦ n1 = 2) かつ (j = 1 ≦ n2 = 2)\r\n②：data1[1] = 2 > data2[1] = 1より、処理をせず③へ\r\n③：work[1]に、data2[1]の値である1を代入\r\n　　j = 1 + 1 = 2\r\n⑤：k = 1 + 1 = 2\r\n①：(i = 1 ≦ n1 = 2) かつ (j = 2 ≦ n2 = 2)\r\n②：data1[1] = 2 ≦ data2[2] = 4より、\r\n　　work[2]に、data1[1]の値である2を代入\r\n　　i = 1 + 1 = 2\r\n⑤：k = 2 + 1 = 3\r\n①：(i = 2 ≦ n1 = 2) かつ (j = 2 ≦ n2 = 2)\r\n②：data1[2] = 3 ≦ data2[2] = 4より、\r\n　　work[3]に、data1[2]の値である3を代入\r\n　　i = 2 + 1 = 3\r\n⑤：k = 3 + 1 = 4\r\n①：i = 3 > n1 = 2 より、繰返し処理Aを終了\r\n⑦：i = 3 > n1 = 2 より、繰返し処理Cを終了\r\n⑧：j = 2 ≦ n2 = 2 より、繰返し処理Dを実行\r\n　　work[4]に、data2[2]の値である4を代入　/*** α /\r\n　　j = 2 + 1 = 3\r\n　　k = 4 + 1 = 5\r\n⑧：j = 3 > n2 = 2 より、繰返し処理Dを終了\r\n⑨：work = {1, 2, 3, 4}を返す\r\nしたがって、/ α ***/ の行は、1回実行されます。','/home/air/goalskill_t/back/img_explanation/section22/f4a91c98-c32f-4d92-bc68-710c5b6219c7.png'),(528,22,'22-5','次のプログラム中の [ a ] 〜 [ c ] に入れる正しい答えの組合せを、解答群の中から選べ。ここで、配列の要素番号は 1 から始まる。 (令和6年度)一度の注文で購入された商品のリストを、注文ごとに記録した注文データがある。表に、注文データの例を示す。●表：注文データの例注文番号：1　購入された商品のリスト：A, B, D注文番号：2　購入された商品のリスト：A, D注文番号：3　購入された商品のリスト：A注文番号：4　購入された商品のリスト：A, B, E注文番号：5　購入された商品のリスト：B注文番号：6　購入された商品のリスト：C, E注文データから、商品xと商品yとが同一の注文で購入されやすい傾向を示す関連度 $L_{xy}$ を、次の式で計算する。$$L_{xy} = \\frac{M_{xy} \\times 全注文数}{K_x \\times K_y}$$ここで、$M_{xy}$ は商品xと商品yとが同一の注文で購入された注文数、$K_x$ は商品xが購入された注文数、$K_y$ は商品yが購入された注文数を表す。表の例では、$M_{AB}$ が2、全注文数が6、$K_A$ が4、$K_B$ が3であるので、商品Aと商品Bの関連度 $L_{AB}$ は (2 × 6) / (4 × 3) = 1.0である。手続putRelatedItemは、大域変数ordersに格納された注文データを基に、引数で与えられた商品との関連度が最も大きい商品のうちの一つと、その関連度を出力する。プログラムでは、商品は文字列で表し、注文は購入された商品の配列、注文データは注文の配列で表している。注文データには2種類以上の商品が含まれるものとする。また、注文データにある商品以外の商品が、引数として与えられることはないものとする。（プログラム）// 注文データ (ここでは表の例を与えている)大域: 文字列型配列の配列 : orders ← {{\"A\", \"B\", \"D\"}, {\"A\", \"D\"}, {\"A\"}, {\"A\", \"B\", \"E\"}, {\"B\"}, {\"C\", \"E\"}}〇putRelatedItem(文字列型: item)文字列型の配列: allItems ← ordersに含まれる文字列を重複なく辞書順に格納した配列// 表の例では{\"A\", \"B\", \"C\", \"D\", \"E\"}文字列型の配列: otherItems ← allItemsの複製から値がitemである要素を除いた配列整数型: i, itemCount ← 0整数型の配列: arrayK ← {otherItemsの要素数個の0}整数型の配列: arrayM ← {otherItemsの要素数個の0}実数型: valueL, maxL ← -∞文字列型の配列: order文字列型: relatedItemfor(orderにordersの要素を順に代入する)if(orderのいずれかの要素の値がitemの値と等しい)itemCountの値を1増やすendiffor(iを1からotherItemsの要素数まで1ずつ増やす)if(orderのいずれかの要素の値がotherItems[i]の値と等しい)if(orderのいずれかの要素の値がitemの値と等しい)[ a ] の値を1増やすendif[ b ] の値を1増やすendifendforendforfor(iを1からotherItemsの要素数まで1ずつ増やす)valueL ← (arrayM[i] × [ c ] ) ÷ (itemCount × arrayK[i])/* 実数として計算する */if(valueLがmaxLより大きい)maxL ← valueLrelatedItem ← otherItems[i]endifendforrelatedItemの値とmaxLの値をこの順にコンマ区切りで出力する[例題・選択肢]（解答群）[Table with columns a, b, c]ア. arrayK[i], arrayM[i], allItemsの要素数イ. arrayK[i], arrayM[i], ordersの要素数ウ. arrayK[i], arrayM[i], otherItemsの要素数エ. arrayM[i], arrayK[i], allItemsの要素数オ. arrayM[i], arrayK[i], ordersの要素数カ. arrayM[i], arrayK[i], otherItemsの要素数',NULL,'arrayK[i], arrayM[i], allItemsの要素数','arrayK[i], arrayM[i], ordersの要素数','arrayK[i], arrayM[i], otherItemsの要素数','arrayM[i], arrayK[i], allItemsの要素数','オ','設問のプログラムは、「大域変数ordersに格納された注文データを基に、引数で与えられた商品との関連度が最も大きい商品のうちの一つと、その関連度を出力する」手続です。関連度は、設問中にある次の式で計算します。$$L_{xy} = \\frac{M_{xy} \\times 全注文数}{K_x \\times K_y}$$それでは、プログラムの内容を見てみましょう。・大域変数：orders・手続名：putRelatedItem　引数名：item・変数：allItems、otherItems、i、itemCount、arrayK、arrayM、valueL、maxL、order、relatedItem設問のとおり、ordersは{{\"A\", \"B\", \"D\"}, {\"A\", \"D\"}, {\"A\"}, {\"A\", \"B\", \"E\"}, {\"B\"}, {\"C\", \"E\"}}で考えます。allItemsは{\"A\", \"B\", \"C\", \"D\", \"E\"}です。ここでは、引数itemを\"A\"として考えましょう。このとき、otherItemsは{\"B\", \"C\", \"D\", \"E\"}になります。▶⑪の処理内容⑪は設問の次の式を表していることがわかります。$$L_{xy} = \\frac{M_{xy} \\times 全注文数}{K_x \\times K_y}$$したがって、各変数が以下を表していることがわかります。・valueL：関連度・arrayM：引数item（ここでは\"A\"）と同一の注文で購入された注文数を並べた配列・[ c ]：全注文数・itemCount：引数item（ここでは\"A\"）が購入された注文数・arrayK：他の商品が購入された注文数を並べた配列全注文数とは、設問の表「注文データの例」の行数（注文番号の数）です。したがって、[ c ] はordersの要素数が適切です。▶プログラムの処理これらをもとにして、プログラムの処理を見ていきます。① orderに、ordersの1つめの配列要素{\"A\", \"B\", \"D\"}を代入② orderに\"A\"が含まれるため、itemCountを1にする③ iに1を代入④ orderに\"B\"が含まれるため、⑤～⑥を実行⑤ orderに\"A\"が含まれるため、 [ a ] の値を1増やす⑥ [ b ] の値を1増やすここで、 [ a ] はorderに\"A\"と\"B\"が両方含まれている場合に1増やしているため、\"A\"と\"B\"が同一の注文で購入された注文数を表していることがわかります。したがって、 [ a ] はarrayM[i]が適切です。また、 [ b ] はorderに\"B\"が含まれている場合に1増やしているため、\"B\"が購入された注文数を表していることがわかります。したがって、 [ b ] はarrayK[i]が適切です。よって、選択肢オが正解です。','/home/air/goalskill_t/back/img_explanation/section22/e1b00ceb-ce5a-492f-9ea2-466b5fa0c6e3.png'),(529,22,'22-6','設問のプログラムは、「大域変数ordersに格納された注文データを基に、引数で与えられた商品との関連度が最も大きい商品のうちの一つと、その関連度を出力する」手続です。関連度は、設問中にある次の式で計算します。$$L_{xy} = \\frac{M_{xy} \\times 全注文数}{K_x \\times K_y}$$それでは、プログラムの内容を見てみましょう。・大域変数：orders・手続名：putRelatedItem　引数名：item・変数：allItems、otherItems、i、itemCount、arrayK、arrayM、valueL、maxL、order、relatedItem設問のとおり、ordersは{{\"A\", \"B\", \"D\"}, {\"A\", \"D\"}, {\"A\"}, {\"A\", \"B\", \"E\"}, {\"B\"}, {\"C\", \"E\"}}で考えます。allItemsは{\"A\", \"B\", \"C\", \"D\", \"E\"}です。ここでは、引数itemを\"A\"として考えましょう。このとき、otherItemsは{\"B\", \"C\", \"D\", \"E\"}になります。▶⑪の処理内容⑪は設問の次の式を表していることがわかります。$$L_{xy} = \\frac{M_{xy} \\times 全注文数}{K_x \\times K_y}$$したがって、各変数が以下を表していることがわかります。・valueL：関連度・arrayM：引数item（ここでは\"A\"）と同一の注文で購入された注文数を並べた配列・[ c ]：全注文数・itemCount：引数item（ここでは\"A\"）が購入された注文数・arrayK：他の商品が購入された注文数を並べた配列全注文数とは、設問の表「注文データの例」の行数（注文番号の数）です。したがって、[ c ] はordersの要素数が適切です。▶プログラムの処理これらをもとにして、プログラムの処理を見ていきます。① orderに、ordersの1つめの配列要素{\"A\", \"B\", \"D\"}を代入② orderに\"A\"が含まれるため、itemCountを1にする③ iに1を代入④ orderに\"B\"が含まれるため、⑤～⑥を実行⑤ orderに\"A\"が含まれるため、 [ a ] の値を1増やす⑥ [ b ] の値を1増やすここで、 [ a ] はorderに\"A\"と\"B\"が両方含まれている場合に1増やしているため、\"A\"と\"B\"が同一の注文で購入された注文数を表していることがわかります。したがって、 [ a ] はarrayM[i]が適切です。また、 [ b ] はorderに\"B\"が含まれている場合に1増やしているため、\"B\"が購入された注文数を表していることがわかります。したがって、 [ b ] はarrayK[i]が適切です。よって、選択肢オが正解です。',NULL,'A社の社内ネットワークからA社利用クラウドサービスへの通信を監視する。','A社の社内ネットワークとA社利用クラウドサービスとの間の通信速度を制限する。','A社利用クラウドサービスにA社外から接続する際の認証に2要素認証を導入する。','A社利用クラウドサービスのうち、A社利用グループウェアだけを直接接続の対象とする。','ウ','A社はテレワークを推進しており、社内PCと私有PCをリモートデスクトップ方式で利用しています。現状では、クラウドサービスには社内ネットワークを経由してアクセスする設定ですが、社内ネットワークの負荷が増加しているため、社内ネットワークや社内PCを介さずに直接クラウドサービスに接続できるようにする設定変更が検討されています。これによる問題の1つが「直接接続によるクラウドサービスへの不正アクセスリスクの増加」です。このリスクを低減するために有効な対策を選びます。\r\n▶2要素認証\r\n2要素認証とは「記憶」「所有物」「生体情報」のうち、2つの要素を使って本人確認をする認証方式です。現状では、A社利用クラウドサービスのログインに利用者IDとパスワード（「記憶」の認証要素）を用いているため、「所有物」または「生体情報」による認証を加えることで、不正アクセスのリスクを低減することができます。よって、選択肢ウが正解です。\r\nア. この設問で求められているのは「社内ネットワークを介さずに直接接続することによるリスクへの対策」です。そのため、社内ネットワークからクラウドサービスへの通信を監視しても対策になりません。\r\nイ. 通信速度の制限は、不正アクセスへの対策にはなりません。\r\nエ. グループウェアに対する不正アクセスのリスクが変わらないため、リスクは低減されません。\r\nオ. 保存禁止機能は情報漏えいなどの対策になるため、無効にすることでリスクを増大させる可能性があります。',NULL);

--
