C++ の動作確認をしてみた(4)

C++の練習を兼ねて, AtCoder Beginner Contest 105 の 問題C(C – Base -2 Number)を解いてみた.


① 制限時間内に, 解答できず終了.
② 公開されている解答を見たものの, 理解不能.
③ 結局, 試行錯誤して, ロジックを積み上げたところ, どうやらテストケースは, 全通過した模様(汗).
④ おそらく, もっと簡単なロジックがあると想定されるので, 後日, 他の方の解答を拝見しようと思う.



本家のサイトABC 105 解説をご覧下さい。


■C++版プログラム

■参照サイト
AtCoder Beginner Contest 105

C++ の動作確認をしてみた(3)

C++の練習を兼ねて, AtCoder Beginner Contest 090 の 問題C(Flip,Flip, and Flip……)を解いてみた.


最初, if文で, 1行×1列の場合, 2行×M列の場合, N行×2列の場合, … などと試行錯誤していたが, 絶対値を使ってみると,
全ての条件が, 一つの式で表せることが確認できたので, 見た目が, だいぶスリムになったと思う.
かなり感動したので, 投稿することになってしまった(汗).



本家のサイトABC 090/ARC 091 解説をご覧下さい。


■C++版プログラム

■参照サイト
AtCoder Beginner Contest 090

C++ の動作確認をしてみた(2)

C言語で書かれたプログラムを, C++に書き換えてみた.


題材として、AtCoder Beginner Contest 089 の 問題D(Practical Skill Test)を使ってみることにした。

但し、解答方針に関する理解は、まだまだ、出来てないように思うので(汗)、
C言語 -> C++ に翻訳してみることまでは、出来そうだったので、翻訳してみた。

なお、C言語で書かれたプログラムの詳細については、
本家のサイトABC 089 解説をご覧下さい。


■C++版プログラム

■参照サイト
AtCoder Beginner Contest 089

C++ の動作確認をしてみた(1)

1. 環境は、macOS High Sierra (version: 10.13.4) 上で行った。

2. プログラム記載~実行は、Visual Studio Code で行った。

今回確認した内容は、ロベールのC++教室 の(第1部)第69章 リンケージである。
以下の “動作確認(改善前)” で、対応できなかったのでメモした。

■動作確認(改善前)
Visual Studio Code 上で、動作確認する上で、以下のルールで行ってきた。
1. 標準入力(cin)が有る場合 … ターミナルを使った動作確認
$ g++ -o abc xxx.cpp
$ ./abc

2. 標準入力(cin)が無い場合 … 下記、3種類のキーを同時押しする動作確認
[command]key + [shift]key + [,]key

■対象プログラム

■動作確認(改善前)による実行結果
前述のプログラムを実行した結果、いずれの場合でも、以下のようなエラーが出力された。

〜(略)〜
clang: error: linker command failed with exit code 1 (use -v to see invocation)
〜(略)〜

■動作確認(改善版)
分割コンパイルが必要とのネット上の情報があったので、以下の形で、ターミナル上で対応した。
$ g++ -c 1-69_1.cpp -o 1-69_1.o
$ g++ -c 1-69_2.cpp -o 1-69_2.o
$ g++ -g -o abc 1-69_1.o 1-69_2.o
$ ./abc

■動作確認(改善後)による実行結果
前述のプログラムを実行した結果、以下のように、想定した動作を確認することができた。

■参照サイト
複数の.cppを分割コンパイル

コンパイラ(gccコマンド)の使い方

ターミナルに毎回表示される長ったらしい表示を短くする

平成30年春期 エンベデッドシステムスペシャリスト試験(ES)午後Ⅱ(問2) を 解いてみた。

引き続き、ハードウェアの知識を補いたいので、試しに解いてみました。

※1. 受験した訳でないです。
※2. 解答を記載ましたが、正解とは限りません。

■■■ 問1 ■■■

■設問1.
(1)
(a) 商品の口数 … 3
販売した口数 … 3
・図6(P.22) に、”出荷ラベル3枚の印刷指示” と記載されているので、販売した口数は、3 と推定。
・図6(P.22) の 注記で、”購入メッセージに付加された口数の値は、99であった。” との記述から、表2(P.17) の 購入 で、全口購入キーが押されたことを示す、に該当すると判断した。よって、商品の口数は、販売した口数と同じ 3 だったと推定。

