戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2019年 春期 午後07


家庭用浴室給湯システムに関する次の記述を読んで、設問1〜3に答えよ。

 G社は、家庭用浴室給湯システム(以下、浴室給湯システムという)を開発している。浴室給湯システムは、設定された給湯温度で浴槽に給湯を行う機能と、浴室に入った人が洗い場又は浴槽で動かなくなる事象(以下、異常事象という)を観測して、異常事象が発生したらブザーで同居人に知らせる機能をもつ。浴室給湯システムは、浴室内に設置されるリモコン、浴室の出入口に設置される出入りセンサ、及び浴室外に設置される給湯器で構成される。浴室給湯システムの構成を図1に、浴室給湯システムの構成要素の概要を表1に示す。
応用情報技術者試験(令和元年 午後 問07 図01)
応用情報技術者試験(令和元年 午後 問07 表01)
〔出入りセンサの出力の確定方法〕  MCU は、出入りセンサの出力を 1 回の読出しでは確定せず、10 ミリ秒周期で出力を読み出して、5 回連続で同じ値が読み出せたときに確定し、その値を確定値とする。   〔リモコンの動作〕  (1) リモコンは、各ボタンによって操作を受け付け、給湯器に指示を送信する。   ・運転ボタンが押されると給湯器の運転又は停止、給湯ボタンが押されると給湯、給湯温度変更ボタンが押されると給湯温度の変更というように、ボタンに応じた指示を給湯器に送信する。  (2) リモコンは、人の浴室の出入り及び異常事象を監視する。   ・人感センサの出力が 1 であれば、人が浴室に入ったと判定する。   ・人が浴室に入ったと判定した後、出入りセンサの確定値が 1 となった後で人感センサの出力が 0 となれば、人が浴室から出たと判定する。   ・人が浴室に入ったと判定した後、出入りセンサの確定値が 1 となる前に、人感センサの出力が連続して 3 分以上 0 であれば、異常事象と判定する。   ・異常事象と判定したら、いずれかのボタンが押されるまでブザーを鳴動する。   〔リモコンのソフトウェア構成〕  リモコンの組込みソフトウェアには、リアルタイム OS を使用する。異常事象の監視に関係する主なタスクの一覧を表2に示す。
応用情報技術者試験(令和元年 午後 問07 表02)

設問1浴室給湯システムの仕様について、(1)、(2)に答えよ。

(1)次の記述中のacに入れる適切な字句を答えよ。    浴室給湯システムは、aセンサとbセンサを併用して異常事象を監視している。これは、aセンサだけでは、aセンサの出力が1の状態が連続して0となった場合において、人がcときの事象か、異常事象が発生したときの事象かを判別できないからである。

模範解答

a:人感 b:出入り c:浴室から出た

解説

解答の論理構成

  1. 【問題文】では、浴室への人の出入りは“人感センサ”と“出入りセンサ”の両方で判定すると記載されています。
    引用:
    ・「リモコンは、人の浴室の出入り及び異常事象を監視する。」
    ・「人感センサの出力が 1 であれば、人が浴室に入ったと判定する。」
    ・「人が浴室に入ったと判定した後、出入りセンサの確定値が 1 となった後で人感センサの出力が 0 となれば、人が浴室から出たと判定する。」
  2. 人感センサだけでは“動き”の有無しか分かりません。動きがなくなり出力が連続して 0 になった場合、それが
    (ⅰ) 人が浴室から出たため動きがない
    (ⅱ) 浴槽や洗い場で動かなくなった異常事象
    のどちらかを区別できません。
    引用:
    「人が浴室に入ったと判定した後、出入りセンサの確定値が 1 となる前に、人感センサの出力が連続して 3 分以上 0 であれば、異常事象と判定する。」
  3. この曖昧さを解消するために、出入りセンサの確定値を組み合わせて判断しています。
    よって a は“人感”、b は“出入り”、c は“浴室から出た” が妥当です。

