にしのクエスト2

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

20240615101703

まいにち高度 令和2年度問題解説 問1 問2 問3

情報処理技術者試験 高度区分試験の令和2年度問題
(全30問)を隔日3問ずつ解いていきます。

問題の解き方や考え方を理解し、暗記していきましょ
う。なお、問題の引用ルールはIPAに準じています。

f:id:koharuwest:20211107170943p:plain

 

問1

式A+B×Cの逆ポーランド表記法による表現として、適切なもの
はどれか。

ア +×CBA
イ ×+ABC
ウ ABC×+
エ CBA+×


問2
a、b、c、d の4文字からなるメッセージを符号化してビット列に
する方法として表のア〜エの4通りを考えた。この表は a、b、c、
d の各1文字を符号化するときのビット列を表している。メッセー
ジ中の a、b、c、d の出現頻度は、それぞれ、50%、30%、10%、
10% であることが分かっている。符号化されたビット列から元の
メッセージが一意に復号可能であって、ビット列の長さが最も短く
なるものはどれか。

f:id:koharuwest:20211107172852p:plain

 問3

オブジェクト指向のプログラム言語であり、クラスや関数、条件文
などのコードブロックの範囲はインデントの深さによって指定する
仕様であるものはどれか。

ア JavaScript
イ Perl
ウ Python
エ Ruby




(正解)

ウウウ

(本日のクリティカルフレーズ)
・問題に潜む、解答を導くフレーズを赤字で示しています。
 こうきたら、こう返すフレーズですので、要暗記です。
・紫字は解説となっています

問1

式A+B×Cの逆ポーランド表記法による表現として、適切なもの
はどれか。

ア +×CBA
イ ×+ABC
ウ ABC×+
エ CBA+×

A+BをAB+のように表すのが逆ポーランド。
なので、

A+B*C


A+BC*
BC*をひとまとめとして解釈

ABC*+
ゆえにウです。


問2
a、b、c、d の4文字からなるメッセージを符号化してビット列に
する方法として表のア〜エの4通りを考えた。この表は a、b、c、
d の各1文字を符号化するときのビット列を表している。メッセー
ジ中の a、b、c、d の出現頻度は、それぞれ、50%、30%、10%、
10% であることが分かっている。符号化されたビット列から元の
メッセージが一意に復号可能であって、ビット列の長さが最も短く
なるものはどれか。ハフマン符号化の問題です。

f:id:koharuwest:20211107172852p:plain
アだと、11がbbなのかdなのか判然としません。
イも同様で0110をadaと解釈するべきかbcと解釈するべき
かでできなさそうです。

ウとエは一意になりそうですが、出現率の高い文字は小さなビット
を当てるべきなので、ウが正解でしょう。


 問3

オブジェクト指向のプログラム言語であり、クラスや関数、条件文
などのコードブロックの範囲はインデントの深さによって指定する
仕様であるものはどれか。

ア JavaScript
イ Perl
ウ Python
エ Ruby

これは、{ } みたいな対照関係をTABで表してしまう言語。
Pythonですね!