(b) 競り休止
・表2(P.17) から、台端末 → 制御装置 で、”競り開始”、”競り休止”、”競り終了” の ステータスが有り得る。
したがって、以下の3パターンが考えられる。
① 競り開始 → 競り開始 → 競り開始 (※そもそも、考えづらい)
② 競り開始 → 競り休止 → 競り開始 (※表2(P.17) の 競り開始 の “確定キー” の記述、競り休止 の “休止キー” の記述に符合)
② 競り開始 → 競り終了 → 競り開始 (※”競り終了” 後は、”競り結果” が来るはずなので、”競り開始” とならないと判断)
上記から、② の パターン を答案として採用してみた。

(c) スクリーン表示指示で、運用状態の表示領域に休止中、販売可能な口数の表示領域に0口の表示を指示する。(49字)
・(1) (a) で、売れ残り口数が、0口となっていることを考慮する形で、答案作成してみた。

(2) 競り価格を下げずに競りを再開する場合。(19字)
・表2(P.17) の 競り開始 で、”テンキーで入力された値がなければ、付加される値は 0 である。”
・[制御装置における処理の概要] の (3) ④(P.18) に、”~競り価格から競り開始メッセージに付加された値を引いた価格を新たな競り価格~”
上記、2点との記載があるので、これをもとに答案作成してみた。

(3) 29[ms]
・商品の静止画 … 図3(P.16) より、商品の静止画を表示する領域は、600×500ピクセルと分かるので、600 × 500 × 3 = 900000[byte] = 900[kilobyte]
・テキストデータ … 問題文より、4[kilobyte]
・LAN1 の 実効通信速度 … 1[gigabit/s] × 25% × (1 / 8)[byte/bit] = (1 / 32)[gigabyte/s] = (1000 / 32)[kilobyte/s]
・以上から、(900 + 4)[kilobyte] ÷ (1000 / 32)[kilobyte/s] = 28.928[ms] → 小数第1位を四捨五入して、29[ms]

■設問2.
(1)
(a) スクリーンと台端末に表示する休止中及び新たな販売可能な口数に関する情報(35字)
・表3(P.20) の 情報表示タスクを参考に、答案作成してみた。

(b) 競り開始要求を受けてから情報表示タスクに情報表示要求を通知するまでの間(35字)
・表3(P.20) の 競り制御タスク の ② と、図6(P.22) の 通信シーケンス を参考に、答案作成してみた。

(2)
(a) 購入を希望する口数、買参人番号
・表2(P.17) 購入メッセージ で、”台番号キーで入力した台番号と ~ 買参人番号が付加される。” との記述があること
・図5(P.19) 購入履歴情報を構成するレコードのフィールド を見ると、買参人番号、購入口数 が含まれること
→ 上記、2点の記載から、これをもとに答案作成してみた。

(b) 買参人端末の表示部に、取引の成立又は不成立についての結果の表示を指示(34字)
・他の買参人が、取引成立となった場合もイメージして、答案作成してみた。(汗)

(3)
(a) 購入履歴情報を構成するレコードの買参人番号が、記憶した買参人番号と一致するすべてのレコードを記憶(48字)
・図5(P.19) 購入履歴情報を構成するレコードのフィールド を見ると、買参人番号 が含まれること
・表3(P.20) の 買参人タスク に、”該当する買参人の購入履歴を買参人端末表示メッセージで~” との記述(※購入履歴情報のレコードについて絞り込み機能があると推測される)があること
→ 上記、2点の記載から、これをもとに答案作成してみた。

(b) 前回追加したレコードのリンクの値を新たなレコードのリンクに設定し、前回追加したレコードのリンクに新たなレコードのレコード番号を設定(65字)
・図5(P.19) 購入履歴情報を構成するレコードのフィールド で、レコード番号、買参人番号、リンク に絞って考えてみた。
・以下の [変更後] の 挙動 を イメージして、答案作成してみたが、異常にムズイ。(汗)

[変更前]
00003 BUYER_03 -1
(※前回レコード番号: 00003 に更新)

00003 BUYER_03 -1
00007 BUYER_03 00003
(※前回レコード番号: 00007 に更新)

00003 BUYER_03 -1
00007 BUYER_03 00003
00011 BUYER_03 00007
(※前回レコード番号: 00011 に更新)

00003 BUYER_03 -1
00007 BUYER_03 00003
00011 BUYER_03 00007
00025 BUYER_03 00011
(※前回レコード番号: 00025 に更新)

以下、続く