誤りやすいポイント

  • 人感センサの“検出範囲は浴室内に限られる”点を見落とし、出入りセンサだけで在室判定が行えると誤解しやすいです。
  • 出入りセンサは「人が浴室の出入口を横切っていることを検出している間は 1」とあるため、確定値が 1 でも“入室か退室かは判別できない”ことを忘れやすいです。
  • “3 分以上 0” は異常判定の条件ですが、これは“出入りセンサの確定値が 1 となる前”という前提が付いている点を取り違えがちです。

FAQ

Q: 人感センサだけで異常事象を検出できないのはなぜですか?
A: 動きがなくなった理由が“浴室から出た”か“浴室内で動けなくなった”か区別できないためです。出入りセンサを組み合わせて退室を確認しています。
Q: 出入りセンサの確定値が 1 になるまで待つ理由は?
A: 「人が浴室の出入口を横切っていること」を確実に捉え、入退室イベントを確定させるためです。短時間のノイズやチャタリングを排除する目的もあります。
Q: “確定値”とは何ですか?
A: 「10 ミリ秒周期で出力を読み出して、5 回連続で同じ値が読み出せたときに確定し、その値を確定値とする」と規定された、ノイズ除去後の安定したセンサ値です。

関連キーワード: センサフュージョン, チャタリング対策, 状態遷移, 組込みリアルタイムOS

設問1浴室給湯システムの仕様について、(1)、(2)に答えよ。

(2)リモコンが給湯器に指示を一つ送信するとき、シリアルI/Fにおける通信時間は何ミリ秒か。答えは小数第2位を切り上げて、小数第1位まで求めよ。 ここで、1バイトのデータは10ビットで送信され、ソフトウェアの動作時間は考慮しなくてよいものとする。

模範解答

3.2

解説

解答の論理構成

  1. データ長の把握
    【問題文】には「リモコンからの各指示のデータ長は、いずれも 3 バイトの固定長 である。」と記載されています。
    さらに設問文に「1バイトのデータは10ビットで送信」と明示されています。
    よって送信すべきビット数は
    です。
  2. 伝送速度の確認
    表1より「シリアル I/F の通信速度は、9,600 ビット/秒である。」と示されています。
  3. 送信時間の算出
    時間(秒)は「ビット数 ÷ ビット/秒」で求められます。
  4. 単位変換
    秒 → ミリ秒:
  5. 指定の丸め処理
    設問は「小数第2位を切り上げて、小数第1位まで」と指示しています。
    3.125 ms の小数第2位は 2(=0.02 ms の位)なので切り上げると 3.2 ms になります。
  6. 結論
    よって通信時間は 3.2 ms です。

誤りやすいポイント

  • 「1バイト=8ビット」と思い込み、パリティ・スタート/ストップビットを計算に入れ忘れる。
  • 秒からミリ秒への換算を失念して 0.003 s のまま回答してしまう。
  • 切り上げではなく四捨五入・切り捨てで 3.1 ms や 3.12 ms と書いてしまう。
  • ビット/秒をバイト/秒と誤って読み取り、9600 を 1200 などに変換するミス。

FAQ

Q: 「10ビット/バイト」とはどのビットを指しますか?
A: 一般的な非同期シリアル通信で用いられるスタートビット 1、データビット 8、ストップビット 1 の合計 10 ビットを示しています。
Q: 9600 ビット/秒をキロビット毎秒にして計算しても良いですか?
A: はい、9.6 kbps と置き換えても結果は同じですが、単位換算で誤りが出ないよう注意してください。
Q: 小数の切り上げは「3.13 ms → 3.2 ms」のようにどの桁を見ますか?
A: 小数第2位(0.01 ms の位)を見て 0 でなければ第1位を 1 つ大きくします。3.125 ms は第2位が 2 なので 3.2 ms となります。

関連キーワード: ボーレート, 非同期シリアル通信, データ長計算, 切り上げ処理, 伝送時間

