【問123】ITパスポート 練習問題|流れ図の読み取り
基礎理論とアルゴリズム 問13/20難易度B(標準)
問題文
変数xに10を、変数yに0を代入したうえで、xが0より大きい間、yにyとxの和を代入し、続いてxにxから3を引いた値を代入する処理を繰り返す。この繰返しが終了したときのyの値はどれか。
- 1.10
- 2.22
- 3.30
- 4.55
解説
正解は2。変数の値を1行ずつ書き出して追うと、1回目でyが10、xが7となり、2回目でyが17、xが4、3回目でyが21、xが1、4回目でyが22、xがマイナス2となる。ここでxが0より大きいという条件が成り立たなくなるので繰返しを抜け、yの値は22となる。加えられた値は10、7、4、1の四つである。1は誤り。10は加算と減算の順序を取り違え、先にxから3を引いてから足した場合の値である。3は誤り。30はxを3ではなく2ずつ減らした場合の値である。4は誤り。55はxを1ずつ減らして10から1までを足した場合の値である。流れ図や擬似言語の問題は、変数の値を表に書き出して1回ずつ追うのが確実である。