どうしても頭に入ってこないのならば、身近な言語に置き換えてしまってもよいのかもしれないですね。
Sub(x as Integer, y as Integer)
Dim q As Integer, r As Integer
q = 0
r = x
'①
Do
if r < y Then Exit Do '②
r = r - y
q = q + 1
'③
Loop
'④
Debug.Print q
Debug.Print r
End Sub
例えばVBAだとこんな感じ
選択肢を見ると割り算の処理であることが明白。
あとは、どっちで割るのかとか、どっちが商でどっちがあまりなのかということなので
それらの関係がはっきりわかる、具体的な値を代入して結果を確認してみる。
たとえば、5÷3=1 余り2 を例に考えてみる。
x = 5
y = 3とすると
①の時点で
x = 5, y = 3, q = 0, r = 5
②では、
if 5 < 3 Then となるので False ループを継続する
③の時点で
x = 5, y = 3, r = 2, q = 1
ここの処理を見ると割る数(y)を1つ取り除き
qの値が1つ増えているので、 yが割る数でq は商を表している雰囲気を感じとれるとよいのかな
でも、実際に結果を見るのが一番確実なので続ける。
②では、
if 2 < 3 Then となり Trueになりループを抜けることになる
④の時の各値は
x = 5, y = 3, r = 2, q = 1となり
5÷3=1 余り2 と比較すると
xが割られる数で
yが割る数
qが商
rが余り
ということになる。
答え イ
戻る
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。