// google adsence用 電験3種過去問【2022年(下期)機械 問18】 | 電気主任技術者のいろは

電験3種過去問【2022年(下期)機械 問18】

2024年1月16日

【情報処理】使用電力量の平均値・最大値・降順データ処理《計算問題》

 30 件分の使用電力量のデータ処理について、次の(a)及び(b)の問に答えよ。

(a) 図1は、30件分の電力使用量の中から最大値と30件分の平均値を出力する一つのプログラムの流れ図を示す。図1中の(ア)~(エ)に当てはまる処理として、正しいものを組み合わせたのは次のうちどれか。

\(\small{\begin{array}{cccc} &(ア)&(イ)&(ウ)&(エ)&\\ \hline(1)& t←d[1]& 0& d[i]<s& s←d[i]\\ \hline(2)& t←0& 2& d[i]>s& s←d[i]\\ \hline(3)& t←d[1]& 2& d[i]<s& d[i]←s\\ \hline(4)& t←d[1]& 2& d[i]>s& s←d[i]\\ \hline(5)& t←0& 0& d[i]<s& d[i]←s\\ \hline\end{array}}\)

(b) 図2は、30件の使用電力量を大きい順(降順)に並べ替える一つのプログラムの流れ図を示す。図2中の(オ)~(キ)に当てはまる処理として、正しいものを組み合わせたのは次のうちどれか。ただし、wは一時的な退避用の変数と考えよ。

\(\small{\begin{array}{cccc} &(オ)&(カ)&(キ)\\ \hline(1)&d[i]<d[j]&d[j]←d[i]& d[j]←w\\ \hline(2)&d[i]<d[j]&d[i]←d[j]& d[j]←w\\ \hline(3)&d[i]<d[j]&d[j]←d[i]& d[i]←w\\ \hline(4)&d[i]>d[j]&d[i]←d[j]& d[j]←w\\ \hline(5)&d[i]>d[j]&d[j]←d[i]& d[i]←w\\ \hline\end{array}}\)
解答と解説はこちら

解答

(a):(4)が正しい。
(b):(2)が正しい。

解説

(a) 
(ア)tに初期値d[1]を書き込む
(イ)iに2を書き込む。初期値はd[1]なので、繰り返し処理はi=2から始まる。
(ウ)最大値”s”と配列d[i]との比較を行い、d[i]がsより大きい場合、(エ)の処理を行う。d[i]がsと同じ又は小さい場合は(エ)の処理を飛ばす。
(エ)最大値”s”にd[i]を書き込む。

(b) 
(オ)d[i]<d[j](d[i]<d[i+1])のとき(カ)、(キ)の反転処理を行う。
(カ)d[j]の値をd[i]へ書き込む(d[i]>d[j]となる様に反転処理)
(キ)wへ一次退避したd[i]の値をd[j]に書き込む。

<<前問  次問>>