[変更後]
00003 BUYER_03 -1
(※前回レコード番号: 00003 に更新)

00003 BUYER_03 00007 ← update
00007 BUYER_03 00003 ← update
(※前回レコード番号: 00007 に更新)

00003 BUYER_03 00007
00007 BUYER_03 00011 ← update
00011 BUYER_03 00003 ← update
(※前回レコード番号: 00011 に更新)

00003 BUYER_03 00007
00007 BUYER_03 00011
00011 BUYER_03 00025 ← update
00025 BUYER_03 00003 ← update
(※前回レコード番号: 00025 に更新)

以下、続く

・但し、問題文は、レコードの書き込みについてだけ言及されているものの、おそらく、そもそも購入履歴の表示方法も、変わってくると推測される。以下の具体例のように、1行目に表示するレコードの表示方法が異なってくると推測される。
・購入履歴 の 表示例
[変更前]
00003 BUYER_03 -1
00007 BUYER_03 00003
00011 BUYER_03 00007
00025 BUYER_03 00011
(※前回レコード番号: 00025 に更新)

上記の購入履歴データを、表示させる場合、
① 前回レコード番号: 00025 をもとに、レコード番号 00025 を 1行目に表示
② レコード番号 00025 の リンク 00011 から、レコード番号 00011 を 2行目に表示
③ レコード番号 00011 の リンク 00007 から、レコード番号 00007 を 3行目に表示
④ レコード番号 00007 の リンク 00003 から、レコード番号 00003 を 4行目に表示

[変更後]
00003 BUYER_03 00007
00007 BUYER_03 00011
00011 BUYER_03 00025
00025 BUYER_03 00003
(※前回レコード番号: 00025 に更新)

上記の購入履歴データを、表示させる場合、
① 前回レコード番号: 00025 をもとに、レコード番号 00025 の リンク 00003 から、レコード番号 00003 を 1行目に表示
② レコード番号 00003 の リンク 00007 から、レコード番号 00007 を 2行目に表示
③ レコード番号 00007 の リンク 00011 から、レコード番号 00011 を 3行目に表示
④ レコード番号 00011 の リンク 00025 から、レコード番号 00025 を 4行目に表示

■設問3.
(1)
e. 商品追加完了の通知
f. 商品移動指示
g. 商品追加許可
・表4(P.25) の 競り制御タスク から、文言から抜粋等によって、答案作成してみた。

(2)
h. 指定された商品情報を競り待ちテーブルの末尾に追加(24字)
・表4(P.25) の “商品移動要求を受けると、指定された商品情報を競り待ちテーブルの末尾に追加する。” から抜粋して、答案作成してみた。

(3)
i. 商品追加要求
j. 商品移動指示
k. 商品移動完了
l. 商品追加完了
m. 商品追加指示の処理③で追加した商品情報が、商品移動指示の処理①で消える(35字)
・競り待ちテーブルの更新タイミングについて、商品移動指示は、”処理①”、商品追加指示は、”処理③” となっているため、これを念頭に、答案作成してみたが、異常にムズイ。(汗)

参照サイト
■平成30年度春期(1)試験 問題冊子・解答例・採点講評・配点割合(PDF)
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_1/2018h30h_es_pm2_qs.pdf

平成30年春期 エンベデッドシステムスペシャリスト試験(ES)午後Ⅱ(問1) を 解いてみた。

引き続き、ハードウェアの知識を補いたいので、試しに解いてみました。

※1. 受験した訳でないです。
※2. 解答を記載ましたが、正解とは限りません。

■■■ 問1 ■■■

■設問1.
(1) 前行程の原料不足等の事態に柔軟に対応できるため。(24字)
・表1 の 上方(P.3) に、AGV に関する記述があるので、実質抜粋した。

(2) 前工程以前の生産速度が自動的に落ちるため。(21字)
・生産速度に関して、梱包装置がボトルネックになると理解したが、上手く表現するのが難しい(汗)。

(3) 順次ポーリング方式では、APからのACK受信にかかる時間が存在しないため。(37字)
・以下のように、IoTノードで用いる通信方式の違いで、通信回数が異なるので、これを元に、答案を作ってみた。
・順次ポーリング方式: AP → IoTノード(1回)。
・承認方式: IoTノード → AP → IoTノード(2回)。

