Comments
Description
Transcript
15 データ構造(配列・スタック・リスト)
●「基本情報 基本情報ポケットゼミ 情報ポケットゼミ 平成2 平成29年春秋版」 秋版」は、これ1つに午前試験対策の解 説書「基本情報ポケットゼミ 平成 29 年春秋版」 、 「基本情報過去問題・解説(過 去 5 回分) 」最強の午後試験対策」の 3 冊もついて、特価でたったの980円です。 ●基本情報技術者ポケットゼミの2017年春秋版(平成29年春秋版)のPDF 形式の電子書籍版です。 基本情報ポケットゼミ2017年春秋版 529頁(見開き265頁14.5MB) 【巻末付録】 巻末付録】 ● 巻末付録1 巻末付録1として過去 として過去 5 回分の 回分の午前・ 午前・午後の 午後の試験問題を 試験問題を解説付きで 解説付きで掲載 きで掲載してい 掲載してい ます。 ます ● 巻末付録 2 として, として,分野別に 分野別に分類し 分類し,解き方のヒントとなる ヒントとなる注釈 となる注釈や 注釈や,設問と 設問と図 表との着眼点 との着眼点と 着眼点と関連を 関連を矢印などで 矢印などで明示 などで明示した 明示した「 した「最強の 最強の午後試験対策」 午後試験対策」も添付してい 添付してい ます。 ます。 午後試験問題について分野別に分類し,解き方のヒントとなる注釈を赤字で問題文に記入し,設 問に関する着眼点や,図解や表の着眼点との関連を矢印などで明示した分かりやすい解説となって います。 本書は,基本情報技術者試験の午前と午後の試験の攻略本です。 午前試験について著者が過去 15 回分の試験問題を分析した結果, 「70%程度は過 去に出題された試験問題と同じもの」あるいは「少し視点を変えた問題」が繰返し 出題されています。残り 30%は新出問題(新作問題か他の試験区分の過去問からの 出題)になっています。このような試験傾向の「ツボ」を知って勉強するか否かが 合否の大きな分かれ目となります。本書では,これらを考慮した以下の内容構成と なっています。 ● 見出しを 見出しを見 しを見るだけで把握 るだけで把握できる 把握できる試験 できる試験の 試験のポイント 見出しを見るだけで,そのトピックで試験に出るポイントが分かるように構成されています。 ● 見出しで 見出しで解説内容 しで解説内容の 解説内容のポイントと ポイントと概要が 概要が把握できる 把握できる 見出しに本文の解説内容が要約されていますので,見出しを見るだけで解説内容が最初に把握で き,自然に頭に入るようになっています。これにより本文の解説内容を素早く理解ができるよう構 成されています。 ● 頻出頻度の 頻出頻度の高い内容や 内容や,最近の 最近の頻出傾向の 頻出傾向の項目を 項目を明確化 頻出頻度の高い内容や,最近の頻出傾向の項目を優先的に採り上げてより詳しく説明し頻出ポイ ントを明確化しています。 ● 本文と 本文と側注で 側注で試験の 試験のポイントと ポイントと補足情報を 補足情報を明確化 側注では,難しい概念や用語などの補足説明や関連情報,具体例,注意すべきポイント,覚え方 などをまとめ,側注により試験のポイントと補足情報を分けて明確化しています。 ● 試験の 試験のポイントに ポイントに対応した 対応した例題 した例題 本書の例題は,試験の頻出ポイントに対応した問題が過去問から精選され,頻出ポイントを攻略 できます。 基本情報技術者試験 基本情報技術者試験は 情報技術者試験は,情報システムの開発における技術者として,上位者の指導の 【巻末付録】 巻末付録】 ● 巻末付録 巻末付録1 として過去 過去5 1として 過去 5 回分の 回分の午前・午後の 午後の試験問題を 試験問題を解説付きで 解説付きで掲載 きで掲載しています 掲載しています。 しています もとに,外部仕様に基づいて内部設計・プログラム設計・プログラム開発を行い,ソフ ● 巻末付録 2 として, として,分野別に 分野別に分類し 分類し,解き方のヒントとなる ヒントとなる注釈 となる注釈や 注釈や,設問と 設問と図表と 図表と トウェアを開発するための知識・能力が要求される情報技術 情報技術の 情報技術の基本レベル 基本レベルの レベルの試験です。 試験 の着眼点と 着眼点と関連を 関連を矢印などで 矢印などで明示 などで明示した 明示した「 した「最強の 最強の午後試験対策」 午後試験対策」を添付しています 添付しています。 しています。 新しい試験制度 「基本 しい試験制度に 試験制度に対応し 対応し, 「基本情報技術者試験 基本情報技術者試験」 情報技術者試験」のテキストとして本書を出版するこ テキスト 午後試験問題について分野別に分類し,解き方のヒントとなる注釈を赤字で問題文に記入し,設問に 関する着眼点や,図解や表の着眼点との関連を矢印などで明示した分かりやすい解説となっています。 ■ はじめに とになりました。 本書が「基本情報技術者試験」を受験される方の合格への一助となることを願ってい ます。 ■ 本書の 本書の特色 本書は,基本情報技術者試験の午前と午後の試験の攻略本です。 午前試験について著者が過去 15 回分の試験問題を分析した結果, 「70%程度は過去に 出題された試験問題と同じもの」あるいは「少し視点を変えた問題」が繰返し出題され ています。残り 30%は新出問題(新作問題か他の試験区分の過去問からの出題)になっ ています。このような試験傾向の「ツボ」を知って勉強するか否かが合否の大きな分か れ目となります。本書では,これらを考慮した以下の内容構成となっています。 ● 見出しを 見出しを見 しを見るだけで把握 るだけで把握できる 把握できる試験 できる試験の 試験のポイント 見出しを見るだけで,そのトピックで試験に出るポイントが分かるように構成されています。 ■ 注意 (1)本書の内容については細心の注意を払い作成しましたが,ご不審の点や誤り,記載漏 れなどが御座いましたら,下記まで電子メールにて御連絡ください。 mail:[email protected] (a の後の 0 はゼロ) (2)本書の内容に関して運用した結果の影響については,上記(1)項に関わらず責任を負い かねます。あらかじめご了承ください。 (3)本書に記載したソフトウェア名,ハードウェア名などは一般に各メーカの商標または 登録商標です。記載するにあったって通称などを使用している場合があります。 ● 見出しで 見出しで解説内容 しで解説内容の 解説内容のポイントと ポイントと概要が 概要が把握できる 把握できる 見出しに本文の解説内容が要約されていますので,見出しを見るだけで解説内容が最初に把握でき, 自然に頭に入るようになっています。これにより本文の解説内容を素早く理解ができるよう構成されて います。 ● 頻出頻度の 頻出頻度の高い内容や 内容や,最近の 最近の頻出傾向の 頻出傾向の項目を 項目を明確化 頻出頻度の高い内容や,最近の頻出傾向の項目を優先的に採り上げてより詳しく説明し頻出ポイント を明確化しています。 (★★★★:最頻出,★★★:頻出,★★:時々,★:たまに出題) ● 本文と 本文と側注で 側注で試験の 試験のポイントと ポイントと補足情報を 補足情報を明確化 側注では,難しい概念や用語などの補足説明や関連情報,具体例,注意すべきポイント,覚え方など をまとめ,側注により試験のポイントと補足情報を分けて明確化しています。 ● 試験の 試験のポイントに ポイントに対応した 対応した例題 した例題 本書の例題は,試験の頻出ポイントに対応した問題が過去問から精選され,頻出ポイントを攻略でき ます。 2016 年 11 月 11 日 三輪 幸市 Copyr Copyright(C) Koich Koichi chi Miwa( Miwa(無断転載厳禁) 無断転載厳禁) 目次 第 2 部 テクノロジ( クノロジ(コンピュータシステム) コンピュータシステム) Chapter3 コンピュータ構成要素 23 プロセッサはコンピュータの中枢 ■テクノロジ テクノロジ系 ノロジ系 24 プロセッサの命令実行と命令サイクル 第 1 部 テクノロジ( テクノロジ(基礎理論) 基礎理論) Chapter1 基礎理論 25 命令語とアドレス指定方式 26 プロセッサの高速化技法 1 離散数学(情報の表現と符号化) 27 プロセッサの構造・方式 2 離散数学(2 進数と基数変換) 28 記憶装置(メモリ,補助記憶装置) 3 離散数学(補数による負数の表現) 29 キャッシュメモリによるメモリアクセスの高速化 4 離散数学(浮動小数点形式) 30 磁気ディスク装置の構造 5 離散数学(数値の表現による誤差) 31 磁気ディスクのアクセス時間の計算 6 離散数学(集合と論理演算) 32 出力装置 7 離散数学(論理回路) 33 入出力インタフェース 8 離散数学(シフト演算) Chapter4 9 応用数学(順列・組合せ,グラフ理論,最短経路) 34 システムの構成 10 情報の理論(状態遷移と有限オートマトン) 35 システムの性能と信頼性の指標 11 情報の理論(BNF 表記法) 36 システムの稼働率 12 情報の理論(ポーランド記法と逆ポーランド記法) 37 RAID とバックアップシステム 13 通信に関する理論(誤り検出・訂正,同期) 38 フォールトトレラントシステム 14 制御に関する理論(制御方式と制御回路) 第3部 テクノロジ( テクノロジ(ソフトウェア) ソフトウェア) Capter2 データ構造とアルゴリズム システム構成要素 ソフトウェア 15 データ構造(配列・スタック・リスト) Chapter5 16 データ構造(木構造) 39 オペレーティングシステム 17 アルゴリズムの基礎 40 タスク管理とタスクスケジューリング 18 基本ソート法(隣接交換法・選択法・挿入法) 41 実記憶管理 19 高速ソート法(クイックソート・シェルソート・ヒープソート) 42 仮想記憶管理 20 探索法(線形探索・2 分探索・ハッシュ探索) 43 割込み 21 プログラム構造と制御構造(再入可能と再使用可能) 44 ファイルシステム 22 文字列探索・挿入 45 プログラミング・プログラム言語 46 プログラム開発と言語プロセッサ 47 オープンソースソフトウェア(OSS) Chapter6 48 第4部 マルチメディア マルチメディア技術・応用 テクノロジ( テクノロジ(データベース) データベース) Chapter6 データベース 第 7 部 テクノロジ( テクノロジ(開発技術) 開発技術) Chapter9 システム開発技術 66 システム開発技術・開発手法 67 ヒューマンインタフェース 68 コード設計と入力チェック方式 49 データベース(役割とデータ操作) 69 モジュール分割とモジュール強度・結合度 50 データベース設計(リレーション) 70 オブジェクト指向設計 51 データベース設計(正規化) Chapter10 52 関係データベースの操作(SQL)Ⅰ 71 テスト手法 53 関係データベースの操作(SQL)Ⅱ 72 テスト工程管理・バグ管理 54 排他制御・障害回復 73 レビュー手法と構成管理・保守 テクノロジ( テクノロジ(ネットワーク) ネットワーク) ■マネジメント系 マネジメント系 第 8 部 マネジメント 第5部 Chapter7 ネットワーク Chapter11 ソフトウェア開発管理技術 プロジェクトマネジメント 55 ルータが中継し繋がるネットワーク 74 プロジェクトマネジメント(目的と管理) 56 IP アドレスの割当てと宛先識別 75 プロジェクトの日程管理・進捗管理 57 サブネット分割とアドレス変換 Chapter12 58 ARP と RARP によるアドレス解決 76 59 通信プロトコル Chapter13 60 インターネットと通信回線 77 61 データ転送時間と回線利用率の計算 サービスマネジメント サービスマネジメントとサービスサポート システム監査 システム監査と内部統制 ■ストラテジ系 ストラテジ系 第6部 テクノロジ( テクノロジ(セキュリティ) セキュリティ) Chapter8 セキュリティ 第9部 ストラテジ( ストラテジ(システム戦略 システム戦略と 戦略と経営戦略) 経営戦略) Chapter14 システム戦略 62 情報セキュリティ管理と ISMS 78 システム戦略 63 情報漏えい対策とウイルス対策 79 業務プロセスのモデリング手法 64 ネットワークと Web のセキュリティ 80 ソリューションビジネス 65 暗号化とディジタル署名 81 システム企画 82 要件定義 83 調達計画・契約・受入れ Chapter15 経営戦略 84 経営戦略(地位別戦略,SWOT 分析,PPM,M&A,投資採算性) 85 マーケティング 86 ビジネス戦略と目標・評価 Chapter16 技術開発戦略 87 技術開発戦略と技術開発計画 88 ビジネスインダストリ 89 組込みシステム 第 10 部 ストラテジ( ストラテジ(企業と 企業と法務) 法務) Chapter17 企業活動 ■巻末付録 2(最強の 最強の午後試験対策) 午後試験対策) 午後試験対策( ハードウェア) 第 1 部 午後試験対策 (ハードウェア ) 01 浮動小数点数の減算と乗算(平成 24 年春 問 1) 02 A/D 変換(標本化・量子化・符号化)の手順(平成 23 年秋 問 1) 03 キャッシュメモリの置換えアルゴリズム(平成 22 年春 問 1) 04 機械語命令によるアドレス参照(平成 26 年春 問 2) 05 7 セグメント LED による温度モニタシステム(平成 22 年秋 問 1) 06 論理演算と加算器の構成(平成 25 年秋 問 1) 07 カラー画像について(平成 25 年春 問1) 08 JK フリップフロップを用いた応用回路(平成 26 年秋 問 2) 09 プログラムの並列実行(平成 26 年春 問 3) 90 企業活動と経営管理 91 トップマネジメントと経営組織 92 データの分析・整理手法 01 コンパイラの最適化(平成 24 年春 問 2) 93 OR(在庫管理・生産計画・最適化) 02 仮想記憶方式の追出しアルゴリズム(平成 25 年春 問 2) 94 会計(営業利益と損益分岐点) 03 プロセスに対する CPU の割当方式(平成 23 年春 問 2) 95 財務諸表と経営分析 04 プロセスの排他制御(平成 24 年秋 問 1) 96 減価償却・在庫評価 05 OS におけるプロセスのスケジューリング(平成 26 年秋 問 3) Chapter18 法務 97 知的財産権 98 セキュリティ関連法規 99 労働関係・取引契約 第2部 午後試験対策( 午後試験対策(ソフトウェア ソフトウェア) ウェア) 06 言語処理系について(平成 27 年春 問 2) 第3部 午後試験対策( 午後試験対策(データベース) データベース) 01 購買情報を管理する関係データベースの設計及び運用(平成 24 年秋 問 2) 02 会員情報を管理する関係データベースの設計と運用(平成 25 年春 問 3) ■巻末付録1 巻末付録1(平成 28 年秋~平成 26 年秋試験 問題・ 問題・解説) 解説) 03 データベースのトランザクション管理(平成 23 年春 問 3) ●平成 28 年秋試験(午前・午後) 問題・解説 04 電子部品の出荷データを管理する関係データベース(平成 27 年秋 問 3) ●平成 28 年春試験(午前・午後) 問題・解説 05 社員食堂の利用記録データベースの設計と運用(平成 24 年春 問 3) ●平成 27 年秋試験(午前・午後) 問題・解説 06 従業員データベースの設計と運用(平成 23 年秋 問 2) ●平成 27 年春試験(午前・午後) 問題・解説 07 書籍を管理する関係データベースの設計及び運用(平成 26 年秋 問 4) ●平成 26 年秋試験(午前・午後) 問題・解説 08 自治会長の情報を管理する関係データベースの設計及び運用(平成 27 年春問 3) 第4部 午後試験対策( 午後試験対策(ネットワーク) ネットワーク) 01 IP アドレスと MAC アドレス(平成 16 年秋 問 2) 第7部 午後試験対策( 午後試験対策(システム戦略 システム戦略) 戦略) 01 正味現在価値による投資採算性の評価(平成 24 年春 問 7) 02 サブネットワークの分割(平成 23 年秋 問 3) 02 販売管理システムの見直しを伴う業務改善(平成 25 年秋 問 7) 03 ルータの経路制御テーブルの更新(平成 23 年春 問 4) 03 システム移行の作業計画(平成 26 年春 問 7) 04 CRC(巡回冗長検査) (平成 22 年秋 問 3) 04 受発注システムの改修(平成 26 年秋 問 7) 05 データ転送時のフロー制御について(平成 24 年春 問 4) 05 システム開発の投資評価(平成 27 年春 問 7) 06 ネットワークにおけるスループットの改善(平成 26 年春 問 4) 07 Web サイトにおけるセッション管理(平成 27 年秋 問 4) 08 DNS におけるホスト名の衝突(平成 27 年春 問 4) 第8部 午後試験対策( 午後試験対策(マネジメント) マネジメント) 01 プロジェクトの実績管理(平成 25 年秋 問 6) 02 サービスデスクにおける問合せ対応管理(平成 26 年秋 問 6) 第5部 午後試験対策( 午後試験対策(情報セキュリティ 情報セキュリティ) セキュリティ) 01 IC カードを利用した入退出管理システム(平成 25 年春 問 4) 03 ファンクションポイント法を用いた工数見積り(平成 26 年春 問 6) 04 プロジェクトにおけるコミュニケーションの計画(平成 27 年春 問 6) 02 IPsec を利用した VPN の導入(平成 25 年秋 問 4) 03 認証システム(平成 22 年秋 問 4) 第9部 午後試験対策( 午後試験対策(アルゴリズム) アルゴリズム) 04 パケットフィルタリング(平成 21 年春 問 4) 01 状態遷移図による構文解析アルゴリズム(平成 23 年秋 問 8) 05 ネットワークセキュリティ(平成 26 年秋 問 1) 02 後置表記法への変換プログラム(平成 17 年秋 問 4) 06 情報資産についてのリスクアセスメント(平成 26 年春 問 1) 03 ファイル領域を割り当てるプログラム(平成 18 年春 問 4) 07 ログ管理システムのセキュリティについて(平成 27 年秋 問 1) 04 文字列を圧縮するプログラム(平成 25 年秋 問 8) 08 インターネットを利用した受注管理システムのセキュリティ(平成 27 年春問 1) 05 文字列間の編集距離(平成 26 年秋 問 8) 06 リスト構造による領域の割当てと解放(平成 26 年春 問 8) 第6部 午後試験対策( 午後試験対策(ソフトウェ ソフトウェア ウェア開発) 開発) 01 あて先作成プログラムの設計(平成 23 年春 問 5) 07 ビット列中のビットの値を検査するプログラム(平成 24 年春 問 8) 08 Boyer-Moore-Horspool 法による文字列検索のプログラム(平成 27 年秋 問 8) 02 受検者数の集計リストの作成(平成 24 年春 問 5) 03 社員の歩合給決定処理(平成 25 年春 問 5) 第 10 部 午後試験対策( 午後試験対策(表計算) 表計算) 04 書籍の受注システムのオブジェクト指向設計(平成 23 年秋 問 5) 01 基本給・賞与計算ワークシート(平成 23 年秋 問 13) 05 共通ライブラリのオブジェクト指向設計(平成 26 年秋 問 5) 02 学部所有の図書を管理するプロトタイプシステム(平成 24 年春 問 13) 06 システム統合に伴うソフトウェア設計(平成 26 年春 問 5) 03 顧客情報の匿名化の処理(平成 26 年春 問 13) 07 営業支援システムの業務機能分析と業務機能設計(平成 27 年春 問 5) 04 表計算による知人関係類似度に基ずくグループ分け(平成 25 年秋 問 13) 05 表計算による鉄道路線における駅間の距離と運賃の計算(平成 26 年秋 問 13) 06 表計算による社員の社内向け学習教材の学習進捗状況管理(平成 27 年春 問 13) 07 表計算によるセット値引き額の計算(平成 27 年秋 問 13) 第1部テクノロジ( テクノロジ(基礎理論) 基礎理論)>Chapter1 Chapter1 基礎理論 01 ★★★ ■情報 情報の 情報の符号化による 符号化による表現 による表現 離散数学( 離散数学(情報の 情報の表現と 表現と符号化) 符号化) 文字や画像,音声に関する情報の符号化による表現や符号化された情 報の誤り検査方式について理解しておきましょう。 ■情報 情報はすべて 情報はすべて 0 と 1 の組合せで 組合せでディジタル せでディジタル化 ディジタル化 コンピュータ内部では,文字,画像,音声などの情報 情報を 情報 0 と 1 の組合せ 組合せから ディジタル化 なる符 符号を用いて,ディジタル ディジタル 化し記憶しています。情報を符号に置き換えるこ 符号化といいます。 とを符号化 符号化 数値の 15 ⇒ 2 進数 00001111 文字 A ⇒ 文字コード 01000001 白黒の 2 値画像は,□を 0,■を 1 に 置き換えてディジタル化します。 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 ■標本化・ 標本化・量子化・ 量子化・符号化により 符号化により行 により行う音声の 音声のディジタル化 ィジタル化 アナログデータをディジタルデータに変換する技術に PCM(Pulse Code PCM Modulation)方式があります。PCM 方式は,アナログの音声波形をディジタル データに変換するのに利用されています。変換は次のように行われます。 サンプリング( サンプリング(標本化) 標本化) ⇒ ●補助単位 補助単位 コンピュータ内部では,DRAM DRAM などの記憶素子を用いて, 電荷の有無の 2 つの状態に対応させて 0 又は 1 の 2 種類の符 [情報・ 情報・記憶容量] 記憶容量] 1K バイトは 1024(210) バイトですが,近似的に 103 バイトとして計算す る場合があります。 K(キロ)⇒約 103 M(メガ)⇒約 106 G(ギガ)⇒約 109 時間] [時間 ] m(ミリ)⇒10-3 μ(マイクロ)⇒10-6 n(ナノ)⇒10-9 号を記憶します。この 2 種類の符号を記憶できる情報の単位を ビットといいます。0 と 1 の組合せからなる符号 符号により情報を ビット 符号 ◆ここがポイント ここがポイント! ポイント! 数値は 2 進数に,文字は文字コードに 置き換えて記憶します。 ■情報の 情報の記憶単位である 記憶単位であるビット であるビットと ビットとバイト アナログデータ(音声波形)を単位時間 ごとに区切った振幅値を抽出します 量子化 ⇒ 抽出した値を量子化 量子化の 段階数 量子化の段階数で決まる何 段階かのレベルに分類し,整数化します 符号化 ⇒ 2 進数のディジタルデータに変換します バイトと呼ばれる単位になります。 記憶しています。 8 ビットでバイト バイト ●1 ビット増 ビット増えるごとに情報量 えるごとに情報量は 情報量は 2 倍になる 1ビットで0と1の2種類(21=2)の情報を, 2ビットで00,01,10,11の4種類(22=4)の情報を, 3ビットで000,001,010,011,100,101,110,111の8種類 Nビットで (23=8)の情報を,N ビットで2N種類の 種類の情報を 情報を表せる。 せる ■一意性と 一意性と可逆性が 可逆性が必要な 必要な情報の 情報の符号化 コンピュータで扱う情報を,0と 1 の組合せからなる符合に 符号化しますが,このとき符号化の対象となる情報と 置き換え符号化 符号化 符号とが重複なく一対一に割り当てられなくてはなりません。 逆に符号化列から元の情報に一意的に復元できる可逆性が必 要です。つまり情報の符号化には一意性 一意性と可逆性 一意性 可逆性が必要です。 可逆性 ●情報 情報を 情報を一意に 一意に復元できる 復元できる例 できる例 文字 abcd を以下の 以下の置換え 置換え規則で 規則で符号化した 符号化した場合 した場合 ↓ 置換え 置換え規則 a⇒0 b⇒10 c⇒110 d⇒111 010110111 ⇒ 0 10 110 111 ↓ ↓ ↓ ↓ a b c d 元の情報を 情報を一意に 一意に復元できる 復元できる ●情報 情報を 情報を一意に 一意に復元でき 復元できない できない例 ない例 文字 abcd を以下の 以下の置換え 置換え規則で 規則で符号化した 符号化した場合 した場合 ↓ 置換え 置換え規則 a⇒0 b⇒1 c⇒00 d⇒11 0100 100 111 010011 ⇒ 0 ↓ a baa bbb bd db baa bc 元の情報を 情報を一意に 一意に復元できない 復元できない 符号に 11 が含まれる場合,bb か d に復元されます 符号に 00 が含まれる場合,aa か c に復元されます 抽出した振幅値を量子 化の段階数で決まるレ ベルに分類して整数化 ●量子化の 量子化の段階数 量子化する際に,数値 を何段階かのレベルの 整数で近似して整数化 しますが,そのときの 段階分けの数のこと。 8 ビットで 28=256 段 階の整数で整数化さ 量子化の れ,256 を量子化 量子化の段 ビットを量子 量子 階数,8 階数 化ビット数と呼びま すす。 ●サンプリング周期が 短く,量子化の段階数 が多くなるほど元のア ナログ信号の波形に近 い波形に近似できま す。 例題 1 ビットパターンで ビットパターンで表現できる 表現できる情報 できる情報の 情報の個数 例題 4 (平成 24 年春 問 26) 解説 60 分の音声信号(モノラル)を,標本化周波数 44.1kHz,量子化ビット数 16 ビッ トの PCM 方式でディジタル化した場合,データ量はおよそ何 M バイトか。ここで, データの圧縮は行わないものとする。 ア 80 イ 160 ウ 320 エ 640 (平成 28 年秋 問 1) 32 ビットで表現できるビットパターンの個数は,24 ビットで表現できる個数の何倍 か。 ア 8 イ 16 ウ 128 エ 256 ●問題 問題を 問題を解くカギ ⇒ N 解説 N ビットで ビットで,2 種類の 種類の情報を 情報を表せる 32 ビットで表現できるビットパターンの個数 → 24 ビットで表現できるビットパターンの個数 → したがって 232÷224=28 倍=256 倍 232 個 224 個 <解答> エ 例題 2 (平成 28 年秋 問 5) 標本化,符号化,量子化の三つの工程で,アナログをディジタルに変換する場合の順 番として,適切なものはどれか。 16 ビット×44.1×103÷8 ビット/バイト×60×60=88.2×36×106 バイト≒320M バイト <解答> ウ 例題 5 (平成 28 年春 問 4,類題平成 25 年春 問 3) PCM 方式によって音声をサンプリング(標本化)して 8 ビットのディジタルデータ に変換し,圧縮しないで転送したところ,転送速度は 64,000 ビット/秒であった。 このときのサンプリング間隔は何マイクロ秒か。 ア ア 標本化,量子化,符号化 ウ 量子化,標本化,符号化 イ 符号化,量子化,標本化 エ 量子化,符号化,標本化 解説 アナログ音声信号の波形を単位時間ごとに区切って振幅値を採取する標本化 標本化(サンプ 標本化 サンプ リング)をします。次にそのときの振幅値を抽出した値を量子化の段階数で決まる何 リング 段階かのレベルに分類し,整数化する量子化 量子化を行います。最後に 0 と 1 の組合せから 量子化 なる符合に置き換え符号化 符号化します。 符号化 <解答> ア 例題 3 (平成 23 年春 問 14) アナログ音声信号を,サンプリング周波数 44.1kHz の PCM 方式でディジタル録音 するとき,録音されるデータ量は何によって決まるか。 ア 音声信号の最高周波数 ウ 音声データの再生周波数 文字 A B C D E 解説 ●問題 問題を 問題を解くカギ ⇒ 量子化する際に,数値を何段階かのレベルに分けて整数化 アナログ音声信号の波形を単位時間ごとに区切って振幅値を採取することを サンプリング( サンプリング(標本化) 標本化)といいます。そのときの振幅値を量子化のビット数 の桁数の,0 と 1 からなるビット列の数値に変換することを量子化 量子化といいま 量子化 す。したがって録音されるデータ データ量 データ量=音声データ 音声データの データの量子化ビット 量子化ビット数 ビット数×サンプ リング周波数 リング周波数により求まります。 周波数 <解答> 解答> エ ウ 46.8 エ 125 128 転送速度が 64,000 ビット/秒なので,8 ビットのディジタルデータを1秒当たり 64,000÷8=8,000 回サンプリングできる。したがってサンプリング間隔は1÷8,000 =0.000125 秒=125 マイクロ秒になる。 <解答> ウ 例題 6 符号化した (平成 23 年春 問 3) 符号化した文字 した文字の 文字の平均ビット 平均ビット数 ビット数 表は,文字 A~E を符号化したときのビット表記と,それぞれの文字の出現確率を 表したものである。1 文字当たりの平均ビット数は幾らになるか。 イ 音声信号の最大振幅 エ 音声データの量子化ビット数 しますが,そのときの段階分けの数のこと。量子化 量子化ビット 量子化ビット数 ビット数(量子化の 量子化の段階数) 段階数)と呼 ばれ,8 ビットで 28=256 段階のレベルに対応した整数で整数化されます。 サンプリング周期が短く,量子化の段階数が多くなるほど元のアナログ信号の波形に 近い波形に近似できます。 イ 15.6 解説 ア 1.6 ビット表記 0 10 110 1110 1111 イ 1.8 出現確率(%) 50 30 10 5 5 ウ 2.5 エ 2.8 解説 1 文字当たりの平均ビット数は,各文字のビット表記でのビット数と出現確率との積 の総和を求めればよく,次のようになる。 1×0.5+2×0.3+3×0.1+4×0.05+4×0.05=0.5+0.6+0.3+0.2+0.2=1.8 ビット <解答> イ 第 1 部テクノロジ( テクノロジ(基礎理論) 基礎理論)>Chapter1 基礎理論 02 ★★ ■ 8 進数, 進数,16 進数は 進数は各桁の 各桁の数字を 数字を 2 進数に 進数に置き換えて変換 えて変換 離散数学( 離散数学(2 進数と 進数と基数変換) 基数変換) コンピュータ内部では情報は符号化され,数値は 2 進数で表現されま す。2 進数の特徴や基数変換について理解しましょう。 ■ 8 進数の 進数の各桁は 各桁は 3 桁の 2 進数で 進数で表せる 8 進数 ◆ここがポイント ここがポイント! ポイント! ■ 0 と 1 の組合せで 組合せで表 せで表す 2 進数 10 進数 0~9 までの 10 個の数字を 使い切ると繰 り上がる 0 1 2 3 4 5 6 7 8 9 10 繰上り 2 進数 0~1 の 2 個の数字を使い切 0 ると繰り上がる 1 10 繰上り 11 各桁の数字に 0,1 の 100 繰上り 2 種類しか使えない 101 ので,10 進数に比べ 110 て 2 進数では桁数が 大きくなるが,0 と 1 111 1000 繰上り の 2 種類あれば全て の数字を表せる。 1001 1010 0~7 までの 8 個の数字を 組み合わせ る 乗になっている数です。 いきます。つまり 2 進数は,以下のように各けたの重みが 20,21,22,23,… のように 2 のべき乗になっている数です。 ●2 2 進数 → 各けたの重みが基数 2 のべき乗(重みが 2 の倍数) (1111. 111.11) 11)2 → 1×23+1×22+1×21+1×20+1×2-1+1×2-2 → 1×8 +1×4+1×2 +1×1 +1×1/2+1×1/4 に変換するには,2 進 数を小数点位置から 3 桁ごとに区切り 8 進数 8 進数の1桁は 3 桁の 2 進数で 表せる。 0~F までの 16 個の数字 を組み合わ せる 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 に変換すればよい。 これを使えば 8 進数から 2 進数への 変換は,8 進数の各桁の数字を 3 桁 の 2 進数に置き換えればできる。 8 進数 16 進数 10 進数では,各けたの重みが 1、10,100,…のように 10 倍ずつ増えていき ます。つまり 10 進数は,各けたの重みが 100,101,102,…のように 10 のべき 同様に 2 進数では,各けたの重みが 1,2,4,8,…のように 2 倍ずつ増えて 繰上り 000 000 001 001 010 011 100 101 110 111 ■ 16 進数の 進数の各桁は 各桁は 4 桁の 2 進数で 進数で表せる ■2 進数は 進数は各けたの重 けたの重みが基数 みが基数 2 のべき乗 のべき乗の数 ●10 10 進数 → 各けたの重みが基数 10 のべき乗(重みが 10 の倍数) (1111.11) 1111.11)10 → 1× 1× 103 +1×102+1×101+1×100+1×10-1+1×10-2 → 1× 1×1000+ 1000+1×100+ 100+1×10+ 10+1× 1 +1×1/10+ /10+1×1/100 0 1 2 3 4 5 6 7 10 12 13 ●逆に 2 進数を 8 進数 2 進数 253 2 進数 010 101 011 2 進数 繰上り 0000 0001 0010 0011 0100 0100 0101 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 ●逆に 2 進数を 16 進 数に変換するには,2 進数を小数点位置から 4 桁ごとに区切り 16 進数に変換すればよ い。 16 進数の1桁 は 3 桁の 2 進数 で表せる。 これを使えば 16 進数から 2 進数への 変換は,16 進数の各桁の数字を 3 桁 の 2 進数に置き換えればできる。 16 進数 3AF 2 進数 0011 1010 1010 1111 111 ■10 進数小数 数小数から 2 進数や 進数や 16 進数への 進数への基数変換 への基数変換 ■ 基数変換 ●10 進数小数から 進数小数から 2 進数小数への 進数小数への変換 への変換 10 進数の 進数の0.8125 ■2 進数や 進数や 16 進数から 進数から 10 進数への 進数への基数変換 への基数変換 基数変換は基数を変えて他の進数で表すことです。 小数部に 10 進数の小数部 小数部に 2 を掛けて, けて,整数部を 整数部を並べて変換する 変換する 0.8125× 整数部 1 8125×2=1.625 0.625 ×2=1.25 整数部 1 0.25 ×2=0.5 整数部 0 0.5 ×2=1 整数部 1 ●2 2 進数 1101.11 を 10 進数に 進数に基数変換するには 基数変換するには 2 進数の 進数の110 1101.11 2 進数の 進数の0.1101 10 進数の 進数の13. 13.75 2 進数の各けたに 2rを掛けて足すと 10 進数になる 1×23+1×22+0×21+1×20+1×2-1+1×2-2 ●10 進数小数から 進数小数から 16 進数小数への 進数小数への変換 への変換 = 8 + 4 + 0 + 1 + 0.5 + 0.25 =13.75 ●16 16 進数 7B. 7B.8 を 10 進数に 進数に基数変換するには 基数変換するには 16 進数の 進数の7B.8 B.8 10 進数の 進数の123. 123.5 16 進数の各桁に 16rを掛けて足すと 10 進数になる 7×161+B+8 +B+8×16-1 → 123. 123.5 ■10 進数から 進数から 2 進数や 進数や 16 進数への 進数への基数変換 への基数変換 10 進数の 進数の0.75 ●16 進数の A~F を 10 進数の 10~15 に置き 換えて変換します 。B は 11 に置き換えて, 7 × 16 + 11 + 8 / 16 = 123.5 と変換します。 ●10 進数 106 を 2 進数に 進数に基数変換するには 基数変換するには 10 進数の 進数の106 10 進数の 進数の123 16 進数の7B 10 進数の商 商を 16 で割った余 った余りを下 りを下から上 から上に並べると べる 16 進数になる 123÷ 余り11→ 123÷16= 16=7 11→B 7÷16= 余り 7 16=0 整数部を上から下に 並べると 2 進数小数 になります 10 進数の小数部 小数部に 小数部に 16 を掛けて, けて,整数部を 整数部を並べて変換する 変換する 0.75× 75×16= 16=12 小数部が 0 になるま で 16 を掛ける 整数部 12 12 は 16 進数の Cに置き換える ■循環小数になる 循環小数になる場合 になる場合がある 場合がある 10 進数小数の 進数小数の基数変換 ●0.1 の倍数である 2 進数の 進数の1101010 10 進数の商 商を 2 で割った余 った余りを下 りを下から上 から上に並べると べる 2 進数になる 106÷ 余り0 106÷2=53 53÷ 余り1 53÷2=26 26÷ 余り0 26÷2=13 余りを下から上に 並べると 2 進数に 13÷ 余り1 13÷2=6 なる 商が 0 になる 6÷2=3 余り0 まで 2 で割る 3÷2=1 余り1 1÷2=0 余り1 ●10 進数 123 を 16 進数に 進数に基数変換するには 基数変換するには 16 進数の 進数の0.C ●小数部に 2 を掛ける ごとに整数部を取り出 して並べ,小数部が 0 になるまで繰り返しま す。 小数部に 10 進数の小数部 小数部に 2 を掛けて、 けて、整数部を 整数部を並べて変換する 変換する 0.2,0.4,0.8,1.2, 0.2×2 =0.4 整数部 0 1.6 なども循環小数に 0.4×2 =0.8 整数部 0 なります。 0.8×2 =1.6 整数部 1 0.6×2 =1.2 整数部 1 同じ小数部が出現し 循環小数になる 0.2×2 =0.4 整数部 0 10 進数の 進数の0.2 2 進数の 進数の0.0011・・ 0011・・ ●0.1 を 2 で割った 0.05,0.025 なども循 環小数になります。 ■ 問題を 問題を解くカギ ●余りの 10~15 は, 16 進数の A~F に置き 換えて変換します。余 りの 11 は B に置き換 えて,7B と変換しま す。 2 進数にすると循環小数 になる場合がある 2 進数で 進数で 有限小数 10 進数で 進数で有限小数 8 進数の 進数の各けたを 2 進数 の 3 けたで置換 けたで置換えると 置換えると, えると, 2 進数に 進数に変換できる 変換できる 8 進数にすると循環小数 になる場合がある 8 進数で 進数で 有限小数 例題 5 (平成 27 年秋 問 1) 例題 2 (平成 24 年春 問 2) 10 進数の演算式 7÷32 の結果を 2 進数で表したものはどれか。 非負の 2 進数 b1b2…bn を 3 倍したものはどれか。 b1b2…bn0+b1b2…bn b1b2…bn000 ア ウ ア イ b1b2…bn00-1 エ b1b2…bn1 25+23+21+2-1+2-4+2-5 26+24+22+2-1+2-4+2-5 解説 16 進数の各桁は 2 進数では 4 桁で表せるので,16 進小数 2A.4C は,2 進数では 0010 1010.0100 1100 になります。 これを 10 進数に変換すると,25+23+21+2-2+2-5+2-6 になります。 <解答> ア 例題 4 (平成 26 年秋 問 1) 10 進数の分数 1/32 を 16 進数の小数で表したものはどれか。 0.01 イ 0.02 ウ 0.05 エ 0.08 解説 1 1 1 1 1 1 = × = 8 × × = 8 × 2 = (0.08)16 32 2 16 16 16 16 <別解> 別解> ア × イ × ウ × エ 〇 エ 0.00111 0.0111 基数変換に関する記述のうち,適切なものはどれか。 <解答> ア 例題 3 (平成 22 年春 問 1,平成 18 年春 問 1,平成 12 年秋 問 1) 16 進小数 2A.4C と等しいものはどれか。 ア ウ 例題 6 (平成 20 年秋 問 2) =b1b2…bn0+b1b2…bn イ エ 0.001101 <解答> ウ b1b2…bn×3=b1b2…bn×(21+1)=b1b2…bn×21+b1b2…bn 25+23+21+2-2+2-5+2-6 26+24+22+2-2+2-5+2-6 イ 7÷32=(111)2÷25=(0.00111)2 解説 ア ウ 0.001011 解説 1 16 2 1 1 (0.02)16 = 2 × 2 = 8 × 16 16 1 5 (0.05)16 = 5 × 2 = 16 × 16 16 1 8 1 = (0.08)16 = 8 × 2 = 16 × 16 32 16 ア 2 進数の有限小数は,10 進数にしても必ず有限小数になる。 イ 8 進数の有限小数は,2 進数にすると有限小数にならないこともある。 ウ 8 進数の有限小数は,10 進数にすると有限小数にならないこともある。 エ 10 進数の有限小数は,8 進数にしても必ず有限小数になる。 解説 ア 〇 イ × 8 進数の各けたを 2 進数の 3 けたで置換えると,2 進数に変換できるので,8 進数の有限小数は,2 進数にしても必ず有限小数になります。 ウ × 8 進数の有限小数は,10 進数にしても必ず有限小数になります。 (8 進数の小数部の各桁の数字を 8r=(23)r で割ったものは有限小数なので) エ × 10 進数の有限小数は,8 進数にすると循環小数になる場合があります。例え ば 10 進数の 0.2 は 8 進数にすると,循環小数になります。 0.2×8=1.6 整数部 1 0.6×8=4.8 整数部 4 0.8×8=6.4 整数部 6 0.4×8=3.2 整数部 3 0.2×8=1.6 整数部 1 ←これ以降循環します <解答> ア 例題 7 (平成 26 年春 問 1) 次の 10 進小数のうち,2 進数で表すと無限小数になるものはどれか。 (0.01)16 = 1 × ア 0.05 イ 0.125 ウ 0.375 エ 0.5 解説 ア 〇 0.1 の倍数である 0.2,0.4,0.8,1.2,1.6 なども循環小数になります。 また 0.1 を 2 で割った 0.05,0.025 なども循環小数になります。 イ × 0.125=1/23=2-3 なので 2 進数 0.001 に変換されます。 ウ × 0.375=0.25+0.125=1/22+1/23=2-2+2-3 なので 2 進数 0.011 に変換され ます。 エ × 0.5=1/2=2-1 なので 2 進数 0.1 に変換されます。 <解答> エ <解答> ア 第1部テクノロジ( テクノロジ(基礎理論) 基礎理論)>Chapter2 データ構造 データ構造と 構造とアルゴリズム 15 ★★★ ■リスト リストと リストと配列の 配列の格納構造と 格納構造とデータ操作 データ操作の 操作の違い データ構造 データ構造( 構造(配列・ 配列・スタック・ スタック・リスト) リスト) スタックとキューの特徴や操作の違い,ポインタによりリンクするリストと要 素番号により参照する配列の構造やデータ操作の違いがポイントです。 ◆ここがポイント ここがポイント! ポイント! ■後入れ 後入れ先出しの 先出しのスタック しのスタック B スタックは,後から入ったものから先に出 スタック 後入れ 先出し LIFO:Last In First す「後入 後入 れ先出 し」(LIFO LIFO Out)のデータ構造です。積み重ねていく イメージで,下にあるものは,それより上 のものを取り出さないと取り出せません。 B A A push(B) pop( )→B ■先入れ 先入れ先出しの 先出しのキュー しのキュー データ 要素番号 0 1 A[2] 2 データ3 データ3 入れたものを先に取り 出す“後入先出”のデ ータ構造。再帰処理な に,戻り番地や処理途 中のデータをスタック に格納し,呼出元プロ : グラムに戻るときにス データ 1 タックから戻り番地や 先頭ポインタ メモリ り出して戻ります。 ■単方向リスト 単方向リストへの リストへの要素 への要素の 要素の挿入と 挿入と削除 リストへの要素の挿入と削除は,ポインタを ポインタを更新する 更新するだけで行 する うことができ,データ自体の移動や削除は不要です。 ●リスト リストへ リストへの要素の 要素の挿入 D1 と D2 の間に 400 番地の D4 を挿入するには D1 のポイン 300 番地 タを 400 に,D4 のポインタを 200 に書き換えます。 データ 配列は, データの型とサイズが同じデータ領域が連続して 配列 要素番号に メモリに並んだデータ構造です。配列の名前と要素番号 要素番号 より配列要素を参照します。 A[1] データ2 データ2 配列と違って,メモリ上でのデ ータの格納順序と,ポインタに よるリンクの順序とは必ずしも 同じではありません。 データ 2 : データ 3 dequeue 400 番地 ■要素番号順 要素番号順に 要素番号順に連続して 連続して格納 して格納される 格納される配列 される配列 A[0] 300 番地 ●スタック スタックは後から スタック 処理途中のデータを取 リストは, データの格納場所を参照するポインタ ポインタにより次に続くデータを参照で リスト ポインタ きるようにしたデータ構造です。 ポインタ データ 200 番地 ●キューに格納する操 作 を エ ン キ ュ ー (enqueue)という (enqueue) キューから取り出す操 作 を デ キ ュ ー (dequeue) と い い ま す。 どで手続を呼出す際 200 番地 500 番地 ■ポインタ ポインタにより ポインタによりリンク によりリンクする リンクするリスト するリスト 200 番地 と,ポインタによりリンクする順序とは無関係で,また必ずし も連続して格納されている訳ではありません。 データ1 データ1 C B A 受付に並んだ人が,順に処理される受付待 ち行列などが例です。 500 番地 ポインタにより次に続くデータを参照できるようにしたデー タ構造がリスト リストです。メモリ上に格納されているデータの順序 リスト 300 番地 データ構造です。パイプの入口から順に入 れて,出口から順に取り出すイメージです。 先頭ポインタ ポインタとは,データの所在を指定する情報である。このポイ ポインタ ンタにより所在を指定し,データを参照することができます。 先頭ポインタ 500 番地 enqueue キューは,先に入ったものから先に出す先 先 キュー FIFO:First In First Out)の 先出し FIFO 入れ先出 し(FIFO ■ポインタと ポインタとリスト 先頭ポインタ 100 番地 A [0] A [1] データ 1 データ 2 A [2] データ 3 A [3] データ 4 : … A[9] … 9(配列の先頭を 0 とする) メモリ 100 D4 200 D1 400 200 番地 D2 300 300 番地 D3 Null ●リスト リストの リストの要素の 要素の削除 D2 を削除するには D1 のポインタを 300 に書き換えます。 先頭ポインタ 100 100 番地 D1 300 200 番地 300 番地 D2 300 D3 Null ●リスト リストには,単方向 リスト リスト,双方向リスト などがある。 単方向リスト 単方向リストは,ポイ リスト ンタにより1方向にリ ンクした構造のリスト です。 双方向リスト 双方向リストは,ポイ リスト ンタにより両方向に前 後にリンクした構造の リストです。 ●リストの最後尾の要 素には Null(空文字) を格納します。 ■単方向 単方向リスト 単方向リストの リストの先頭や 先頭や末尾への 末尾への要素 への要素の 要素の追加と 追加と削除 例題 1 (平成 24 年春 問 6,平成 19 年秋 問 13) 先頭ポインタと末尾ポインタをもつ単方向リストへの先頭や末尾への要素の追加と削 除は,次のように処理量の違いがあります。 ●要素の 要素の追加に 追加に要する処理量 する処理量は 処理量は,先頭と 先頭と最後尾とでほぼ 最後尾とでほぼ同 とでほぼ同じ Add 先頭に 先頭に 追加 Head D1 D2 D3 D4 Head のポインタを追加 要素 Add にし,Add のポ インタを D1 にする D4 最後尾要素 D4 の ポインタを Add に し,Tail のポイン タを Add にする 十分な大きさの配列 A と初期値が 0 の変数 p に対して,関数 f(x)と g( )が次のとお り定義されている。配列 A と変数 p は,関数 f(x)と g( )だけでアクセス可能である。 これらの関数が操作するデータ構造はどれか。 function f(x) { p=p+1 A[p] = x return None } Tail 最後尾 に追加 Head D1 D2 D3 Add Tail ●要素の 要素の削除に 削除に関する処理量 する処理量は 処理量は,先頭と 先頭と最後尾とで 最後尾とで同 とで同じでない じでない ⇒ 最後尾要素の削除は,最後尾要素の直前要素までポインタのリンクをたどり,直 前要素のポインタを NULL に書き換える必要があり,最も処理量が多い。 先頭を 先頭を 削除 Head 最後尾 を削除 Head D2 D3 D2 D3 D4 Tail D1 Tail Head のポインタを削除 する先頭要素 D1 の直後 の要素 D2 にする 最後尾要素 D4 の削除は,最後尾要 素の直前要素 D3 までポインタの リンクをたどり,直前要素 D3 のポ インタを NULL に書き換える リスト アクセス イ スタック ウ ハッシュ エ ヒープ 解説 ●問 問題を解くカギ ⇒ スタックに格納するとスタック変数が 1 増え,取り出すと 1 減る。 関数 f(x)は,変数 p が初期値 0 のとき,変数 p の値に 1 だけ加算し,変数 p に対応 する配列要素 A[p]にデータ x を格納する処理を行う。この処理は変数 p をスタック変 数,配列要素 A[p]をスタックとするスタックにデータ x の値を PUSH する処理と考 えられる。 関数 g( )は,配列要素 A[p]の値を変数 x にセットし,変数 p の値を 1 だけ減らし, 変数 x の値を戻り値として返す処理を行う。この処理は変数 p をスタック変数,配列 要素 A[p]をスタックとするスタックからデータを POP する処理と考えるられる。 <解答> イ 例題 2 (平成 22 年秋 問 5,平成 16 年春 問 12) A,B,C,D の順に到着するデータに対して,一つのスタックだけを用いて出力可 能なデータ列はどれか。 ア A,D,B,C イ B,D,A,C ウ C,B,D,A エ D,C,A,B 解説 次に B が取出せ なくなる ■リスト リストと リストと配列の 配列の比較 要素の 要素の参照 要素の 要素 の個数 データ型 データ 型 ア キュー function g( ) { x = A[p] p = p-1 return x } 配列 格納順とリンクの順序が同一ではない ポインタにより後続要素にリンク 要素番号順に連続格納 要素番号により参照 可変 同じでなくてもよい あらかじめ固定 同一 不連続に格納された要素をポインタに より順にたどるためアクセスは遅い 連続領域に格納されている ためアクセスは高速 要素の ポインタの更新のみ 後続要素の移動が必要 要素の削除 要素の ポインタの更新のみ 後続要素の移動が必要 要素 の挿入 ●配列への要素の挿入は,挿入する要素番号以降の要素を後方に移動し挿入する必要があります ●削除要素以降の要素を前方に移動して空を詰める必要があります 次に A が取出せ なくなる 次に A が取出せ なくなる 例題 3 (平成 21 年春 問 6) 例題 5 (平成 22 年春 問 5,類題平成 14 年春 問 12) 配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれ か。 ア 要素を更新する場合,ポインタを順番にたどるだけなので,処理時間は短い。 イ 要素を削除する場合,削除した要素から後ろにあるすべての要素を前に移動する ので,処理時間は長い。 ウ 要素を参照する場合,ランダムにアクセスできるので,処理時間は短い。 エ 要素を挿入する場合,数個のポインタを書き換えるだけなので,処理時間は短い。 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社 員 G を社員 A と社員 K の間に追加する。追加後の表のポインタ a~f の中で追加前と 比べて,値が変わるポインタだけをすべて列挙したものはどれか。 追加後 追加前 解説 ●問題 問題を 問題を解くカギ ⇒ 連結リストに対する挿入・削除では,ポインタのリンクをた どり,ポインタを書き換えるだけなので処理時間が短い。これに対して配列の要素の 挿入・削除では,挿入または削除する要素以降の要素を1つずつずらしていく移動が 必要なため処理時間が長い。 ア × 要素番号によりアクセスできる配列に比べ,連結リストではポインタを順番 にたどる必要があるため,処理時間が長い。 イ × 配列の特徴。リストで要素の移動をしなくても,ポインタの更新だけで済む。 ウ × 配列の特徴。リストではポインタを順番にたどる必要がある。 エ 〇 <解答> エ 例題 4 (平成 24 年春 問 7) 多数のデータが単方向リスト構造で格納されている。このリスト構造には,先頭ポ インタとは別に,末尾のデータを指し示す末尾ポインタがある。次の操作のうち,ポ インタを参照する回数が最も多いものはどれか。 ア リストの先頭にデータを挿入する。 イ リストの先頭のデータを削除する。 ウ リストの末尾にデータを挿入する。 エ リストの末尾のデータを削除する。 アドレス 100 200 300 ア 社員名 次ポインタ 前ポインタ 社員 A 300 0 社員 T 0 300 社員 K 200 100 イ a,e,f a,b,e,f 社員名 次ポインタ 前ポインタ 社員 A a b 社員 T c d 社員 K e f 社員 G x y ウ a,f エ b,e 解説 ●追加前の状態 アドレス 100 200 300 社員名 社員 A 社員 T 社員 K 次ポインタ 300 0 200 前ポインタ 0 300 100 ●問題 問題を 問題を解くカギ ①社員 A の後に社員 G を 追加するので,社員 A の 次ポインタが社員 G をポ イントするように書き換 え,社員 G の前ポインタ が社員 A をポイントする よう書き換えます。 ●追加後の状態 社員 A ⇒ 社員 G ⇒ 社員 K の順なので 社員 A の次が 社員 G アドレス 100 200 300 400 社員名 社員 A 社員 T 社員 K 社員 G 次ポインタ a c e x 前ポインタ b d f y これより a を 300 から 400 に変更 x に 300 をセットする 社員 G の次が 社員 K 解説 ●問題 問題を 問題を解くカギ ⇒ リストの末尾のデータを削除する場合,末尾の要素の直前要 素の次ポインタを Null に書き換える必要があるため,末尾の要素の直前要素までポ インタのリンクをたどり,直前要素の次ポインタを Null に書き換える必要があり, ポインタの参照回数が最も多くなる。 ア × 挿入する要素を参照してその次ポインタを先頭ポインタの内容に書き換え た後,先頭ポインタを挿入する要素のアドレスに書き換えるので,2 回のポ インタの参照が必要。 イ × 先頭ポインタによりリストの先頭データを参照してその次ポインタの内容 で,先頭ポインタを書き換えるので,1 回のポインタの参照が必要。 ウ × 挿入する要素を参照してその次ポインタの内容を Null に書き換えた後,末 尾ポインタによりリストの末尾要素を参照してその次ポインタを挿入する 要素のアドレスに書き換えた後,末尾ポインタの内容を挿入する要素のアド レスに書き換えるので,2 回のポインタの参照が必要。 エ 〇 <解答> エ アドレス 100 200 300 400 逆のリンクは社員 K ⇒ 社員 G 社員 ⇒ 社員 A なので アドレス 100 200 300 400 社員名 社員 A 社員 T 社員 K 社員 G 次ポインタ a c e x 社員 K の前が 社員 G 前ポインタ b d f y 社員 G の前が 社員 A ●問題 問題を 問題を解くカギ ②社員 K の前に社員 G を追加するので,社員 G の次ポインタが社員 K をポイントするよう に書き換え,社員 K の 前ポインタが社員 G を ポイントするよう書き 換えます。 これより f を 100 から 400 に変更 y に 100 をセットする したがって a と f の 2 つのポインタが変更される。 <解答> ウ 例題 6 (平成 25 年秋 問 6) リストは,配列で実現する場合とポインタで実現する場合とがある。リストを配列 で実現した場合の特徴として,適切なものはどれか。 ア リストにある実際の要素数にかかわらず,リストの最大長に対応した領域を確保 し,実際には使用されない領域が発生する可能性がある。 イ リストにある実際の要素数にかかわらず,リストへの挿入と削除は一定時間で行 うことができる。 ウ リストの中間要素を参照するには,リストの先頭から順番に要素をたどっていく ので,要素数に比例した時間が必要となる。 エ リストの要素を格納する領域の他に,次の要素を指し示すための領域が別途必要 となる。 解説 ア 〇 リストを配列で実現する場合,リストの最大長に対応した要素数の配列要素 の領域を確保する必要があるため,実際には使用されない領域が発生する可 能性がある。 イ × これはリストをポインタで実現する場合の特徴。リストを配列で実現する場 合,挿入又は削除する要素以降の要素の移動が必要なため,処理時間は移動 する要素数が多くなると大きくなるが,リストをポインタで実現する場合 は,ポインタの更新だけで済むので,リストへの挿入と削除は一定時間で行 うことができる。 ウ × これはリストをポインタで実現する場合の特徴。リストを配列で実現する場 合,要素の参照は配列の要素番号により行えるが,リストをポインタで実現 する場合は,リストの先頭から順番に要素をたどっていくので,要素数に比 例した時間が必要となる。 エ × これはリストをポインタで実現する場合の特徴。リストの要素を格納する領 域の他に,次の要素を指し示すためのポインタ領域が別途必要となる。 <解答> ア 例題 7 (平成 27 年秋 問 5) ポインタを用いた線形リストの特徴のうち,適切なものはどれか。 ア 先頭の要素を根とした n 分木で,先頭以外の要素は全て先頭の要素の子である。 イ 配列を用いた場合と比較して,2 分探索を効率的に行うことが可能である。 ウ ポインタから次の要素を求めるためにハッシュ関数を用いる。 エ ポインタによって指定されている要素の後ろに,新たな要素を追加する計算量 は,要素の個数や位置によらず一定である。 解説 ア イ ウ エ × n 分木の説明 × 2 分探索を効率的に行うことができるのは配列の特徴 × 線形リストでは,次の要素を求めるためにポインタを用います 〇 線形リストへの要素の追加は,ポインタの書換えだけででき,新たな要素を 追加する計算量は,要素の個数や位置によらず一定です <解答> エ 第 1 部テクノロジ( テクノロジ(基礎理論) 基礎理論)>Chapter2 Chapter2 データ構造 データ構造と 構造とアルゴリズム 18 ★ 基本ソート 基本 ソート( ソート ( 隣接交換法・ 隣接交換法 ・ 選択法・ 選択法 ・ 挿入法) 挿入法)と高速ソート 高速ソート ◆ここがポイント ここがポイント! ポイント! ●隣接交換法による 隣接交換法による整列 による整列 隣接要素間で比較し,小さいも のを右端に移動し整列する方法 ●挿入法による 挿入法による整列 による整列 既に整列済みの部分の適切な 位置に挿入し整列する方法 ■基本 基本ソート 基本ソート( ソート(隣接交換法, 隣接交換法,選択法, 選択法,挿入法) 挿入法)のアルゴリズム ■隣接交換法( 隣接交換法(バブルソート) バブルソート)のアルゴリズム 隣接交換法は 隣接交換法は,隣接する 隣接するデータ するデータの データの並びが逆順 びが逆順なら 逆順なら入 なら入れ替える 昇順ソート ソート法 昇順ソートの ソートの場合, 場合,隣接要素間で 隣接要素間で比較を 比較を ソート法です。例えば昇順 行い,逆順になっていれば 逆順になっていれば入 になっていれば入れ替える,つまり える 昇順になっていれば 昇順になっていれば入 になっていれば入れ替えず 昇順でなければ 昇順でなければ入 でなければ入れ替える という操作 という操作を 操作を繰り返すことで, すことで,最大の 最大のデータから データから順次昇順 から順次昇順の 順次昇順の位 置へ移動する バブルソート 移動するアルゴリズム するアルゴリズムで アルゴリズムで,バブルソートとも呼ばれる。 ■最大値選択法の 最大値選択法のアルゴリズム 先頭と 2 個目を比べ,降順に なる位置に挿入する。降順な らそのまま。 ↑ 選択法では,降順 降順ソート 選択法 降順ソートの ソートの場合,未整列要素 場合 未整列要素の 未整列要素の最大値を選ん で,未整列な 未整列な要素の 要素のデータ列 データ列の先頭にもってくるという 先頭にもってくるという操作 にもってくるという操作を 操作を 繰り返すことで整列 すことで整列を 整列を行う。 ●最大値選択法 最大値選択法では, 最大値選択法 各選択したソート範囲 の先頭位置に最大のも のがくることで降順に 整列する。 ●挿入法による整列の 場合,ソート済みデー タ列に対し,直後のデ ータの挿入すべき位置 をサーチして挿入す る。そのため挿入位置 以降のデータ列を後方 にシフトし,1要素分 空ける必要がある。 ■挿入法の 挿入法のアルゴリズム 3 個目を,降順に並ぶ左側部分 の適切な位置に挿入し,以降 を右に移動する。 挿入法では,ソート ソート済 挿入法 ソート済みのデータ みのデータ列 データ列に対し,その直後 その直後の 直後のデー タの挿入すべき 挿入すべき位置 すべき位置を 位置をサーチし サーチし,挿入位置以降の 挿入位置以降のデータを データを右シ フトして フトして, して,そこに挿入 そこに挿入するという 挿入するという操作 するという操作を 操作を繰り返すことで整列 すことで整列を 整列を 行う。つまり つまり挿入すべき 挿入すべき位置 すべき位置を 位置を探して, して,割り込んで並 んで並べる整列 べる整列 法です。 です。 例題 1 (平成 19 年春 問 14) 最初に戻ってこの範囲で繰返す 配列 A[i](i=1,2,…,n)を,次のアルゴリズムによって整列する。行 2~3 の処理 が初めて終了したとき,必ず実現されている配列の状態はどれか。 [アルゴリズム] 行番号 1 i を 1 から n-1 まで増やしながら行 2~3 を繰り返す 2 j を n から i+1 まで減らしながら行 3 を繰り返す 3 もし A[j]<A[j-1]ならば,A[j]と A[j-1]を交換する 最も小さいものが右に,最も大 きいものが左に降順に並ぶ ●最大値選択法 最大値選択法による 選択法による整列 による整列 選択法は,一番大きなも のを選び,さらに残りの 中から大きなものを選ん で順に並べていく方法 ア ウ A[1]が最小値になる。 A[n]が最小値になる。 イ A[1]が最大値になる。 エ A[n]が最大値になる。 解説 i=1のときjをnから 2 まで1ずつ減らしながら行 3 の処理により A[j]<A[j-1]ならば,A[j]と A[j-1]を交換する 例えば A[5]と A[4]を比較し,A[5]<A[4]ならば,A[5]と A[4]を交換する。つまりより 小さな値 A[j]が要素番号の小さな配列要素 A[j-1]に格納され,A[1]が最小値になる。 <解答> ア 第2部テクノロジ( テクノロジ(コンピュータシステム) コンピュータシステム)>Chapter4 Chapter4 システム構成要素 システム構成要素 36 ★★ ■直列 直列システム 直列システムと システムと並列システム 並列システムの システムの稼働率の 稼働率の法則 システムの システムの稼働率 直列システムと並列システムの稼働率の計算のしかた,直列システムと 並列システムの稼働率の大小関係などがポイントです。 直列システムでは,1つでも稼働しない装置があると全体が 稼働しないので,接続台数がふえるほど故障する確率が高くな ります。したがって直列接続の装置台数がふえるほど,システ ムの稼働率は低くなります。 ◆ここがポイント ここがポイント! ポイント! ■稼働率の 稼働率の計算 ●直列システム 直列システムの システムの稼働率 ●並列システム 並列システムの システムの稼働率 直列システムでは,すべての装置が稼 並列システムでは,少なくとも1つが稼 働していなければ、全体は稼働しない 働していれば,全体は稼働するので,2 ので,各装置の稼働率の積になりま 台とも稼働しない確率を1から差引いて す。 求めます。 a 稼働率 a a a a3 a a a2 (a<1 なので,a3<a2<a になります) ■装置 装置をつなぐほど くなる並列システム 装置をつなぐほど高 をつなぐほど高くなる並列 並列システムの システムの稼働率 稼働率B たがって並列接続の装置台数がふえるほど,システムの稼働率 は高くなります。 並列接続では,接続台数がふえるほど迂回路が増えます。し 並列システム 並列システムの システムの稼働率 直列システム 直列システムの システムの稼働率 =A× =A×B a a =1-(2台とも稼働 とも稼働しない 稼働しない確率 しない確率) 確率) =1-(1-A) -A) × (1 (1-B) -B) a a a a ■直列 直列システム 直列システムの システムの稼働率< 稼働率<並列システム 並列システムの システムの稼働率 a 並列接続では,1 台が故障した場合の迂回路ができるので,直列システ ムよりも並列システムの稼働率が高くなります。 a a a a a a a =2a(1-a)>0 ●直列システムの稼働率 ●並列システムの稼働率 A=a2 a B-A=(1-(1-a)2)-a2 =2a-2a2 B=1-(1-a)2 直列システムの稼働率 A<並列システムの稼働率 B となります。 稼働率 A=a B=1-(1-a)2 B-A =1-(1-a)2-a =a-a2 =a(1-a)>0 (a<1) B>A ●直列システムの稼働 率は,個々の装置の稼 働率の積になるので, 1 より小さな稼働率 a を掛ければ掛けるほど 直列システムの稼働率 は低下します。 a 稼働率A 稼働率B 稼働率 A ■装置 装置をつなぐほど 装置をつなぐほど低 をつなぐほど低くなる直列 くなる直列システム 直列システムの システムの稼働率 C=1-(1-a)3 C-B =1-(1-a)3-(1-(1-a)2) =(1-a)2-(1-a)3>0 (0<a<1 なので 1-a<1) C>B したがって A<B<C の順になります。 ●並列システムの稼働 率は,個々の装置の稼 働率 a を 1 から差し引 いた 1-a の積を 1 か た差引いて求めるの で,1 より小さな1-a を掛ければ掛けるほど 小さくなり,これを差 引いて求める並列シス テムの稼働率は逆に高 くなります。 例題 1 (平成 22 年春 問 16) ■直並列 直並列システム 直並列システムの システムの稼働率 稼働率が 0.9 の装置を複数個接続したシステムのうち,2 番目に稼働率が高い シス テムはどれか。ここで,並列接続部分については,少なくともどちらか一方が稼働し ていればよいものとする。 ■直列 直列システム 直列システムの システムの稼働率< 稼働率<並列システム 並列システムの システムの稼働率 すべて直列につながるシステムよりも,一部が並列につながる装置があるシステムのほ うがシステム全体の稼働率は高くなります。 a a a a a a 稼働率 B=a×(1-(1-a)2) A=a2 C=a 解説 B-A=a×(1-(1-a)2)-a2=a(2a-a2)-a2=a2-a3=a2 (1-a)>0 C-B=a-a×(1-(1-a)2)=a-a(2a-a2)=a(1-2a+a2)=a(1-a)2>0 したがって A<B<C の順になります。 ■直列システム 直列システムの システムの並列接続< 並列接続<並列システム 並列システムの システムの直列接続 直列システムを並列に接続するよりも,並列システムを直列に接続するほうがシステム 全体の稼働率は高くなります。 稼働率 a a a a a a a a a a A=1-(1-a2)2 B-A=(1-(1-a)2) 2-(1-(1-a2)2) B=(1-(1-a)2) 2 直列につなぐ装置の数が増えるほどシステムの稼働率は低下するのでエ<イとなり, また並列につなぐ装置の数が増えるほどシステムの稼働率は向上するのでア<ウと なります。直列システムの並列接続の稼働率<並列システムの直列接続の稼働率より ウ<エとなるので,ア<ウ<エ<イの順になります。2 番目に稼働率が高いのはエ。 <解答> エ 例題 2 (平成 24 年春 問 17) 図に示すシステム構成全体の稼働率を表す式はどれか。ここで,システムが正常に 稼働するためには,磁気ディスクは 2 台とも正常でなければならず,それぞれのサイ トで少なくとも 1 台は正常でなければならない。 装置 磁気ディスク CPU 端末 C=1-(1-a)2 C-B=1-(1-a)2-(1-(1-a)2) 2 =(2a-a2) 2-(2a2-a4) =a2(2-a)2-a2(2-a2) =(1-(1-a)2)(1-(1-(1-a)2)) =(1-(1-a)2)(1-a) 2 =a2 (2-2a+2a2) =2 a2 (1-a+a2)>0 =(2a-a2)(1-a) 2 =a(2-a) (1-a) 2>0 したがって A<B<C の順になります。 1 つの装置が故障した場合の迂回路が,並列システムの直列接続のほうが多くなります。 a a a a a a a a 1 台の稼働率 D C T ア D2C(1-T2)2 イ D2C(1-(1-T)2)2 ウ (1-D)2C(1-T2)2 エ (1-D)2C(1-(1-T)2)2 解説 磁気ディスクは 2 台とも正常でなくては稼働しないので,直列システムと見なすこと ができ,その稼働率は D2 になる。それぞれのサイトで少なくとも 1 台の端末が正常 であれば各サイトは稼働するので,それぞれ並列システムと見なすことができ,サイ トa,サイトbの稼働率はいずれも 1-(1-T)2 になる。したがって図に示すシステム <解答> イ 全体の稼働率はイの D2C(1-(1-T)2)2 になる。 例題 3 (平成 28 年春 問 14) 例題 4 (平成 27 年春 問 15) 図のように,1 台のサーバ,3 台のクライアント及び 2 台のプリンタが LAN で接続さ れている。このシステムはクライアントからの指示に基づいて,サーバにあるデータ をプリンタに出力する。各装置の稼働率が表のとおりであるならば,このシステムの 稼働率を表す計算式はどれか。ここで,クライアントは 3 台のうち 1 台でも稼働して いれば正常とみなし, プリンタは 2 台のうちどちらかが稼働していれば正常とみなす。 稼働率が最も高いシステム構成はどれか。ここで,並列に接続したシステムは,少な くともそのうちのどれか一つが稼働していればよいものとする。 ア イ ウ エ 稼働率が 70%の同一システムを四つ並列に接続 稼働率が 80%の同一システムを三つ並列に接続 稼働率が 90%の同一システムを二つ並列に接続 稼働率 99%の単一システム 解説 装置 ア ウ 稼働率 サーバ a クライアント b プリンタ c LAN 1 ab3c2 a(l-b)3(1-c)2 アの稼働率=1-(1-0.7)4=1-0.34=1-0.0081=0.9919 イの稼働率=1-(1-0.8)3=1-0.23=1-0.008=0.992 ウの稼働率=1-(1-0.9)2=1-0.12=1-0.01=0.99 エの場合,稼働率 99%の単一システム したがって稼働率が最も高いのはイです。 イ エ <解答> イ a(1-b3)(1-c2) a(1-(1-b)3)(1-(1-c)2) 解説 ①サーバの稼働率=a ②クライアント 3 台のどれかが稼動している稼働率 =1-(クライアント 3 台すべてが稼動しない確率) =1-(1-b)×(1-b)×(1-b)=1-(1-b)3 ③プリンタ 2 台のどれかが稼動している稼働率 =1-(プリンタ 2 台とも稼動しない確率) =1-(1-c)×(1-c)=1-(1-c)2 このシステムの稼働率=①×②×③=a(1-(1-b)3)(1-(1-c)2) <解答> エ 第6部テクノロジ( テクノロジ(セキュリティ) セキュリティ)>Chapter8 Chapter8 セキュリティ 62 ★★ ■情報 情報セキュリティ 情報セキュリティ管理 セキュリティ管理と 管理と ISMS 情報セキュリティ 情報セキュリティ管理 セキュリティ管理と 管理と ISMS セキュリティの 3 大要素と情報セキュリティ管理,セキュリティポリシの役 割,ISMS と PDCA サイクルなどがポイントです。 ◆ここがポイント ここがポイント! ポイント! ■情報 情報セキュリティ 情報セキュリティ管理 セキュリティ管理で 管理で高めるセキュリティ めるセキュリティの セキュリティの 3 大要素 損失の可能性(リスク値)は,情報資産の価値,脅威,ぜい弱性の大きさに比 例して大きくなります。ぜい弱性を小さくして損失の可能性を減らすための管理 情報セキュリティ セキュリティ管理 管理です。セキュリティ管理によりセキュリティの 3 大要 が情報 情報 セキュリティ 管理 機密性・完全性 完全性・可用性 可用性を高めてぜい弱性を小さくすることによりリス 素である機密性 機密性 完全性 可用性 ク値を下げます。 情報セキュリティ 情報セキュリティ管理 セキュリティ管理(ISMS) 管理 情報セキュリティポリシ 情報セキュリティポリシ(セキュリティの セキュリティの基本方針) 基本方針) 情報セキュリティポリシを策定し,情報セキュリティ管理を行います。 情報資産に対して 機密性 セキュリティ 完全性 の 3 大要素 可用性 情報資産の価値 × を高めてぜい弱 性を小さくする さくする 脅威 × 脅威による損失の 可能性( 可能性(リスク値 リスク値) を減らす ぜい弱性 = リスク値 ↑これを小さくしてリスク値を下げる ■リスク, リスク,脅威, 脅威,ぜい弱性 ぜい弱性 リスクとは,脅威が情報資産のぜい弱性を利用して,情報資 リスク 脅威とは,自 産への損失又は損害を与える可能性のことです。脅威 脅威 然災害,システム障害,人為的過失,不正行為など,情報シス テムに対して悪い影響を与える要因のことです。ぜい ぜい弱性 弱性と ぜい 弱性 は,セキュリティ上のトラブルを招く要因となるようなシステ ム上の脆さのことです。脅威とぜい弱性が結びつくと,リスク が現実化し損失をもたらします。 ■セキュリティの セキュリティの三大要素とは 三大要素とは セキュリティの 3 大要素とは機密性 大要素 機密性, 完全性,可用性です。 可用性 機密性,完全性, ●機密性 ⇒ 許可された利用者だけにアクセスさせること 常に不整合がなく完全な状態に維持さ 完全性 保全性)⇒ 保全性 ●完全性(保全性 れていること ●可用性 ⇒ いつでも常に使用できる状態にあること ●損失には障害,破壊, 盗難などの「直接損 失」,業務の中断や信用 喪失などの「間接損 失」,復旧費用やリスク 対策などの「対策費用」 が含まれます。 ■ISMS の PDCA サイクルで サイクルで継続的改善 情報セキュリティ 情報セキュリティ管理 セキュリティ管理(情報 管理 情報セキュリティマネジメント 情報セキュリティマネジメント) セキュリティマネジメント と は,情報システムに対するぜい弱性を減らすためのセキュリテ ィ管理です。そのためには機密性,完全性,可用性を高めるこ とにより,情報システムを脅かす脅威による損失や損害の可能 リスク)を軽減することが必要です。 情報セキュリティ 性(リスク リスク 情報セキュリティ ■セキュリティ セキュリティの セキュリティの基本方針などを 基本方針などを明文化 などを明文化する 明文化するセキュリティポリシ するセキュリティポリシ 情報セキュリティポリシ 企業の情報セキュリティに対する基本方針や取組 情報セキュリティポリシは, セキュリティポリシ 基本方針は企業のセキュリティに対する方針と取 みなどを明文化したものです。基本方針 組みが明示されたもので,社内及び社外に公表し,周知徹底しますが,セキュリ 対策基準と,具体的な防御方法である実施基準 実施基準は機密 ティルールの具体策である対策基準 対策基準 実施基準 事項であるため公開しません。 ●基本方針 ⇒情報資産を脅威から守るための組織の方針と取組み(公開) ●対策基準 ⇒遵守ルールやセキュリティ対策の具体策の指針・基準をさだめた もの(非公開) ●実施基準 ⇒具体的な防御方法や手順などの指針・基準を定めたもの(非公開) 管理システム PDCA サイクルにより情報 管理システム(ISMS システム ISMS)は,PDCA ISMS サイクル セキュリティ管理の継続的改善を行うモデルで,このシ ISMS 認証規格を取得できま ステムを確立した企業は,ISMS 認証規格 す。 ISMS で継続的改善 Plan(ISMS の確立) Plan ・情報資産のリスクアセスメント ・セキュリティ方針や基準の策定 Action(ISMS の維持と改善) Action ・是正,予防,改善策の決定 Do(ISMS の導入と運用) Do ・セキュリティ教育や管理策の実行 Check(ISMS の監視とレビュー) Check ・・有効性の監査と検証・評価 ■リスク リスク分析 リスク分析と 分析とリスク対策 リスク対策 例題 1 (平成 26 年春 問 39,類題平成 28 年秋 問 37) ■リスクの リスクの洗出しと 洗出しと影響度 しと影響度を 影響度を分析する 分析するリスク するリスク分析 リスク分析 ア Web ページの改ざん イ システム内に保管されているデータの不正コピー ウ システムを過負荷状態にする DoS 攻撃 エ 通信内容の盗聴 情報セキュリティにおける“完全性”を脅かす攻撃はどれか。 リスクの損失評価額は,損失予想額×発生率で表されるので,リスクの大きさに従っ リスク分析 分析を行います。リス て優先順位を付けてリスクに対処すべきです。そのためにリスク リスク 分析 リス 分析では,発生する可能性のあるリスクを洗い出し,その影響度を分析します。 ク分析 リスク分析 分析は 以下の 手順で います。 ●リスク 分析 は以下 の手順 で行います 。 ①分析対象の把握 ②ぜい弱性の発見と識別 ③損失額予想 ④損失の分類と影響度の分析 ⑤リスク対策の検討・評価と優先順位の決定 ■リスクファイナンス リスクファイナンス(リスク財務,つまりリスクに対する資金対策)は,リスクが現 リスクファイナンス 実化した場合の対策で,損失の補填や対応費用を確保しておくことです。これには「リ リ スク移転 移転」と「リスク リスク保有 保有」があります。 スク 移転 リスク 保有 リスク移転 リスク移転 保険加入により損失補填させるなど,他にリスクを転嫁すること リスク保有 リスク保有 リスクが発生しても,受け入れ自己負担により損失補填を行うこと リスクコントロール(リスク制御)は,リスクの現実化を防ぐための事前策です。技 リスクコントロール 術的,物理的対策などにより,リスク発生を防止し,損失を軽減することです。これに は「リスク リスク低 リスク回避 回避」「リスク リスク分散 分散」などがあります。 リスク 低減」「リスク リスク 回避 リスク 分散 リスク回避 リスク回避 リスクの原因を取り去り,リスクを避けること リスク低 リスク低減 リスクによる影響や発生率を許容可能な大きさまで減じること リスク分散 リスク分散 リスクを対処可能,保有可能な大きさに分散する対策 します ●損失額,発生率ともに小さなリスクは保有します ア イ ウ エ 損失の発生率を低下させること 保険に加入するなどで他者と損失の負担を分担すること リスクの原因を除去すること リスクを扱いやすい単位に分解するか集約すること 発生率 小 リスク 移転 リスク 保有 リスク 回避 リスク 低減 損失額小 ア × リスク軽減の説明 ウ × リスク回避の説明 イ 〇 エ × リスク分離の説明 <解答> イ 例題 3 (平成 22 年春 問 80,平成 20 年春 問 69) JIS Q27001:2006 における ISMS の確立に必要な事項①~③の順序関係のうち,適 切なものはどれか。 ①適用宣言書の作成 ②リスク対応のための管理目的及び管理策の選択 ③リスクの分析と評価 ア ①→②→③ イ ①→③→② ウ ②→③→① 損失額大 損失額と発生率の関係により次の対策をとります。 します ●損失額は小さいが,発生率が大きなリスクは低減 完全性とは,システムに不整合がなく,常に完全な状態に維持されていることを指す。 したがって Web ページが改ざんされるなどは,完全性を脅かす攻撃に該当する。 ア ○ イ × 機密性を脅かす攻撃に該当する ウ × 過負荷状態によるシステム停止に導くもので,可用性や信頼性を脅かす攻撃 に該当する エ × 機密性を脅かす攻撃に該当する <解答> ア 例題 2 (平成 25 年秋 問 39,平成 22 年秋 問 43,類題平成 21 年春 問 41) リスク移転を説明したものはどれか。 解説 ■リスクコントロール ●損失額,発生率ともに大きいリスクは回避します ●損失額が大きいが,発生率が小さいリスクは移転 解説 発生率 大 エ ③→②→① 解説 ②の「リスク対応のための管理目的及び管理策の選択」を行うには,どのようなリス クが存在するのかなど③の「リスク分析と評価」を行う必要があり,まず③→②の順 序になる。これを満たすのはイかエになるが,②の管理策を選択し適用した後,最後 に適用宣言を行えばよく,③→②→①の順が適切。 <解答> エ 例題 4 (平成 26 年秋 問 39) リスクアセスメントに関する記述のうち,適切なものはどれか。 ア 以前に洗い出された全てのリスクへの対応が完了する前にリスクアセスメント を実施することは避ける。 イ 将来の損失を防ぐことがリスクアセスメントの目的なので,過去のリスクアセス メントで利用されたデータを参照することは避ける。 ウ 損失額と発生確率の予測に基づくリスクの大きさに従うなどの方法で,対応の優 先順位を付ける。 エ リスクアセスメントはリスクが顕在化してから実施し,損失額に応じて対応の予 算を決定する。 解説 ア × すべての対策が完了しなくても,繰返しリスク分析を実施すべきである イ × 過去の類似プロジェクトから作成されたデータも利用すべきである ウ ○ あらゆるリスクに対処するのは,費用対効果の点から効率的ではなく,リス クの大きさに従って優先順位をつけて対処すべきである エ × リスクアセスメントはリスクが顕在化する前に実施すべきである <解答> ウ 例題 3 (平成 19 年秋 問 69) ISMS プロセスの PDCA モデルにおいて,PLAN で実施するものはどれか。 ア 運用状況の管理 ウ 実施状況に対するレビュー イ 改善策の実施 エ 情報資産のリスクアセスメント 解説 ア イ ウ エ × × × ○ 運用状況の管理は,計画に基ずく実際の運用状況の管理で Do に該当 改善策の実施は,検証に基ずく改善策の実行で Action に該当 実施状況に対するレビューは運用結果に対する検証で Check に該当 リスクアセスメントはリスクの洗い出しと策定計画で Plan に該当 <解答> エ 例題 4 (平成 28 年秋 問 56) JIS Q 20000-1 は,サービスマネジメントシステム(SMS)及びサービスのあらゆる場 面で PDCA 方法論の適用を要求している。SMS の計画(Plan)に含まれる活動はど れか。 ア あらかじめ定めた間隔でのマネジメントレビューの実施とその記録の維持 イ 権限,責任及び,プロセスにおける役割についての枠組みの作成 ウ 資金及び予算の割当て及び管理の活動を通じた,SMS の導入及び運用 エ 承認された改善についての計画の作成,改善の実施とその報告 解説 ア × 評価・検証(Check)の活動 ウ × 運用・実行(Do)の活動 イ 〇 エ × 改善策の実施(Action)の活動 <解答> イ 第9部ストラテジ( ストラテジ(システム戦略 システム戦略と 戦略と経営戦略) 経営戦略)>Chapter14 Chapter14 システム企画 システム企画 81 ★★ システム企画 システム企画 システム企画では,システムの全体像の構想や情報システムを構築する ための計画を行う企画,要件定義,調達計画を行います。 ◆ここがポイント ここがポイント! ポイント! ■企画・ 企画・要件定義・ 要件定義・調達計画からなる 調達計画からなるシステム からなるシステム企画 システム企画 ●システム企画 企画, システム企画は,情報システム戦略に基づき,企画 企画 企画,要件定義, 要件定義,調達計画 を行います。 企画プロセス ●システム化構想 ●システム化計画 要件定義プロセス ●業務要件の定義 ●機能要件の定義 調達計画プロセス ●ベンダへの提案依頼 ●見積り入手 ●調達先選定 ■企画 企画プロセス 企画プロセスで プロセスで行うシステム化構想 システム化構想と 化構想とシステム化計画 システム化計画 ■企画プロセス 企画プロセス 企画プロセス システム化構想 企画プロセスでは, プロセス システム化構想とシステム 化構想 システム化計画 システム化計画を行い 化計画 ます。システム化構想ではシステム化の目的や目標,システム の全体像の構想などを行います。システム化計画では,企業の 経営目標や経営戦略,業務と整合性のとれた情報システムを構 する企業(製造販売元企 築するための計画を行います。 ム開発などのサービス ■システムの システムの構想を 構想を行う「システム化構想 システム化構想」 化構想」 をベンダと呼びます。 の設定などの作業を行います。 ■システムを システムを構築する 構築する計画 する計画を 計画を行う「システム化計画 システム化計画」 化計画」 ●対象業務の 対象業務の分析と 分析と業務モデル 業務モデルの モデルの作成 経営目標や経営戦略,業務と整合性のとれた情報システムを システム化計画 化計画では,対象業務を分析し,既存 構築するため,システム システム 化計画 ●システム要件やソフトウェア要件の定義 ●システム設計(システム方式設計やソフトウェ ア方式設計,ソフトウェア詳細設計) ●プログラミング,テスト システムの問題点(重複・不整合などの不都合)を解消した業 業 務モデルや モデルや情報システムモデル 情報システムモデルを を 作成して業務機能をモデル 作成 システムモデル 運用プロセス ●システムの稼働状況の監視・管理 全体計画では,全体開発スケジュールや中長期で開発すべき 個別システムの概要と優先順位,情報システム基盤(サーバや 保守プロセス ●システムの機能修正や拡張 通信設備など)の整備計画策定などを行います。 開発プロセス 化します。 ●全体計画 全体計画 ●投資対効果 投資対効果の 投資対効果の検討 ■企画プロセス 企画プロセスで プロセスで行うシステム化構想 システム化構想と 化構想とシステム化計画 システム化計画 ●システム システム化構想 システム化構想 ①システム化基本方針(システム 化の目的と目標の明確化) ②システム化を行う対象業務 ③システムの全体像の構想 ④投資目標 ●システム システム化計画 システム化計画 ①対象業務の分析 ②全体計画(開発スケジュール) ③開発プロジェクト体制 ④リスク分析 ⑤投資対効果の検討 業),つまり情報システ を提供する企業のこと システム化構想 システム化構想では,情報システム戦略に沿って,システム 化構想 経営上の 課題や ニーズの 確認,システムの対 化の目的や目標,経営上 経営上 の課題 やニーズ の確認 象業務の明確化,システム システムの の 全体像の 全体像 の 構想と 構想 と 明確化,投資目標 明確化 システム システム企画 システム企画 ●ベンダ 製品やサービスを提供 投資額に見合った情報化による投資 投資効 投資効果があるかを検討し ます。システム開発に必要なプロジェクトチームの編成や開発 要員計画などの開発体制の検討やリスク分析などを行います。 ■要件定義プロセス 要件定義プロセス 要件定義プロセス 現状の業務に対する利用者 利用者の 要件定義プロセスでは, プロセス 利用者の改善要 現行業務を 現行業務を分析した 分析 望を 調査し,利用者のニーズを踏まえて現行業務 調査 業務要件や機能要件 後,業務要件 業務要件 機能要件の定義を行います。 機能要件 ■調達計画プロセス 調達計画プロセス 例題 2 (平成 27 年春 問 66) 調達計画プロセス 調達計画プロセスは,調達方法や調達先を選定し,契 プロセス 約締結を行うまでのプロセスです。調達先を選定するた 情報提供依頼,提案依頼書 めに,情報提供依頼書による情報提供依頼 情報提供依頼 による提案依頼 提案依頼,見積 提案依頼 見積り 見積り依頼,調達先 依頼 調達先の 調達先の選定を行った後, 選定 契約締結を行います。 契約締結 共通フレームによれば,企画プロセスにおいて定義するものはどれか。 ア 新しい業務の在り方や業務手順,入出力情報,業務上の責任と権限,業務上のル ールや制約などの要求事項 イ 業務要件を実現するために必要なシステムの機能や,システムの開発方式,シス テムの運用手順,障害復旧時間などの要求事項 ウ 経営・事業の目的及び目標を達成するために必要なシステムに関係する経営上の ニーズ,システム化,システム改善を必要とする業務上の課題などの要求事項 エ システムを構成するソフトウェアの機能及び能力,動作のための環境条件,外部 インタフェース,運用及び保守の方法などの要求事項 ■開発プロセス 開発プロセス 開発プロセス 開発プロセスでは,システムやソフトウェアに要求さ プロセス システム要件定義 要件定義やソ れる機能や性能などを明確にするシステム システム 要件定義 ソ システム設計 フトウェア要件定義 システム設計 フトウェア要件定義を行い,これをもとにシステム 要件定義 (システム システム方式設計 システム方式設計,ソフトウェア 方式設計 ソフトウェア方式設計 ソフトウェア方式設計,ソフトウ 方式設計 ソフトウ ェア詳細設計 プログラミング テストなどを行います。 テスト ェア詳細設計) 詳細設計 ,プログラミング, 解説 例題 1 (平成 21 年秋 問 65) 企画プロセスでは,システム化構想とシステム化計画を行います。システム化構想で は,情報システム戦略に沿って,システム化の目的や目標,経営上の課題やニーズの 確認,システムの対象業務の明確化,システムの全体像の構想と明確化,投資目標の 設定などの作業を行います。システム化計画では,対象業務を分析し,既存システム の問題点(重複・不整合などの不都合)を解消した業務モデルや情報システムモデル を作成して業務機能をモデル化し,情報システムを構築するための計画を行います。 したがって企画プロセスにおいて定義するものとしてウが適切です。 ア × 要件定義プロセスで定義する内容です イ × 開発プロセスのシステム要件定義で行う内容です ウ 〇 エ × 開発プロセスのソフトウェア要件定義で行う内容です <解答> ウ 例題 3 (平成 26 年春 問 61) 共通フレームによれば,システム化構想の立案で作成されるものはどれか。 共通フレーム 2007 によれば,企画プロセスで実施すべきものはどれか。 ア 新しい業務の在り方を整理し,業務プロセスや業務ルールを明確にする。 イ 新しく開発されるシステムへの移行時期及び移行手順を明確にする。 ウ 業務の新しい全体像及び新システムの全体イメージを作成する。 エ ソフトウェアユニットのテスト要求事項及び予定を定義する。 ア イ ウ エ ■運用プロセス 運用プロセス 運用プロセス 運用プロセスでは,利用者のシステムの稼働状況を監視し, プロセス 安定稼働するよう するよう維持 安定稼働 するよう維持・ 維持・管理を行います。 管理 ■保守プロセス 保守プロセス 保守プロセス 保守プロセスでは,システムの問題の修正,改善要求 プロセス や機能追加などの変更依頼に従い,現行システムのソフ ソフ トウェアの トウェアの修正や変更 修正 変更・ 変更・機能拡張を行います。 機能拡張 解説 ●問題を 問題を解くカギ スです ⇒ 企画プロセス 企画プロセスは新システムのイメージの構想と立案のプロセ プロセス 企画プロセスはシステム化の方針及びシステムを実現するための実施計画を目的 とし,システム化構想及びシステム化計画の立案を行います。 ア イ ウ エ × 要件定義プロセスで実施すべきこと × 運用プロセスで実施すべきこと ○ × 開発プロセスで実施すべきこと <解答> ウ 企業で将来的に必要となる最上位の業務機能と業務組織を表した業務の全体像 業務手順やコンピュータ入出力情報など実現すべき要件 日次や月次で行う利用者業務やコンピュータ入出力作業の業務手順 必要なハードウェアやソフトウェアを記述した最上位レベルのシステム方式 解説 システム化構想ではシステム化の目的や目標,システムの全体像の構想などを行いま す。 ア 〇 イ × システム要件定義で作成 ウ × 要件定義プロセスにおける業務要件定義で作成 エ × システム方式設計で作成 <解答> ア 例題 4 (平成 25 年春 問 64) 例題 7 (平成 23 年秋 問 66,類題平成 21 年春 問 65) ソフトウェアライフサイクルを,企画,要件定義,開発,運用,保守のプロセスに 区分したとき, 企画プロセスの目的はどれか。 ア 新しい業務のあり方や運用をまとめた上で,業務上実現すべき要件を明らかにす ること イ 事業の目的,目標を達成するために必要なシステムに関係する要求事項の集合と システム化の方針,及びシステムを実現するための実施計画を得ること ウ システムに関する要件について技術的に実現可能であるかどうかを検証し,シス テム設計が可能な技術要件に変換すること エ システムの仕様を明確化し,それを基に IT 化範囲とその機能を具体的に明示す ること 解説 企画プロセスはシステム化の方針及びシステムを実現するための実施計画を目的とし,シス テム化構想及びシステム化計画の立案を行う。 ア × 要件定義プロセス(業務要件定義)の目的 イ ○ ウ × 開発プロセス(システム要件定義)の目的 エ × 要件定義プロセス(システム機能要件定義)の目的 <解答> イ 例題 5 (平成 24 年春 問 62) 情報戦略の立案時に,必ず整合性をとるべき対象はどれか。 ア 新しく登場した情報技術 ウ 情報システム部門の年度計画 イ 基幹システムの改修計画 エ 中長期の経営計画 解説 システム化計画は,企業の経営目標や経営戦略,業務と整合性のとれた情報 システムを構築するための中長期的な計画です。情報システム戦略の目的は, 全体最適化計画のもとに情報化投資を行い,最適で効率的な情報システムと 組織構造を構築することで経営戦略・経営目標を実現することにあります。 <解答> エ 例題 6 (平成 26 年秋 問 61) "システム管理基準"によれば,"全体最適化"に含まれる作業はどれか。 ア イ ウ エ 委託先を含む開発体制の策定 開発スケジュールの策定 個別システムのハードウェアの導入スケジュールの策定 情報システム基盤の整備計画の策定 解説 「全体最適化」では,組織体が経営戦略に基づき効果的な情報システム戦略を立案し, 全社的に情報システム開発を推進する体制を整える作業を行う。 <解答> エ システム化計画を立案するときに考慮すべき事項はどれか。 ア イ ウ エ 運用を考えて,自社の社員が開発する前提で検討を進める。 開発,保守,運用に関する費用と投資効果を明確にする。 失敗を避けるため,同業他社を調査し,同じシステムにする。 テスト計画,運用マニュアル及び障害対策を具体的に示す。 解説 システム化計画で行う作業は,①対象業務の分析 ②全体計画(開発スケジュール) ③開発プロジェクト体制 ④リスク分析 ⑤投資対効果の検討などです。 <解答> イ 例題 8 (平成 26 年春 問 65) “システム管理基準”において,情報システムの費用,スケジュール,開 発体制,投資効果などを明確にする計画はどれか。 ア 開発計画 イ 事業継続計画 ウ 全体最適化計画 エ 年間運用計画 解説 システムの開発計画では, ①対象業務の分析 ②全体計画(開発スケジュール) ③開発プロジェクト体制 ④リスク分析 ⑤投資対効果(投資採算性)の検討 などを行う。 <解答> ア