《機械》〈情報伝送及び処理〉[R05上:問14]プログラムを実行したときに出力される値に関する計算問題

【問題】

【難易度】★★☆☆☆(やや易しい)

次のフローチャートに従って作成したプログラムを実行したとき,印字される\( \ \mathrm {A} \ \),\( \ \mathrm {B} \ \)の値として,正しい組合せを次の(1)~(5)のうちから一つ選べ。

\[
\begin{array}{ccc}
&   \mathrm {A}   &   \mathrm {B}   \\
\hline
(1) & 43 & 288 \\
\hline
(2) & 43 & 677 \\
\hline
(3) & 43 & 26 \\
\hline
(4) & 720 & 26 \\
\hline
(5) & 720 & 677 \\
\hline
\end{array}
\]

【ワンポイント解説】

プログラムを実行したときに印字される値の導出に関する問題です。
論理的なパズルのような問題で,丁寧に解いていけば難なく解ける問題かと思います。
平成26年問14にほぼ同じ問題が出題されています。

1.主なフローチャート記号
①開始・終了
プログラムの開始と終了を表します。最初と最後に必ずつけます。

②入力・出力
データの入出力を行う記号です。

③処理
データの作業・処理を行います。

④判断
選択肢が分かれる場合に分岐させるための記号となります。

⑤ループ
ループ開始と終了を表します。終了条件が成立するまで,繰り返します。

【解答】

解答:(3)
以下のようなプロセスを通じて\( \ \mathrm {A} \ \),\( \ \mathrm {B} \ \)が出力されます。
【1周目】
\( \ \mathrm {A} \ \)に\( \ 10 \ \),\( \ \mathrm {B} \ \)に\( \ 2 \ \)を入力
→\( \ \mathrm {A+B=12} \ \)を\( \ \mathrm {A} \ \)とする。(\( \ \mathrm {A}=12,\mathrm {B}=2 \ \))
→\( \ \mathrm {A=12≦40} \ \)であり,\( \ \mathrm {A} \ \)の方が小さいので\( \ \mathrm {YES} \ \)へ
→\( \ \mathrm {B^{2}+1=5} \ \)を\( \ \mathrm {B} \ \)とする。(\( \ \mathrm {A}=12,\mathrm {B}=5 \ \))

【2周目】
→\( \ \mathrm {A+B=17} \ \)を\( \ \mathrm {A} \ \)とする。(\( \ \mathrm {A}=17,\mathrm {B}=5 \ \))
→\( \ \mathrm {A=17≦40} \ \)であり,\( \ \mathrm {A} \ \)の方が小さいので\( \ \mathrm {YES} \ \)へ
→\( \ \mathrm {B^{2}+1=26} \ \)を\( \ \mathrm {B} \ \)とする。(\( \ \mathrm {A}=17,\mathrm {B}=26 \ \))

【3周目】
→\( \ \mathrm {A+B=43} \ \)を\( \ \mathrm {A} \ \)とする。(\( \ \mathrm {A}=43,\mathrm {B}=26 \ \))
→\( \ \mathrm {A=43>40} \ \)であり,\( \ \mathrm {A} \ \)の方が大きいので\( \ \mathrm {NO} \ \)へ
→\( \ \mathrm {A} \ \)と\( \ \mathrm {B} \ \)を印字する。(\( \ \color {red}{\mathrm {A}=43,\mathrm {B}=26} \ \))
→終了