(4)
順次ポーリング方式: 最小 1 最大 1024
バイナリツリー方式: 最小 10 最大 20
・表5 の 説明から、順次ポーリング方式は、ノードID = 0 なら1回、ノードID = 1023 なら1024回 となるはず。
・表5 の 説明から、バイナリツリー方式について、以下のようなことが読み取れる。
最小: ノードID(0~511) → ノードID(0~255) → ノードID(0~127) → … → ノードID(0~1) → ノードID(0) で、10回(※常に、最初の選択肢に、対象のノードIDが含まれているケース)
最大: ノードID(0~511) → ノードID(512~1023) → ノードID(512~767) → ノードID(768~1023) → … → ノードID(1022~1023) → ノードID(1022) → ノードID(1023) で、20回(常に、二番目の選択肢に、対象のノードIDが含まれているケース)

■設問2.
(1)
(a) 511[ms]
・表3 を元にして、抽出装置が要求(※装置通信、最大500[ms]待機) → 処理時間 100[μs] → AGVへ搬送指示(※AGV通信、最大10[ms]待機) → 処理時間 50[μs] と理解すると、合計 500.15[ms] なので、小数点以下を切り上げて、511[ms] となるはず。

(b) 10.4[μs]
・表5 を元にして、以下のように考えてみた。
1台目: T1 + T3 + T4 + T5

9台目: T1 + T3 + T4 + T5
10台目:T1 + T3 + T4
→ 合計すると、10 × (T1 + T3 + T4) + 9 × T5 = 10 × (0.1 + 0.05 + 0.8) + 9 × 0.1 = 10 × 0.95 + 9 × 0.1 = 10.4[μs]

(2)
方法1のメリット:搬送指示をコントローラに集約するため、各AGVの稼働状況と位置がリアルタイムに分かる。(43字)
方法2のメリット:APからAGVへの搬送要求を送信後は、AGV間で搬送に関する処理を自己完結できる。(41字)
・方法1は、[AGV] の (2) ② の 説明を参考に答案を作ってみた。
・方法2は、図を見たまま答案としてみた(汗)。

(3)
(a) AGVの設定に景品取付ステーションの位置を追加する(25字)
・[AGV] の (3) ③ の 説明を参考に答案を作ってみた。

(b) 缶詰装置、検査装置
・表1 で、画像センサ の記述がある装置を抜粋してみた。

■設問3.
(1) コントローラで受信するデータ総量を抑えることができること。(29字)
・定期的送信 よりも 積算値超過時送信 の 方が、データ総量が少ないと思われるので、このような答案とした(汗)。

(2)
(a)
電池残量が200秒以内に99.5%に到達(20字)
ユニット温度が50秒後に80℃以上に到達(20字)
・図6で、 ×印 の 配置を参考に、稼働時間/電池残量、稼働時間/ユニット温度 の グラフ から答案を作ってみた。

(b) AGVの稼働状況を10秒未満の周期でデータ収集する(25字)
・問題文に、”~10秒周期でAGVの稼働状況を記録したデータ~” との記載があったので、これをベースに答案を作ってみた。

(c) 電池残量と走行速度について、相関関係がほとんど無いため(27字)
・電池残量/走行速度 の グラフを見ると、電池残量 の 影響を ほとんど受けてないことが分かるので、これをベースに答案を作ってみた。

参照サイト
■平成30年度春期(1)試験 問題冊子・解答例・採点講評・配点割合(PDF)
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_1/2018h30h_es_pm2_qs.pdf

平成30年春期 エンベデッドシステムスペシャリスト試験(ES)午後Ⅰ を 解いてみた。

ハードウェアの知識を補いたいので、試しに解いてみました。

※1. 受験した訳でないです。
※2. 解答を記載ましたが、正解とは限りません。

■■■ 問1 ■■■

■設問1.
(1)
a. 反対の向き
[ドローンの自律飛行制御] の中で、反作用との記述があるため。

b. 揚力
c. ドローンの重さ
・[ドローンの自律飛行制御] の記載の流れから推測した。

(2)
d. 設定情報
・設定されている何かしらの値を参照するイメージで、答案を作ってみた。

e. 回転数
・揚力の調整について書かれているので、モータの回転数と推測した。

■設問2.
(1) 撮影ユニット → 本体: 水平発光位置情報(8字)
水平方向の位置合わせ: 移動方向を求め姿勢制御タスクに通知する。(20字)
・[撮影ユニットのシステム構成と自撮り制御] から抜粋した。
・表2 の 移動先指定 で、移動方向を求める、との記載と、移動方向を姿勢制御タスクに通知する、との記載を参考に答案を作ってみた。

