電験三種 令和4年度(2022) 下期 機械 問18(a) 過去問解説
(選択問題:問17または問18のどちらか1問を解く)
30件分の使用電力量のデータ処理について,次の(a)及び(b)に答えよ。
(a) 図1は,30件分の使用電力量の中から最大値と30件分の平均値を出力する一つのプログラムの流れ図を示す。図1中の(ア)〜(エ)に当てはまる処理として,正しいものを組み合わせたのは次のうちどれか。

- (1) (ア) t ← d[1] (イ) 0 (ウ) d[i] < s (エ) s ← d[i]
- (2) (ア) t ← 0 (イ) 2 (ウ) d[i] > s (エ) s ← d[i]
- (3) (ア) t ← d[1] (イ) 2 (ウ) d[i] < s (エ) d[i] ← s
- (4) (ア) t ← d[1] (イ) 2 (ウ) d[i] > s (エ) s ← d[i]
- (5) (ア) t ← 0 (イ) 0 (ウ) d[i] < s (エ) d[i] ← s
答えと解説を見る
正解は(4)
解説
【考え方】最大値は「今の最大 s より大きい値が出たら、s をその値に入れかえる」、平均は「合計 t ÷ 30」で求めます。
■1 (ア) 合計 t の始めの値
最大値の s には、はじめに1件目の d[1] を入れておきます。
合計 t にも、はじめに d[1] を入れておきます。→ (ア) t ← d[1]
(t ← 0 にすると、1件目がもう一度足されないかぎり合計が足りなくなります。)
■2 (イ) くり返しの始め
1件目はもう s と t に入れたので、くり返しは2件目から始めます。→ (イ) 2
■3 (ウ)(エ) 最大値の入れかえ
d[i] が今の最大 s より大きいときに、入れかえます。→ (ウ) d[i] > s
入れかえは、s に d[i] の値を入れます。→ (エ) s ← d[i]
(d[i] ← s にすると、データの方を書きかえてしまいます。)
答えは(4)ピヨ。
出典:令和4年度(2022) 下期 第三種電気主任技術者試験(電気技術者試験センター)機械 問18(a)