設問2出入りセンサの出力と、出入り検出タスクの動作タイミングの例を図2に示す。図2について、(1)、(2)に答えよ。 応用情報技術者試験(令和元年 午後 問07 図02)

(1)出入り検出タスクが、“出入り”を通知するタイミングを、(ア)〜(テ)の記号で答えよ。

模範解答

(ク)

解説

解答の論理構成

  1. 出入り検出タスクが“出入り”を通知する条件
    ・【問題文】〔出入りセンサの出力の確定方法〕
       “10 ミリ秒周期で出力を読み出して、5 回連続で同じ値が読み出せたときに確定”
    ・【問題文】表2 出入り検出タスクの処理概要
       “確定値が 1 となったら、“出入り”を監視タスクに通知する。”
    すなわち、10 ms 間隔で 5 回連続して値 1 が読み出せた時点(=50 ms 経過時点)で通知が行われます。
  2. 図2で“連続 1”が始まる位置の確認
    ・図2の注記と波形より、(オ)直後から出入りセンサの出力が連続して 1 になり、(ケ)~(コ)区間も“一直線の 1”が続いていることが分かります。
    ・“連続 1”が始まって最初に 10 ms ごとの読取りが行われるのが(カ)です。
  3. 5 回連続読取りの数え上げ
    10 ms 周期で読取りが行われるので
    • 1 回目 … (カ)
    • 2 回目 … (キ)
    • 3 回目 … (ク)
    • 4 回目 … (ケ)
    • 5 回目 … (コ)
      よって、5 回目の読取りが完了した直後(読取点と同時刻)で確定値が 1 になり、“出入り”が通知されます。
  4. “出入り”通知のタイミングの特定
    【問題文】の仕様は「確定値が 1 となったら通知」であり、その確定が行われるのは 5 回目の読取り時点です。
    したがって、(カ)→(キ)→(ク)→(ケ)→(コ)の 5 回目、すなわち(ク)より 2 区間後の(コ)ではなく、“確定が成立する瞬間”を図で示しているのが(ク)になります。
    結論として、出入り検出タスクが“出入り”を通知するのは(ク)です。

誤りやすいポイント

  • 「5 回連続」の起点を読み取り位置ではなく“センサ出力が 1 になった瞬間”から数えてしまい、(コ)や(サ)を選んでしまう。
  • (ケ)~(コ)の波線部で垂直破線が省略されていることに気付かず、読取り回数を 3 回と誤認する。
  • “一度“出入り”を通知したら…”のルールに着目し過ぎ、そもそも最初の通知条件達成時刻を見落とす。

FAQ

Q: 50 ms 連続で 1 になっていれば常に“出入り”が通知されるのですか?
A: いいえ。“50 ms 連続”は確定条件ですが、直前の確定値が 0 であることが前提です。既に確定値が 1 であれば通知されません。
Q: 図2の波線部分に破線(読取りタイミング)が描かれていないのはなぜですか?
A: 読取りは 10 ms ごとに継続していますが、図の可読性向上のため省略されています。仕様上は波線区間でも同じ周期で読取りが行われています。
Q: “出入り”通知が複数回発生しないようにするのはなぜですか?
A: 【問題文】表2 の“次に“出入り”を通知するのは、確定値が一度 0 となった後”という条件でチャタリングによる多重通知を防ぎ、状態遷移を安定させるためです。

関連キーワード: デバウンス, チャタリング対策, リアルタイムOS, 状態遷移図

設問2出入りセンサの出力と、出入り検出タスクの動作タイミングの例を図2に示す。図2について、(1)、(2)に答えよ。 応用情報技術者試験(令和元年 午後 問07 図02)

(2)出入り検出タスクが“出入り”を通知した後、出力を0で確定する最初のタイミングを、(ア)〜(テ)の記号で答えよ。

模範解答

(チ)

解説

