ITパスポートの過去問 令和4年度 テクノロジ系 問79
この過去問の解説 (3件)
ループの条件として、変数xの値が変数yの値と同じになるまでとなっています。
xを98、yを42として、フローチャートに沿って計算していきます。
ルールとして、
xがyより大きい (>) ・・・x からyを引き、その値をxに上書きする
xがy以下である(≦)・・・yからxを引き、その値をyに上書きする
となっています。変数の順番や上書きする変数に注意しましょう。
1回目
98は42より大きいので
98 – 42 = 56
xに56を代入 ※yは42のまま
2回目
56は42より大きいので
56 – 42 = 14
xに14を代入
3回目
14は42以下なので
42 -14 = 28
yに28を代入 ※xは14のまま
4回目
14は28以下なので
28 - 14 = 14
yに14を代入
5回目
xもyも14
よって、xの値は14となります。
2が正解です。
流れ図ではx = 89、y = 42を格納し、x = yになるまで、xとyを比べてxの方が大きい場合はx←x - y、yがx以上の時はy←y - xを処理を繰り返しています。
1回目 x:yは98:42 xの方が大きいのでx←x - yが処理されxが56に変わる。
2回目 x:yは56:42 xの方が大きいのでx←x - yが処理されxが14に変わる。
3回目 x:yは14:42 yがx以上なのでy←y - xが処理されyが28に変わる。
4回目 x:yは14:28 yがx以上なのでy←y - xが処理されyが14に変わる。
5回目 x:yは14:14で繰り返し前処理のx = yで終了条件を満たしているので終了。
となるので、正解は2です。
1の解説)処理の結果xは14になります。
2の解説)正解です。
3の解説)処理の結果xは14になります。
4の解説)処理の結果xは14になります。
順に処理していきます。
繰返し X Y 処理結果
1回目 98 42 98-42=56
2回目 56 42 56-42=14
3回目 14 42 42-14=28
4回目 14 28 28-14=14
5回目 14 14 終了
よって、14である2が正解です。
解説が空白の場合は、広告ブロック機能を無効にしてください。
また、広告右上の×ボタンを押すと広告の設定が変更できます。