植物 植物
午前対策:平成8年春期 午前 問11〜問20

AOBA's Information Processing Education



1999/01/09

注意1:このページは、回線を切断した後でゆっくりご覧になってください(テキストを印刷する場合は、その取り扱いに注意してください)。

注意2:背景が白地の画面を長時間見つめていると頭が痛くなってしまいますので、ここは背景をグレーにしています。


「平成8年春期 第2種 午前」

問11 次の図のような記述法による構文図を考える。−1,21.5,+5.23などの表現は、この構文図の規定に合致する。

図1

 この記述法に従うとき、次の構文図の規定に合致する数値表現はどれか。

図2

ア −52.3E05    イ .58E2    ウ +.90E11
エ 3.45E    オ 28.E−1

問12 次の二つのスタック操作を定義する。

   PUSH n : スタックにデータ(整数n)をプッシュする。
   POP n  : スタックからデータをポップする。

 空のスタックに対して、次の順序で操作を行った結果はどれか。
PUSH 1 → PUSH 5 → POP → PUSH 7 → PUSH 6 → PUSH 4 → POP → POP → PUSH 3

図3

問13 次の2分木で表される算術式はどれか。

図4

ア A+B×C+(D+E)÷F    イ A+B×C−(D+E)÷F
ウ A+B×C−D+E÷F    エ A×B+C+(D−E)÷F
オ A×B+C−D+E÷F

問14 データを降順に並べた線形リストを2分探索法で探索するとき、3回目までの比較で探索を終了することができる要素の最大個数はどれか。

ア 3    イ 4    ウ 5    エ 7    オ 15

問15 n個の要素をもつ配列中の値と探索すべきデータXを順次比較し、配列中の値にデータXが存在した場合、”有”を表示する。このとき、添え字n+1の場所に探索すべきデータXを入れておく。

添え字......n+1
123...i...n

 この線形探索アルゴリズム中の(   )に入れるべき適切な条件はどれか。

 ステップ1 添え字iに1を入れる。
 ステップ2 (   )であればステップ5へとぶ。
 ステップ3 添え字iに1を加算する。
 ステップ4 ステップ2へとぶ。
 ステップ5 添え字iがn以下であれば”有”を表示する。
 ステップ6 終了

ア i≧n    イ i≠n    ウ i<n    エ X=ai    オ X≠ai

問16 整数値からなるn個(ただし、n≧2)のデータが、配列Tに格納されている。次の流れ図は、それらのデータを交換法を用いて昇順に整列する処理を示す。流れ図中のaに入れるべき適切な条件はどれか。

図5

ア T( j )<T( j+1 )    イ T( j )<T( j−1 )
ウ T( j )=T( j−1 )    エ T( j )>T( j+1 )
オ T( j )>T( j−1 )

問17 a,bを整数とする。次の流れ図によって表されるアルゴリズムを実行した後、a,bの値に無関係に成り立つ条件はどれか。

図6

ア x=0かつy=a+b    イ x=aかつy=b
ウ x+y=a+b    エ x−a=y−b
オ x×b=y×a

問18 25MIPSの処理装置がある。この処理装置の平均命令実行時間はどれか。

ア 40ナノ秒    イ 0.25マイクロ秒    ウ 0.4マイクロ秒
エ 2.5マイクロ秒    オ 4マイクロ秒

問19 縦の画素数が480ドット,横の画素数が640ドットの画像を256種類の色で表示する。このデータを記憶媒体に保存するためには、約何kバイトの容量が必要か。ただし、圧縮等の処理は行わないものとする。

ア 170    イ 310    ウ 480    エ 9,840    オ 78,650

問20 毎秒300kバイトのデータを伝送効率30%のLANを使用して送る。このLANに必要な伝送速度は、最低何Mビット/秒か。

ア 1.0    イ 2.4    ウ 8.0    エ 10    オ 24


解説

問11について
 数字の箱が3箇所にありますよね。ここで、最初の数字の箱の前部をA,2番目の数字の箱の前部をB,最後の数字の箱の前部をCとします。
 A部分に注目してください。
 A部分からは、求める数値表現の先頭1文字は、”+”か”−”か”数字”のいずれかであることが分かります。したがって、イが消えます。
 さらに、先頭1文字が”+”か”−”の場合は、その次は必ず数字がこなければなりませんので、ウもここで消えます。
 次にB部分に注目してください。
 B部分からは、求める数値表現の中に”.”があった場合、その次の文字は必ず”数字”であることが分かります。したがってここでオが消えます。
 最後にC部分に注目してください。
 C部分からは、求める数値表現の中に”E”があった場合、その次の文字は”+”か”−”か”数字”のいずれかであることが分かります。したがってここでエが消えます。
 とういことで、残るアが正解です。

問12について
 それぞれの操作を行った後のスタックの内容を確かめます。

 スタックの先頭 ← → スタックの底