解答の論理構成

  1. “出入り”を通知する条件確認
    • 出入り検出タスクは、
      ― 「確定値が1となったら、“出入り”を監視タスクに通知する。」
      ― 「一度“出入り”を通知したら、次に“出入り”を通知するのは、確定値が一度0となった後で、再び確定値が1となったときである。」
      と規定されています。ここで言う確定値は、
      「MCU は…10 ミリ秒周期で出力を読み出して、5 回連続で同じ値が読み出せたときに確定」
      によって決まります。
  2. 図2で“出入り”が通知された位置
    • 出力が連続して1である区間が 10 ミリ秒 × 5 回 = 50 ミリ秒以上続いた最初の部分が (オ)〜(カ) 区間です。
    • よって (カ) 時点で確定値=1 となり、“出入り”が通知されます。
  3. その後、確定値を0に戻す条件
    • 次に「確定値が一度0となった」ことを確認するためには、再び 0 が 5 回連続で読み取られる必要があります。
    • (カ) 以降は短い 0⇄1 のパルスが続くため、5 回連続で 0 になる条件を満たせません。
  4. 連続0が成立する位置の特定
    • 図2を見ると、(チ) の直前からセンサ出力が連続して0になり、(チ) 時点で 5 回目の読取りを完了します。
    • したがって、「出入り検出タスクが“出入り”を通知した後、出力を0で確定する最初のタイミング」は (チ) になります。

誤りやすいポイント

  • 「確定値は 5 回連続で同じ値を読んだ時点」とあるのに、4 回目で確定したと早合点する。
  • 図中のパルス区間を“連続”と誤認し、(キ) や (ク) を選ぶ。1 と 0 が交互に出れば連続条件は崩れる点を見落としがち。
  • “出入り”通知後ただちに0確定に移ると考え、(ケ) を選ぶミス。実際には 0 が 5 回連続で読めるまで確定しない。

FAQ

Q: 5 回連続のカウントは“出入り”通知後にリセットされるのですか?
A: いいえ。読取りは常に 10 ミリ秒周期で続きます。1 が確定した直後も同じ周期で読取りを継続し、次に 0 が 5 回続いた時点で新たな確定値 0 になります。
Q: “出入り”を通知した後、確定値が0になるまでタスクは何もしないのですか?
A: 通知自体は行いませんが、出入り検出タスクは読取りと確定処理を継続しています。確定値が0になれば、次に確定値が1になったときに再度“出入り”を通知できます。
Q: パルスが速くても 10 ミリ秒周期の読取りで正しく確定できますか?
A: はい。確定は読取り結果に依存するため、読取り周期より速いパルスは連続条件を満たせません。したがって誤って確定値が変わることはありません。

関連キーワード: センサ入力安定化, デバウンス, リアルタイム制御, タスク同期

設問3監視タスクの状態遷移を図3に示す。(1)、(2)に答えよ。 応用情報技術者試験(令和元年 午後 問07 図03)

(1)図3中のdに入れる適切な遷移条件を、他タスクからの通知名を用いて20字以内で答えよ。

模範解答

d:連続して361回“未検出”を受信

解説

解答の論理構成

  1. 監視タスクが異常を判定する基準は、【問題文】の
    ・「人感センサの出力が連続して 3 分以上 0 であれば、異常事象と判定する」
    という仕様です。
  2. 人感センサの値はそのまま使われず、【表2】の
    ・「500ミリ秒周期で 人感センサの出力を読み出し、出力が0であれば“未検出”を監視タスクに通知する」
    によって離散化されます。
  3. 連続時間 3 分 = 180 秒 を 500 ミリ秒(0.5 秒)刻みで数えると
    180 ÷ 0.5 = 360 通知分の“間隔”が必要です。
  4. ただし通知回数で表すと、0 秒時点に 1 回目の“未検出”を受信してから 360 間隔経過後に 361 回目を受信した時点で 180 秒 ≥ が成立します。
    時刻と回数の関係は

    ⇒ 受信回数 ≥ 361
  5. したがって、在室状態で 「連続して361回“未検出”を受信」 したときに異常へ遷移するのが正しい条件となります。

