基本情報技術者講座
★ 猫本 4-01 アルゴリズム(その2) ★
基本情報技術者 平成28年度春期 問8
xとyを自然数とするとき,流れ図で表される手続を実行した結果として,適切なものはどれか。
解説
(頭の準備体操)
具体例を想定すれば,問題はやさしくなる。
選択肢から,x÷yの商と余りを求めているのがわかる。
ここで,xを10,yを3の場合を想定する。
10÷3は,商が3,余りが1
トレースをする。
よって,qの値は「x÷yの商」,rの値は「x÷yの余り」である。
このアルゴリズムは,xをyで何回減算できるかを求めることで,x÷yの商と余りを求めている。
解答
イ
基本情報技術者 平成29年度春期 問5
流れ図は,シフト演算と加算の繰り返しによって,2進整数の乗算を行う手順を表したものである。この流れ図中のa,bの組合せとして,適切なものはどれか。ここで,乗数と被乗数は符号なしの16ビットで表される。X,Y,Zは32ビットのレジスタであり,けた送りは論理シフトを用いる。最下位ビットを第0ビットと記す。
解説
(頭の準備体操)
論理シフトは,あふれたビットは捨てる。空いたビットには0を入れる。
具体例を想定すれば,問題はやさしくなる。
xを2(2進数では,00…0010),yを3(2進数では,00…0011),
zは「xとyを乗算した」6となる場合を想定する。
選択肢をトレースをする。
以降,i≦16の間で,「Yの第0ビットが1」になることはないので,加算(③)されない。Zは6(正解)
このアルゴリズムは,Yの第nビットが1であれば、ZにX×2nを加算する処理を繰り返している。
以降,i≦16の間で,「Yの第0ビットが1」になることはないので,加算(③)されない。Zは2
以降,i≦16の間で,「Yの第15ビットが1」になることはないので,加算(③)されない。Zは0
以降,i≦16の間で,「Yの第15ビットが1」となったとしても,xの値(0)が加算(③)される。Zは0
解答
ア