(2)
f. 9
g. 11
・表1 で、ホバリング中(機体の回転が静止) で、a1 ~ a4 の 合計が、10 × 4 = 40 と理解できる。
・ホバリング中(真上から見て、機体が右回転)とのことから、11 + f + g + 9 = 40 のはず。
・[ドローンの自律飛行制御] の 注記の図から、もし、f が 11、g が 9 と仮定すると、右回転せず、a1、a2 側が、上空へ、より近づき、a3、a4 側が、地上へ、より近づく形として、傾いた状態のホバリングとなると推測されるので、f が 9、g が 11 と推測した。

■設問3.
(1)
h. 高度測定・障害物検知
i. 無線信号の強度
j. 障害物情報
・表2 から、それぞれ抜粋した。
・h は、メイン以外のタスクを指していると理解できるので、[高度測定・障害物検知]タスクと判断した。
・i は、[通信]タスクから抜粋した。
・j は、[高度測定・障害物検知タスク]タスクから抜粋した。

(2)
k. 移動方向に障害物があった
l. ホバリングに移行させる
・k は、表2 の [移動先指定]タスクから抜粋した。
・l は、表2 の [姿勢制御]タスクから抜粋した。

■■■ 問2 ■■■

■設問1.
(1) 排水停止まで1分掛かるが、貯水槽に水が無い状態で、30秒以上稼働すると故障する可能性があるため。(48字)
・表1 の ポンプ に関する記述から抜粋。

(2) 制御部のRAMから、ポンプの最新の稼働状態を読み出して判断する。(32字)
・[メモリへのデータ保存] に関する記述を参考にして答案作成。

(3)
(a) 1.25[分後]
・[貯水槽の水位の予測方法及びポンプの稼働・停止] の (1)②(ⅰ) が適用されると判断。
・0.4[m/分] のペースで、貯水槽の水位が上昇していると理解できるので、貯水槽の水位が 3[m] になるには、
(3[m] – 2.5[m]) ÷ 0.4[m/分] = 1.25[分後] と理解できる。

(b) 4.2[m]
・表1 の ポンプ の記述から、排水速度は、10[m] ÷ (28[分] – 3[分](※排水開始までにかかる時間)) = 0.4[m/分] と理解できる。・(a) より、1.25[分後] に、ポンプに稼働指示が出るので、4.25[分後] ~ 5[分後] にわたり、排水が行われる筈なので、本問では、0.4[m/分] × (5[分後] – 4.25[分後]) = 0.3[m] の排水が行われると推測される。
・排水しないとすると、貯水層の水位は、2.5[m] + 2[m] = 4.5[m] と推測されるが、0.3[m] の排水を考慮すると、
4.5[m] – 0.3[m] = 4.2[m] と考えられる。

■設問2.
(1) メイン
・表1 表示部 に、履歴情報の表示が可能であるとの記載があり、表2 表示 で、メインタスクから受けた情報を基に画面を作成した後、表示部に表示する。との記載があるため。

(2) 当該時刻になったときに、ポンプへの指示内容を、ポンプ制御タスクに通知する。(37字)
・あまり設問を理解できてない答案となってしまった(汗)

(3)
b. ポンプが排水を開始するまでの時間
c. ポンプが排水を停止するまでの時間
・[貯水槽の水位の予測方法及びポンプの稼働・停止] の (1)②(ⅰ)、(3)②(ⅱ) などの記述を参考に、文言を抜粋。

(4) 2700[byte]
・14:00 ~ 16:00 まで、120[分] ÷ 5[分] + 1 = 25[回] が、カウントされると理解できる。
・履歴情報の更新は、表2 から、水位センサ、貯水槽水位予測、ポンプ制御 の タスクがありうるが、ポンプが停止していたとの記述から、水位センサ、貯水槽水位予測 の 2タスクだけと仮定した。
・水位センサ: 計測値 … 2[byte/台] × 50[台] = 100[byte]、貯水槽予測流入量 … 4[byte]
・貯水槽水位予測: 水位 … 2[byte]、5分後の予測水位 … 2[byte]
→ 以上から、1[回]の更新で、100 + 4 + 2 + 2 = 108[byte/回] なので、108[byte/回] × 25[回] = 2700[byte] と思われる。

■設問3.
(1)
d. 予測雨量流入量
・表3 の 雨水流入量予測 から 文言を抜粋。

e. 各水位センサの最新の計測値
・表2 の 水位センサ ③ から 文言を抜粋。