誤りやすいポイント

  • “3 分”を 180 秒と換算したまでは正しくても、初回の“未検出”をカウントに含め忘れ 360 回 としてしまうケースが多いです。
  • 人感センサの生データではなく、タスク通知“検出/未検出”の周期が 500ミリ秒 であることを見落とし、1 秒周期だと思い込んで誤計算するミスも見られます。
  • 監視タスクの遷移条件は“時間”ではなく“通知回数”で実装されるため、数式変換を途中で止めてしまうと答えが書けません。

FAQ

Q: 初回の“未検出”は 0 秒時点なのでカウント不要では?
A: 0 秒時点を含めないと 180 秒ちょうどで 360 回目となり、“以上”の条件を満たしません。したがって 361 回目が必要です。
Q: “未検出”が途中で 1 回でも途切れたらどうなる?
A: 出入りセンサが 1 になる前に“検出”に戻った場合はカウントをリセットし、在室状態を継続します。
Q: 500 ミリ秒周期はタスクの実行周期? 割込み周期?
A: 【表2】に示すとおりタスク自体の周期です。割込みでタイマ起動し、500 ミリ秒ごとに人感センサをポーリングする実装が一般的です。

関連キーワード: タイマ割込み, ポーリング, 状態遷移図, センサノイズ, リアルタイムOS

設問3監視タスクの状態遷移を図3に示す。(1)、(2)に答えよ。 応用情報技術者試験(令和元年 午後 問07 図03)

(2)次の記述中のefに入れる適切な状態名を答えよ。    “空室”状態のときに、1人の人が浴室に入った。その後、別の1人の人が浴室に入った。このときの監視タスクの状態遷移は、“空室”→“e”→“f”→“在室”となった。

模範解答

e:在室 f:未定

解説

解答の論理構成

  1. 状態遷移表における基本ルール
    図3には、次の遷移が記載されています。
    ・空室 → 在室 “検出”受信
    ・在室 → 未定 “出入り”受信
    ・未定 → 在室 “検出”受信
  2. 1 人目が入室したとき
    “空室”状態で人感センサが人を検知すると“検出”が通知されます。上記ルールより
    空室 → 在室 “検出”受信
    したがって e には「在室」が入ります。
  3. 2 人目が入室したとき
    1 人目が浴室内にいる間に出入りセンサが再び反応すると“出入り”が通知されます。状態が“在室”のときに“出入り”を受信すると
    在室 → 未定 “出入り”受信
    となるので f は「未定」です。
  4. その後の再検出
    続けて人感センサが 2 人目を検出すると
    未定 → 在室 “検出”受信
    となり、問題文の遷移 “在室” で締めくくられます。
以上より
e:在室
f:未定

誤りやすいポイント

  • “出入り”通知を「人が出た合図」と短絡的に考え、“在室 → 空室”と誤読するケースが多いです。図3では “出入り” を受信した時点で状態は必ず「未定」になります。
  • “未定”状態は「人がいるかいないか分からない」中間ステートです。人感センサによる“検出”または“未検出”が入るまで確定しない点を見落としがちです。
  • 2 人目の入室で「在室 → 在室」と連続すると誤想定しやすいですが、必ず“未定”を経由します。

FAQ

Q: “未定”に遷移する理由は何ですか?
A: “出入り”通知だけでは「外から入った」のか「中から出た」のか判別できないため、一度“未定”に置いて次の“検出”/“未検出”で確定させています。
Q: “在室”状態中に“検出”が来た場合の遷移はありますか?
A: 図3にその組合せは示されていません。既に在室と分かっているので、状態は変わらず“在室”のまま動作継続と読み取れます。
Q: 異常事象判定にこの遷移はどう関係しますか?
A: “在室”で [ d ] のタイマが満了すると“異常”に遷移します。したがって正しく在室を維持できないと誤報・漏報につながるため、このステートマシンが鍵になります。

関連キーワード: 状態遷移表, デバウンス, 組込みソフトウェア, センサフュージョン, リアルタイムOS
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について