にしのクエスト2

情報処理技術者試験と資格学校講師の日常

にしのクエスト2

まいにち基本 平成31年春問題解説 問5 問6 問7 問8

難しくはないんですが、時間のかかる問題が多いです。
過去問と同じ場合はさっ!と答える力が必要。
それ以外の場合は後回しで、時間かけてやりましょう。

f:id:koharuwest:20190429153641p:plain

基本情報の平成31年春 午前問題(全80問)を
解いていきます。問題の解き方や考え方をわかりや
すく、解説してみる連載です。

問5
2分探索木として適切なものはどれか。ここで、1
~9の数字は、各ノード(節)の値を表す。

f:id:koharuwest:20190729223459p:plain

 

問6
三つのスタックA、B、Cのいずれの初期状態も[
1、2、3]であるとき、再帰的に定義された関数
f()を呼び出して終了した後のBの状態はどれか。
ここで、スタックが、[a1 a2、…、an−1]
の状態のときにanをpushした後のスタックの
状態は[a1 a2、…、an−1、an]で表す。

f(){
 Aが空ならば{
  何もしない。
 }
 そうでない場合{
  Aからpopした値をCにpushする。
  f()を呼び出す。
  Cからpopした値をBにpushする。
 }


ア[1、2、3、1、2、3]
イ[1、2、3、3、2、1]
ウ[3、2、1、1、2、3]
エ[3、2、1、3、2、1]


問7
次の流れ図は、2数 A、B の最大公約数を求め
るユークリッドの互除法を、引き算の繰返しによっ
て計算するものである。Aが876、Bが204の
とき、何回の比較で処理は終了するか。

f:id:koharuwest:20190729223807p:plain



ア  4
イ  9
ウ 10
エ 11


問8
複数のプロセスから同時に呼び出されたときに、互
いに干渉することなく並行して動作することができ
るプログラムの性質を表すものはどれか。

ア リエントラント
イ リカーシブ
ウ リユーザブル
エ リロケータブル

 

 

(解答と解説)

 

問5
2分探索木は
左<真ん中<右 の順番に並んでないと
ダメなので、イしか成立してないことが
わかるはず・・・。です。

問6
やればいいですよね。
0  A[1,2,3]  B[1,2,3]  C[1,2,3]
1  A[1,2]  B[1,2,3]  C[1,2,3,3]
2  A[1]  B[1,2,3]  C[1,2,3,3,2]
3  A  B[1,2,3]  C[1,2,3,3,2,1]
ここまででAが空になります。

4  A
 B[1,2,3,1]  C[1,2,3,3,2]
5  A  B[1,2,3,1,2]  C[1,2,3,3]
6  A
 B[1,2,3,1,2,3]  C[1,2,3]
これで終わりになります。

よって、正解はアになります。

問7
要するに、二つの数字が同じになるまで
計算しなさいよ。なので


1 > 876ー204=672
2 > 672ー204=468
3 > 468ー204=264
4 > 264ー204= 60
5 < 204- 60=144
6 < 144ー 60= 84
7 <  84- 60= 24
8 >  60ー 24= 36
9 >  36ー 24= 12
10<  24ー 12= 12
11=  12= 12 


あー疲れた。11回ですね。


問8
ア リエントラント
再入。正しいです。

イ リカーシブ
再帰。自分を呼び出すことです。

ウ リユーザブル
再実行なので、同じ結果が出る性質のこと。

エ リロケータブル
メモリのどの番地に配置しても大丈夫なこと。