Helve’s Python memo

Pythonを使った機械学習やデータ分析の備忘録

エンベデッドシステムスペシャリスト試験 2018年午後Iの計算問題解説

情報処理技術者試験の高度試験の1つである、エンベデッドシステムスペシャリスト試験 (ES) の2018年午後Iの計算問題を解説する。

目次

はじめに

このページでは解説のみ載せるため、問題文は以下のIPA情報処理推進機構)のページから取得されたい。
IPA 独立行政法人 情報処理推進機構:過去問題

ESの他の過去問は以下の通り。
2017年午後I
2017年午後II

問1(ドローン)

設問2(2)
図2のドローンに対し、表1のf, gに入る数値を答える。

図2より、プロペラa1, a3は左回転、プロペラa2, a4は右回転している。
すなわち、プロペラa1, a3の反作用により機体は右回転し、プロペラa2, a4の反作用により機体は左回転する。
機体を右回転させるためには、プロペラa1とa3の合計回転数が、プロペラa2とa4の合計回転数を上回る必要がある。

次に、ドローンがホバリングするという条件を考える。
ドローンが上昇や下降をしないための4枚のプロペラの合計回転数は40である。
すなわち、fとgの和は20である。
また、ドローンが横滑りをしないためには、隣り合う2つのプロペラの合計回転数を、残り2つのプロペラの合計回転数と等しくする必要がある。

以上より、fは9, gは11となる。

f:id:Helve:20190430143746p:plain
f:id:Helve:20190430143752p:plain

問2(冠水防止システム)

設問1(3)(a)
ポンプに稼働指示を送信する時刻を求める。

8ページ下部より、ポンプが停止中で稼働指示を出していない場合、
5分後の貯水槽の予測水位が3m以上のとき、水位が3mとなる時刻を算出し、その時刻にポンプに稼働指示を出す。
ここで、水位の変化率は一定と仮定している。

また、問題文より、貯水槽の5分前の水位が0.5m, 現在の水位が2.5mである。
水位計の水位は5分前から同じであるから、5分後の水位は4.5mと予測される。

よって、水位が3mとなる時刻を求める。
水位の増加率は5分で2mであるから、水位が3mになる、すなわち0.5m増加する時刻は、
(5(分)/2(m)) × 0.5(m)=1.25分
したがって、解は1.25分後である(下図参照)。

f:id:Helve:20190430143732p:plain

設問1(3)(b)
5分後の予測水位を求める。

現在の水位が2.5mである。また、雨水管からの流入量は5分で2m、すなわち0.4(m/分)である。

また、設問1(3)(a)で求めたように、1.25分にポンプに稼働指示が出される。
8ページの表1より、ポンプが稼働指示を受けてから排水を開始するまでに3分掛かるため、排水が開始されるのは4.25分後である。
よって、4.25分後の水位は、
2.5(m) + 0.4(m/分)×4.25(分) = 4.2(m)
である。

次に、ポンプ稼働後の水位の変化を求めるため、ポンプの排水能力を求める。
表1より、ポンプが稼働指示を受けてから満杯の貯水槽の水を全て排水するのに28分掛かる。
7ページ下段より、貯水槽の深さは10mである。
また、実際に排水を行うのは25分間であるから、稼働時の排水能力は、
10(m)/25(分) = 0.4(m/分)
である。
この値は雨水管からの流入量に等しいため、ポンプ稼働後は貯水槽の水位は変化しない。

したがって、5分後の予測水位は4.2(m)である。

f:id:Helve:20190501111303p:plain

設問2(4)
各タスクが更新した履歴情報のデータサイズの合計を求める。
10ページの図2より、履歴情報を更新するタスクは、ポンプ制御タスク、貯水槽水位予測タスク、水位センサタスクの3つである。
各タスクが更新する履歴情報のデータサイズは表2に記載されている。

ポンプ制御タスクは、メインタスクからポンプの稼働指示または停止指示を受けたときに処理を行う。
問題文より、ポンプは稼働も停止もしていないので、ポンプ制御タスクは履歴情報を更新していない。

貯水槽水位予測タスクは、2バイトのデータ2つ、5分周期で更新する。
2時間の間に24回更新するので、合計データサイズは、
2×2×24 =96(バイト)

水位センサタスクは、5分周期で水位センサ計測値と貯水槽予測流入量のデータの計測値を更新する。
水位センサ計測値は、1台あたり2バイトで、水位計は50台あるため、
2×50×24 = 2400(バイト)
また、貯水槽予測流入量は4バイトであるから、
4×24 = 96(バイト)
よって、合計は、
2400+96 = 2496(バイト)
である。

したがって、解は各タスクのデータサイズを合計して、
96+2496 = 2592(バイト)
である。

問3(トラック隊列走行システム)

後日、解説を載せます。

※Adblockが有効の場合やモバイル版ページでは、シェアボタンをクリックできません