令和 4 年度 第 1 次試験問題 経営情報システム 第ニ問 解答と解説

解答

 

4.

 

解説

 

プログラムやっていると、感覚的に分かる問題ですが、経験が無い場合はなかなかハードルは高めかもしれません。

ある「キー」と「値」がセットになった構造をデータベースとして構成する場合がよくあります。そしてそれらが何セットか複数のある連なりを、Dictionary と呼ぶ言語があります。人気のPythonとかC#とかにありますね。

 

問題文では、examというDictionaryという構造が定義されています。その中は、ちょっとだけトリッキーな感じですが、問題文の例を読んでいけば、その構造が分かるでしょう。

その中では、「キー」"A"~"G"まで7つ登録されているのが分かると思います。そして、そのキーに対応する値は、{ }で囲まれたデータ、つまりはDictionaryが入っています。つまり、Dictionaryの中に、さらにDictionaryが入っている構造なわけですね。

そして、中の方のDictionaryの構造を見ると、「キー」に「科目名」、「試験時間」、「配転」という3種類あり、そのキーと値のセットが1つずつ計3個あるのが分かると思います。その3セットが、上位のキー"A" ~ "G"にそれぞれ紐づいているわけですね。

しかし、よく見ると、中のDictionaryが3つのパターンと、2つのパターンがあるようですね。どうやら、配転は無しという場合もあるようです。

問題文で重要なのが、キー[A]の中のDictionary の中の科目名の値の表し方を、exam[A] [科目名]と表すことができます。つまりは、

 exam[A][科目名] = "科目A"

となりますね。

 

exam = {
     "A":{"科目名":"科目A", "試験時間":"60 分", "配点":"100 点"},
     "B":{"科目名":"科目B", "試験時間":"60 分", "配点":"100 点"},
     "C":{"科目名":"科目C", "試験時間":"90 分", "配点":"100 点"},
     "D":{"科目名":"科目D", "試験時間":"90 分"},
     "E":{"科目名":"科目E", "試験時間":"60 分", "配点":"100 点"},
     "F":{"科目名":"科目F", "試験時間":"60 分", "配点":"100 点"},
     "G":{"科目名":"科目G", "試験時間":"90 分"}

 
さて、ここまで読んだら、問題を見ていきましょう。ちなみに、ここで一番注意する必要があるのは、この問題、正しいのを当てるのではなく、不適切なものを当てるというところです。
 

1.exam["A"]["試験時間"] の値と exam["B"]["試験時間"] の値は等しい。

まず、exam["A"]["試験時間"] は、"60分"で、exam["B"]["試験時間"] は、60分です。これは正しい文章です。

 

2.exam["C"]["配点"] の値は、"100 点" である。

exam["C"]["配点"] ="100点" は正しいですね。

 

3.exam["D"] に、キー "配点" は存在しない。

exam["D"] の中のDictionaryを見てみて、確かに"配転"が無いですね。これはその通りです。

 

4.exam["E"]["試験時間"] の値と exam["G"]["試験時間"] の値は等しい。

exam["E"]["試験時間"]  = 60分ですね。

exam["G"]["試験時間"]  = 90分ですね。いや、あからさまに違います。これが正解になります。しかし、これが正解って面白みがありませんけどね。

 

5.exam["F"]["科目名"] の値は、"科目F" である。

exam["F"]["科目名"]  = "科目F"ですね。正しい文章です。

 

以上より、正解は4となります。