@ PUSH 1 : 1
A PUSH 5 : 5,1
B POP    : 1
C PUSH 7 : 7,1
D PUSH 6 : 6,7,1
E PUSH 4 : 4,6,7,1
F POP    : 6,7,1
G POP    : 7,1
H PUSH 3 : 3,7,1

問13について
 木の頂点が”−”なので、この木は、

(左部分木)−(右部分木)

となる式を表しています。
左部分木に注目すると、
左部分木=(A)+(B×C) であることが分かり、

右部分木に注目すると、
右部分木=(D+E)÷(F) であることが分かります。

したがって、この木全体は、
((A)+(B×C))−((D+E)÷(F)) であり、これを展開して求める答えは、
A+B×C−(D+E)÷F です。

問14について
 第4回講座(平成6年秋期午前)の問33を参照してください。
 求める答えは、7回です(n回の比較で探索を終了することができる要素の最大個数は、2n−1と覚えちゃってもいいです)。

問15について
 この問題で行っているように、最後の要素に探索するデータ(この問題のX)を格納しておく方法を、”番兵”といいます。
 番兵を用いることによって、添え字が要素数を超えたかどうかの判定が繰り返し処理の中で不要となり(線形探索を行うと、必ず求める値と一致する要素が見つかるから)、通常の線形探索よりも、ほんの少し高速な処理が期待できます。
 ステップ2の空欄の解説は不要でしょう。求める答えは、X=aiです。ステップ5にとんだ後の判定で、もし番兵と一致したならばi=n+1となっていますので、この時は”有”を表示しません。

(注)
 問題の意味を取り違えないように。
 探索するデータXは、要素1〜要素nの中にあるかもしれないし、ないかもしれないのです。問題では、そのあるなし関わらず、n+1の位置にデータXを格納しています。

問16について
 交換法(基本交換法)による整列アルゴリズムの説明は、ここでは省略します。これはまた別の機会で説明しましょう。
 ここでは、交換法による整列アルゴリズムが、(おぼろげながらでも)理解していることを前提に説明します。

 ループ中の処理つまり、”T( j )とT( j−1 )の交換”に注目してください。
 空欄aの比較を行った後で、もし比較条件に合致していれば上記の交換処理を行うし、合致していなければこの交換処理を行いません。
 比較処理と交換処理は非常に密接な関係にあります。もっと言えば、比較処理で対象とするデータと、交換処理で対象とするデータは、同じなのです。
 つまり、比較の一方は T( j )であり、もう一方は T( j−1 )です。
 また、この問題では昇順に整列しますので、最終的には、T( j−1 )≦T( j )であることが求められます。
 ということは、交換処理を行う条件は”T( j )<T( j−1 )”です。

問17について
 ループに入る直前では、a=x,b=yです。その時点では、x+y=a+bの関係が成り立つことは分かるでしょう。
 一方ループの中で、xを1減算してyを1加算していますが、新しいx+yの値は、元のx+yの値と変わりませんよね。
 ということで、ループ中の処理を何回実行したとしても、常にx+y=a+bの関係が成り立ちます。
 さらに、ループを脱出する時点でxは常に0ですので、x=0かつy=a+bの関係も成り立ちます(ア,ウどちらでも正解ですが、アの方が条件が厳しいので、アと解答するのが無難です)。

問18について
 25MIPSは、当該CPUが1秒間に平均して、25×106回の命令を実行することを意味します。
 すると1回の平均命令実行時間は、1÷(25×106)秒であり、これは40ナノ秒です。

(参考...とても重要)
テラ(T)は1012
ギガ(G)は109
メガ(M)は106
キロ(k)は103
ミリ(m)は10-3
マイクロ(μ)は10-6
ナノ(n)は10-9
ピコ(p)は10-12

問19について
 256種類の色を表現するために必要なビット数は8です。
 なぜなら、2色を表現するのに必要なビット数は1であり、4色を表現するのに必要なビット数は2であり、8色を表現するのに必要なビット数は3であり、...2n色表現するのに必要なビット数はnだからです(8ビットあれば0〜255までを区別できると言った方がよいでしょうか)。
 1ドットに対して8ビット、つまり1バイト必要なのですから、480×640ドットの画像で必要なバイト数は、30720(480×640)バイトです。

問20について
 1秒間に300kバイトのデータをやりとりするということは、もし伝送効率が100%であれば、2.4Mビット/秒(300k×8)の伝送速度があればよいことになります。
 ところが問題では伝送効率が30%ですので(実際、100%にはなりません)、最低でも、8Mビット/秒(2.4M÷0.3)の伝送速度が必要です。


解答

問11 ア    問12 エ    問13 イ    問14 エ    問15 エ
問16 イ    問17 ア,ウ  問18 ア    問19 イ    問20 ウ