(2) 雨量流入量予測タスクの処理手順で、処理手順③が最初に実行されるように変更し、処理手順⑤が最後に実行されるように変更する。(60字)
・表示部の表示の更新が停止するとあるので、履歴情報の更新とかが、失敗していると推測される。
※あまり設問を理解できてない答案となってしまった(汗)

■■■ 問3 ■■■

※先頭車両を、車両①、以降の後続車両を、車両② ~ 車両④ と略記した。

■設問1.
(1) 43.6[ms]
・光通信の伝送速度を、1[Mbps] ÷ 8[byte/bit] = 0.125[MB/s] と変換。
・車間距離 で 光通信 するときの 伝送時間 を 無視すると仮定(4[m] ÷ 光の速度[m/s] ≒ ほぼ 0 [s]?)。
・ACKの受信も無視すると仮定。
・車両② ~ 車両④ の 車車間通信ユニット(前方) ~ 車車間通信ユニット(後方) のついて、図3 の シーケンス例 から、読み取れなかったので無視すると仮定。
・車両① → 車両②: 150[byte] ÷ 0.125[MB/s] = 1.2[ms]
・車両② → 車両③: 受信後、最大20[ms]待機となり、次の通信周期で、車両③に送信(1.2[ms])
・車両③ → 車両④: 受信後、最大20[ms]待機となり、次の通信周期で、車両④に送信(1.2[ms])
→ 上記を合計すると、1.2 + 20 + 1.2 + 20 + 1.2 = 43.6[ms]

(2)
(a) 35.1[ms]
・無線通信による通信は、正常に行われるものとする、と記載されているので、無線通信を使うと仮定
・無線通信の伝送速度を、4[Mbps] ÷ 8[byte/bit] = 0.5[MB/s] と変換。
・車両① → 車両②: 50[byte] ÷ 0.5[MB/s] = 0.1[ms]
・車両②: 隊列制御ECU が 最大20[ms]後に起動し、15[ms]の処理時間を経て、関連するECU(エンジンECU、変速機ECU等)の制御が開始されると理解できる
→ 上記を合計すると、0.1 + 20 + 15 = 35.1[ms]

(b) 3.25[m]
加速度(a[m/s2])と、時間(t[s]) と 移動距離(x[m]) の 関係 x = (1/2) * a * t2 から、
(1/2) * (-6[m/s2]) * (500[ms]/1000[ms/s])2 = -0.75[m]
よって、車間距離は、4 – 0.75 = 3.25[m]

■設問2.
(1) 先頭車両の速度、先頭車両の加速度
・表1 の 隊列制御ECU から抜粋。

(2)
a. 周辺監視ミリ波データ
・空欄a 以降で、隣車線後方の車両との記載があるため。

b. 車車間通信
・空欄b 以降で、通信周期ごとに、先頭車両に送信すると記載されているため。

c. UI
・運転手が確認するユニットであるため。

d. 隊列制御
e. ステアリング
・車線変更に関する動作であるため。

f. 前方3Dレーザレーダ
・前方ミリ波レーダ の 検知角度(18度) よりも、検知角度(120度) が 大きいから。

(3) 操舵角が連続的に変化し、ステアリングECUへの継続的な指示が必要なため。(36字)
・無人自動運転する後方車両(車両② ~ 車両④)に、乗ってみたとして、車線変更時に、先頭車両が、どのように見えるかをイメージして答案を作っててみた。

■設問3.
(1) 同一データのやり取りの結果を、比較検証できるので、差分がほとんど無ければ、信頼性が高いと判断できるため。(52字)
・あまり設問を理解できてない答案となってしまった(汗)

(2)
g. 割込み
・図4 から 抜粋

h. 自己診断
i. 各CPUからアクセスするバスの情報
・[隊列制御ECUの安全機構] から 抜粋。

j. 15
・表1 の 隊列制御ECU から抜粋。

(3)
想定される隊列走行中の車両への影響: 正しい先頭車両の速度よりも大きい速度で、後続車両が走行する可能性があること。(38字)
なりすまし防止: 後続車両の速度が、先頭車両の速度を超えて無いか継続監視する。(30字)
・先頭車両のなりすましによる影響で、とりあえず考えられるものをイメージして答案を作ってみた。

参照サイト
■平成30年度春期(1)試験 問題冊子・解答例・採点講評・配点割合(PDF)
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_1/2018h30h_es_pm1_qs.pdf