Nishiki-Hub

国内外のPC/PCパーツ/スマホ/Appleなどの最新情報を取り上げています

共通テスト「情報」の試作問題を解いてみる【解説付き】

本日の内容

近年、特に情報分野への注目が高まっていますね。ICT社会の到来やら、IoT技術の発展やら。情報技術はこの数十年で目まぐるしく発達しました。そんな中、日本も情報教育に力を入れているような気がします。その例の一つが共通テストに国数英社理と新たに追加される「情報」の科目。今回は、大学入試センターと文部科学省がそれぞれ公開しているサンプル問題・試作問題を解いて解説してみようと思います。一応情報学生なので(応用情報も合格したしな!!!)。

この記事では、大学入試センターの試作問題を解いてみました。文部科学省版のサンプル問題はComing Soonということで。

概要

別に概要とか説明してもあれなんでサクッと行くと。

共通テストに「情報」が追加されるのは令和6年度(2025年度)からなので、導入されるのは2025年1月の共通テストということになります。現在高校2年生がその最初の生徒になるわけですね。情報以外にも変わるみたいですが、それは本稿ではノータッチで。

一応、高校の情報Iの学習指導要領が出題範囲となっているようです。情報社会におけるリテラシーやストラテジのような設問から、擬似言語のような設問、統計学まで、情報に関して広く浅い知識が求められているようです。若干の数学もありますが、数学嫌いな私から見ても、そんなに難しくはないと言えます。そもそも統計学はそこまで苦手じゃないってのもありますけれども。

難易度はITパスポート以上、基本情報技術者試験未満ということで。チョーむずい!!わけではなく、着実に勉強していけばなんとかなります。マーク式なので、焦らずやればどうにかなるんじゃないかなとはおもいます。

一応、しっかり一度解いて、回答確認してるので正確なはずだけど、間違ってたらごめんなさいということで

大学入試センター版

では、まず、大学入試センターが公開している試作問題から見ていきましょう。

出典:大学入試センター
https://www.dnc.ac.jp/albums/abm.php?d=511&f=abm00003277.pdf&n=6-2-1_%E8%A9%A6%E4%BD%9C%E5%95%8F%E9%A1%8C%E3%80%8E%E6%83%85%E5%A0%B1%E2%85%A0%E3%80%8F%E2%80%BB%E4%BB%A4%E5%92%8C4%E5%B9%B412%E6%9C%8823%E6%97%A5%E4%B8%80%E9%83%A8%E4%BF%AE%E6%AD%A3.pdf

第1問

第1問は、「情報社会と人との関わりの中で,情報及び情報技術に関して科学的に理解し,適切に活用できるかを問う。」*1とされており、リテラシーに近い問題が出題されていますが、途中でパリティがでてくるあたり、本気だなぁとか思ってます。

問1a

問1 a

SNS やメール,Web サイトを利用する際の注意や判断として,適当なものを,次の0〜5のうちから二つ選べ。ただし,解答の順序は問わない。

  • 0: 相手からのメッセージにはどんなときでも早く返信しなければいけない。
  • 1: 信頼関係のある相手と SNS やメールでやり取りする際も,悪意を持った者がなりすましている可能性を頭に入れておくべきである。
  • 2: Web ページに匿名で投稿した場合は,本人が特定されることはない。
  • 3: SNS の非公開グループでは,どんなグループであっても,個人情報を書き込んでも問題はない。
  • 4: 一般によく知られているアニメのキャラクターの画像を SNS のプロフィール画像に許可なく掲載することは,著作権の侵害にあたる。
  • 5: 芸能人は多くの人に知られていることから肖像権の対象外となるため,芸能人の写真を SNS に掲載してもよい。

答え

A. 1 , 4

この問題はリテラシーを問う問題ですね。

1: インターネットにおいて、第3者が知人友人、著名人になりすましていることは多々あります。最近であれば、ディープフェイクという、AI技術を用いてあたかもその人が発言しているかのように動画を作成し、なりすますこともあるため注意が必要です。

4: インターネットに限らず、公開されているすべてのもの(著作物)には著作権があります。この記事も著作物で、私の定めた利用規約に基づいた利用方法でないと転載などする事はできません。それを保存して、自分だけで楽しむのであれば問題ありませんが、インターネットでだれでも見える形で公開すると著作権を侵害することになります。アニメやテレビドラマの1つのシーンであっても例外ではありません。ただし、著作権者の許可があれば可能です。

問1b

問1b

インターネット上の情報の信ぴょう性を確かめる方法として,最も適当なものを次の ~ のうちから一つ選べ。

  • 0: 検索エンジンの検索結果で,上位に表示されているかどうかで判断する。
  • 1: Q&A サイトの回答は,多くの人に支持されているベストアンサーに選ばれているかどうかで判断する。
  • 2: SNS に投稿された情報は,共有や「いいね」の数が多いかどうかで判断する。
  • 3: 特定の Web サイトだけでなく,書籍や複数の Web サイトなどを確認し,比較・検証してから判断する。

答え

A. 3

引き続き、リテラシーを問う問題でした。

基本的に、インターネットの情報は不特定多数の人が書き込む事ができるため、その情報が正しいかを精査する必要があります。その最も簡単な方法としては、一次情報を確認する、複数の情報源を参照するなどがあります。特に複数の情報源の更に大本の情報源が同一の場合、大本の情報源が虚偽の情報を流していると複数の情報源であっても虚偽の情報が掲載されていることもあるため、実際には書籍や論文等による精査が最も確実性が高いです。

問2

問2

次の文章の空欄 エ・オ に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。

データの通信において,受信したデータに誤りがないか確認する方法の一つにパリティチェックがある。この方法では,データにパリティビットを追加してデータの誤りを検出する。ここでは,送信データの 1 の個数を数えて,1 の個数が偶数ならパリティビット 0 を,1 の個数が奇数ならパリティビット 1 を送信データに追加して通信することを考える。例えば,図 1 に示すように送信データが「01000110」の場合,パリティビットが 1 となるため,パリティビットを追加したデータ「010001101」を送信側より送信する。

図1 送信データ「01000110」とパリティビット(出典:大学入試センター)

受信側では,データの 1 の個数が偶数か奇数かにより,データの通信時に誤りがあったかどうかを判定できる。この考え方でいくと,

例えば,16 進法で表記した「7A」を 2 進法で 8 ビット表記したデータに,図 1 と同様にパリティビットを追加したデータは,「」となる。

「エ」の解答群

  • 0:パリティビットに誤りがあった場合は,データに誤りがあるかどうかを判定できない
  • 1:パリティビットを含め,一つのビットの誤りは判定できるが,どのビットに誤りがあるかは分からない
  • 2:パリティビットを含め,一つのビットの誤りは判定でき,どのビットに誤りがあるかも分かる
  • 3:パリティビットを含め,二つのビットの誤りは判定できるが,どのビットに誤りがあるかは分からない
  • 4:パリティビットを含め,二つのビットの誤りは判定でき,どのビットに誤りがあるかも分かる

「オ」の解答群

  • 0: 011110100
  • 1: 011110101
  • 2: 011110110
  • 3: 011110111
  • 4: 101001110
  • 5: 101001111

答え

A. エ: 1 , オ:1

パリティビットは問題文中にもあるように、受信したデータに誤りがないかを確認するビットとしてよく使われています。ビットとは、2進数で表したときの1つの桁のことを言います。

エは1が正しいです。このようなパリティビットの場合、一つのビットが誤っていればデータに誤りがあることが確認できます。考え方としては、偶数と奇数は交互であるため、1桁間違っていたとしても+1か-1になり、パリティビットに違いが現れるためです。一方で偶数個のビット誤っていると、パリティビットは正しいビットとなります。よって3と4は誤りです。また、パリティビットは1の個数だけをみて判断するため、場所を特定する事はできません。よって2も誤りとなります。

例を上げて考えてみましょう。今回は、1の個数が奇数ならパリティビットが1、偶数ならパリティビットが0となりますね。「0110」を正しいデータとしたとき、正確なパリティビットは1の個数が偶数なので「0」となり、これを合わせて「01100」となります。

これが、何らかの影響で「1110」と、最初のビットだけ変わってしまいました。この場合、パリティビットは「1」となるため、正しいデータのパリティビットと異なることからこれが誤りであることがわかります。では、「1110」ではなく、「0111」と誤った場合を考えてみましょう。この場合、のパリティビットも「1」となります。このことから、パリティビットだけでは、誤ったビットの位置を特定することはできません。よって、 2と4は誤りです。

次に、2つのビットを誤った場合を見てみましょう。「1111」と真ん中2つのビットが誤っている場合を考えます。この場合、1の個数は4個、つまり偶数であるため、正しいデータと同じパリティビットは「0」となります。このことから、偶数個の誤りがあった場合、パリティビットは正しいデータとおなじになってしまうため、3,4も誤りとなります。

最後に0の選択肢です。これはパリティビットをふくめてそもそもデータが誤っていることがわかります。ただ、パリティビットが誤っているのか、データが誤っているのかは特定することができません。よって、データに限って誤りがあるかを確認することができないため、不正解となります。おれは0と1で迷った。


オは、7Aをパリティビット付きで考えます。まず、16進数を一気に2進数に直しちゃいます。方法は簡単で、7とAそれぞれを2進数になおしてそれを連結するだけです。情報の科目に臨まれる方は16進数の0〜Fの2進数表記を暗記しておくことをおすすめしますが、もっと簡単方法もあります。

2進数の仕組み

2進数は4bitまでなら、左から8 4 2 1で、1であるビットの桁と対応する数字を足して上げれば求まります。7であれば、4+2+1になりますから「0111」、9であれば8+1となるので「1001」となります。もし、暗記したけどわすれちゃったときはこれ使いましょう。

で話をもとに戻し、7は「0111」、Aは「1010」なので「01111010」が7Aの2進数表記となります。そして1の個数は5つで奇数なので、パリティビットは「1」よって、「011110101」が答えとなり、1番が正解となりますね。

問3

問3

次の文章を読み,空欄 カ~ク に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。

基本的な論理回路には,論理積回路(AND 回路),論理和回路(OR 回路),否定回路(NOT 回路)の三つがあげられる。これらの図記号と真理値表は次の表1で示される。真理値表とは,入力と出力の関係を示した表である。

表1 図記号と真理値表(出典:大学入試センター)

(1) S航空会社が所有する旅客機の後方には,トイレが二つ(A・B)ある。トイレ A とトイレ B の両方が同時に使用中になると乗客の座席前にあるパネルのランプが点灯し,乗客にトイレが満室であることを知らせる。入力 A は,トイレ A が使用中の場合には1,空いている場合には0とする。B についても同様である。出力 X はランプが点灯する場合に1,点灯しない場合に0となる。これを実現する論理回路は次の図2である

図2 (1)の論理回路(出典:大学入試センター)

S航空会社では新しい旅客機を購入することにした。この旅客機では,トイレを三つ(A・B・C)に増やし,三つのうちどれか二つ以上が使用中になったら混雑を知らせるランプを点灯させる。入力や出力は(1)と同様とする。この場合の真理値表は で,これを実現する論理回路は図3である。

図3及び、解答群(出典:大学入試センター)

若干図が多いので、原本を見ることもおすすめします。

答え

A. カ: 0 , キ:2, ク:1

最初に行っておきます。時間配分でこの時点で10分以上経過している場合、を捨てる選択肢を用意することをおすすめします。沼ると時間かかります。

論理回路の記号などは表1のように基本的に資料が用意されているので覚える必要はありませんが、予め認識しておくことで問題を解く速度は上がるでしょう。

図2において、AとBはそれぞれトイレの使用状況を表しており、1なら使用中、0なら空室であるとなります。そしてXは両方が満室なら点灯させたいとしており、点灯するときは1、それ以外は0となります。

つまりAとB両方が「1」のときだけ、Xを「1」にしたいわけです。難しく考える必要はありません。答えは表1と照らし合わせて、論理積回路となる0番が正解となります。


(2)では、トイレの数が2つから3つに、点灯条件がすべて満室から2つ満室にかわりました。今回、表1に用意された回路はすべて2つの入力しかできませんので、組み合わせが必要です。

先にの解説。これは、A/B/Cのうち「1」が2つ以上ある場合のすべてにおいてXが「1」となっている選択肢を選びます。1番,3番はそれぞれ「1」が1つのときだけでもXが1になっているので不正解。0番は「1」が3つのときしかXが1になっていないので不正解。よって2番が正解となります。


説明のために番号付け

それでは、を見ます。説明のために、各記号をこの画像の通りに番号付けし、AとBの論理積を「A and B」、論理和を「A or B」、否定を「not A」と表記することにします。

図3の上部にある図中④の記号は(A and B)である図中①と、(B and C)である図中②が繋がっている論理和となり、①or②となります。これを更に言い換えれば、Bを含めて2つ以上の入力が「1」のときに「1」を出力する記号であることになります。

図中④の出入力

そして、とつながる図中③の記号はA and Cとなります。つまり、図中④では、Bを含む組み合わせの検証ができ、図中③では、AとCの組み合わせえを検証できるということになり、これらはどちらかが成り立てばいいのでの答えは選択肢2番の論理和となります。

とひらめければ御の字ですが、ここの問題は沼ると時間を食います。この解法は入力から導き出しましたが、これはかなり運がいい場合しか通用しない場合があります。

この問題の王道スタイルは、それぞれの入力と回路図をみて、の表が成り立つように見ていく方法ですが、結構時間かかりますね。運良くその組み合わせが見つかればいいですが、時間がかかると思ったら捨てて最後に回ってきても問題はないかと

どのように見ていくかというのを説明します。

検証するための表

選択肢ごとにこの表を作ります。沼ると選択肢分のこの表を作る必要があるので時間がかかるわけです。

問4

問4

次の文を読み,空欄に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。ただし,空欄 は解答の順序は問わない。

情報を整理して表現する方法として,アメリカのリチャード・S・ワーマンが提唱する「究極の5つの帽子掛け」というものがある。これによれば,情報は無限に存在するが,次の5つの基準で情報の整理・分類が可能という。

  • 場所・・・物理的な位置を基準にする (例:都道府県の人口,大学のキャンパスマップ)
  • アルファベット・・・言語的な順番を基準にする(日本語なら五十音)(例:辞書,電話帳)
  • 時間・・・時刻の前後関係を基準にする(例:歴史年表,スケジュール)
  • カテゴリー・・・物事の差異により区別された領域を基準にする(例:生物の分類,図書館の本棚)
  • 階層(連続量)・・・大小や高低など数量的な変化を基準にする(例:重要度順の ToDo リスト,ファイルサイズの大きい順)

この基準によれば,図4の「鉄道の路線図」はを基準にして整理されており,図5のある旅行会社の Web サイトで提供されている「温泉がある宿の満足度評価ランキング」はを基準に整理・分類されていると考えられる。

図4及び図5(出典:大学入試センター)

ケ〜サの解答群

  • 0: 場所
  • 1: アルファベット
  • 2: 時間
  • 3: カテゴリー
  • 4: 階層(連続性)

答え

A. ケ:0 コ,サ:3,4

この問題は読む読む問題で知識を問われているわけではありません。国語の問題です。

まず、鉄道の路線図は場所によって整理されています。答えは0番 場所です。

そして、旅館の方は、リゾートホテルやシティホテルなどカテゴリによって整理されている上、ランキングによって階層として整理されています。よって、3/4番が正解となります。

第2問A

第2問は、AとBに分かれています。難易度が若干上がりますが焦らず行きましょー。

第2問Aは、「広く私たちの生活の中で利用されている情報技術の一つである二次元コードについて,その仕組みの理解と探究的な活動の中で得られる規則性や特徴について,また,知的財産権との関わりについて考察できるかを問う。 」*2とされています。二次元コードつまりはQRコードですが、このQRコードは日本発祥の技術で・・・・という内容。その特許や仕組みについての問題が出題されていますよ。では、まず、第2問Aに共通する問題文を読んでみましょう。

第2問A 問題文

次の太郎さんと先生の会話文を読み,問い(問1~4)に答えよ。

太郎:二次元コードって様々なところで使われていて,便利ですね。
先生:二次元コードといってもいろいろ種類があるけれど,日ごろよく目にするものは日本の企業が考えたんだよ。
太郎:すごい発明ですね。企業だから特許を取ったのでしょうか。
先生:もちろん。(ア) 世の中で広く使われるようになったんだよ。
太郎:どのくらいの情報を入れられるのでしょうか。
先生:大きさにもよるけど,図1ぐらいの大きさであれば,数字なら 187 文字,英小文字なら 78 文字,記号や漢字なら 48 文字を入れられるよ。二次元コードの形状にはどんな特徴があるかな?
太郎:黒白の小さな正方形で構成されていて,3か所の隅に二重の少し大きな正方形がありますね。
先生:黒白の小さな正方形はセルと言って,1 と 0 に符号化されるんだよ。図1の二次元コードは縦×横が 33×33 のセルで構成されているけど,文字種や文字数などによってセルの縦と横の数が変わり,それにつれて二次元コードの大きさも変わるね。A3か所の隅にある二重の少し大きな正方形は,読み取り機にこの二次元コードがあることを教えている位置検出の目印なんだ。
太郎:この二次元コードって一部を隠しても正しく読み取れるんですよね。
先生:B誤り訂正機能だね。工場などでの製品管理でも使えるように,汚れや破損などで一部が読み取れなくても復元できるんだよ。読み取れない面積の割合によって復元できるレベルは4段階あるんだ。
太郎:すごい技術ですね。
先生:そうだね。自分でも二次元コードを作成できるから,いろいろ試してみたらどうかな。

では設問を見ていきます。

問1

問1

空欄(ア)に当てはまる文として最も適当なものを,次の0 ~ 3のうちから一つ選べ。

  • 0: そこで,使用料を高くすることでこの二次元コードの価値が上がったから
  • 1: しかし,その後特許権を放棄して誰でも特許が取れるようにしたから
  • 2: そして,特許権を行使して管理を厳密にしたから
  • 3: でも,特許権を保有していても権利を行使しないとしていたから

答え

A. 3

この問題は、知識が若干問われます。答えは3です。デンソーウェーブという会社が特許を保有し、それをオープンにすること、特許権を行使しないことを宣言しています。同様に「QRコード」という商標もデンソーウェーブが商標権を保有しています。流石に共通テストでは商標を使えなかったのか、「二次元コード」と表現されているのに注目です。

この特許に似た事例がUSBです。USBもUSB-IFという業界団体が特許を保有していますが、これは規格の乱立や乗っ取りを防ぐためです。ただ、USB-IFは若干の特許使用料を取ります。同様にBluetoothやWi-Fiも似たような事例ですが、それぞれ似て非なるものなので、抑えておくといいかもしれませんね。

問2

問1

下線部Aの目印は,図2のように,例えば(a)~(c)のどの角度で読み取っても,黒白黒白黒の比が 1:1:3:1:1 となることで,二次元コードの目印として認識できるようになっている。これは,図3のように円形の目印でも同じと考えられるが,正方形の方が都合がよい。その理由として最も適当なものを,後の 0~3のうちから一つ選べ。

図2と図3(出典:大学入試センター)
  • 0: 円形では,(d)~(f)の角度によって黒白の比が異なってしまい,正しく読み取れなくなる可能性があるから。
  • 1: 円形だと上下左右がないので,二次元コードの向きが分からなくなるから。
  • 2: プリンタやディスプレイの解像度によっては,正方形の目印に比べて正しく読み取れる小さな円形の目印を作ることが難しくなるから。
  • 3: 円形では目印が斜めに傾いていても,それを認識することができないため正しく読み取ることができないから。

答え

A. 2

これは、論理的に考えても行けなくはないですが、まあ知識問題です。QRコードの向きは3つの四角いマークで判断します。よって1番はありえません。0番は図3を見ていただければわかるかと思いますが、別に丸形だからといって黒白の比が変わってしまうこともありませんね。3番は、傾きを認識できないとしていますが、そんなことはありません。

プリンタやディスプレイは、曲線を描くより、縦横で描画する方が得意です。よって2番が正しいと言えます。

問3

問3

太郎さんは,先生から二次元コードを作成することができる図4のようなWeb アプリケーションを教えてもらった。この二次元コード画像作成ツールは,二次元コード化する文字列とセルのサイズ(大きさ),誤り訂正のレベル(復元能力),画像ファイル形式を指定すると二次元コードの画像が作成できるものであった。

図4 二次元コード画像作成ツールの画面(出典:大学入試センター)

下線部Bについて,興味を持った太郎さんは,この作成ツールを使い,二次元コード化する文字列の長さと誤り訂正のレベルによってどのようにセルの縦と横の数が変化するか調べることにした。そこで,試しに英小文字(a~z)で構成する文字列の文字数をいろいろ変えて二次元コードを作成したところ,表1のようになった。表中の n×n はそれぞれセルの縦と横の数を表している。なお,この作成ツールではセルの縦と横の数は自動的に最適な数に調整される。また,復元能力の値(%)が大きいほど誤りを訂正する能力が高いことを表し,例えば,復元能力 30%は,二次元コードの面積の最大 30%が読み取れなくてもデータを復元できることを意味する。

表1 英小文字のみで構成された文字列の文字数と 復元能力を変えて作成した二次元コード(出典:大学入試センター)

この表1の結果から考えられることとして適当なものを,次の 0~5 のうちから二つ選べ。ただし,解答の順序は問わない

  • 0: 同じ復元能力であれば,文字数に比例してセルの数が多くなり,同じセルの大きさであれば二次元コードも大きくなる。
  • 1: 復元能力ごとに,文字数の一定の範囲でセルの縦と横の数が決まり,文字数が多くなるほど段階的にセルの縦と横の数は多くなる。
  • 2: 文字数とセルの数には関係が見られない。
  • 3: ある文字列を復元能力 30%で作成した二次元コードは,同じ文字列を復元能力 7%で作成したものに比べ約 4 倍のセルの数がある。
  • 4: 復元能力 30%にするためには,復元能力 7%と比べより多くの情報が必要となる。
  • 5: 同じ文字数であれば復元能力を変えてもセルの数は変わらない。

答え

A. 1, 4

この問題は読解問題に近いですね。

今問題は、一つ一つ選択肢を見ていくことにしましょう。

0番「同じ復元能力であれば、文字数に比例してセルの数が多くなり、同じセルの大きさであれば二次元コードも大きくなる。」について。セルの大きさが同じなのであれば、二次元コードが大きくなるは正しいですが、QRコードは比例ではなく、段階的に大きくなるが正解ですので間違いです。

1番「復元能力ごとに,文字数の一定の範囲でセルの縦と横の数が決まり,文字数が多くなるほど段階的にセルの縦と横の数は多くなる」について。正しいです。文字数の一定の範囲でセルの縦と横の数が決まります。表中の7%の20文字と30文字、30%の15文字と20文字が、文字数が異なるのにもかかわらず同じセルの数でQRコードの生成をしていますね。

2番「文字数とセルの数には関係が見られない」について。これは、比例こそしないものの、段階的には文字数が増えるに連れてセルの数が増えているので間違いです。

3番「ある文字列を復元能力 30%で作成した二次元コードは,同じ文字列を復元能力 7%で作成したものに比べ約 4 倍のセルの数がある」について。これは計算してみましょう。15文字で検証しますと7%はセルの数が441、30%は841で、ざっとみても2倍程度しかありません。もしほかにあったとしても、この問題からはわからないものです。よって間違い。

4番「復元能力 30%にするためには,復元能力 7%と比べより多くの情報が必要となる」。正しいです。復元能力を上げればその分必要な情報が増えます。表を見ても、どの文字すでも復元能力7%より30%のほうがセルの数が増えていますね。セルの数=情報の量と考えてよいので正解です。

5番「同じ文字数であれば復元能力を変えてもセルの数は変わらない」。4番の逆のことを行っています。間違いです。

問4

問4

次に,太郎さんは,図4の Web アプリケーションを使って試しに表2のⅠ~Ⅲの三つの文字列について二次元コードを作成してみた。復元能力は7%と30%の両方を作成し,セルサイズもいろいろ変えてみたところ,表3に示す二次元コードが作成された。その結果,復元能力7%と 30%のそれぞれにおいて作成された二次元コードのセルの数は,Ⅰ~Ⅲの文字列で異なっていた。また,Ⅰ~Ⅲの文字列はアルファベットや記号,漢字などが含まれているので,表1の英小文字のみで構成された文字列の文字数とセルの縦と横の数の関係には必ずしもなっていないことが分かった。表3の空欄 に当てはまる適当な二次元コードを,後の解答群のうちから一つずつ選べ。

表2「二次元コードを作成した文字列」と表3「I~IIIの文字列から作成された二次元コード」(出典:大学入試センター)
オ〜クの解答群(出典:大学入試センター)

答え

A. オ: 2 カ: 0 キ:3 ク:1

では見ていきましょう。この問題は、先程の問3の延長線です。IからIIIにかけて文字数が増えている=セルが多いというのはおわかりいただけると思います。そして、解答群はQRコード自体のサイズも意地悪に大小していますが、惑わされず数字を見ます。

オは、文字数が少ないIの復元能力が小さいものということで、最もセルの数が少ない2番が正解です。

カとキは後回しにします。

クは文字数が多いIIIかつ、復元能力も大きいものなので、解答群の中で最大の49x49である1番が正解です。

キは文字数がI以上III未満のIIかつ、復元能力が大きいものであるということを考えますと、情報量が大きい3番が正解でしょう。

最後にカは残る0番を選択すればOK。

カとキが0と3で迷ったかもしれませんが、文字数が変わったことよりも復元能力のほうがセルの増加率に影響を与えそうだということが読み取れればそこまで難しくありません。

第2問B

次はBですね。第2問Bは、「文化祭の模擬店の待ち状況について考えるという日常的な問題解決の場面で,問題の中で示された乱数を発生させる確率モデルのシミュレーションの考え方を理解し,シミュレーションの結果から読み取れる内容や,変数を変化させた場合の結果を考察できるかを問う。 」*3だそう。身近な内容で図や表から必要な情報を読み取り、そしてそれを活用できるかというのが問われています。

まずは第2問Bの導入の問題文から。

第2問B 問題文

Mさんのクラスでは,文化祭の期間中2日間の日程でクレープを販売することにした。1日目は,慣れないこともあり,客を待たせることが多かった。そこで,1日目が終わったところで,調理の手順を見直すなど改善した場合に,どのように待ち状況が変化するかシミュレーションすることにした。なお,このお店では同時に一人の客しか対応できないとし,客が注文できるクレープは一枚のみと考える。また,注文は前の客に商品を渡してから次の注文を聞くとして考える。

では設問を見ていきましょー。

問1

問1

次の文章および表中の空欄 に当てはまる数字をマークせよ。まず,Mさんは,1日目の記録を分析したところ,注文から商品を渡すまでの一人の客への対応時間に約4分を要していることが分かった。

次に,クラスの記録係が1日目の来客時刻を記録していたので,最初の 50 人の客の到着間隔を調べたところ,表1の人数のようになった。この人数から相対度数を求め,その累積相対度数を確率とみなして考えてみた。また,到着間隔は一定の範囲をもとに集計しているため,各範囲に対して階級値で考えることにした。

表1 到着間隔と人数(出典:大学入試センター)

そして,表計算ソフトウェアで生成させた乱数(0 以上 1 未満の数値が同じ確率で出現する一様乱数)を用いて試しに最初の 10 人の到着間隔を,この表1をもとに導き出したところ,次の表2のようになった。ここでの到着間隔は表1の階級値をもとにしている。なお,1人目は到着間隔0分とした。

表2 乱数から導き出した到着間隔(出典:大学入試センター)

表2の結果から 10 人の客の待ち状況が分かるように,次の図1のように表してみることにした(図1は6人目まで記入)。ここで,待ち時間とは,並び始めてから直前の人の対応時間が終わるまでの時間であり,対応時間中の客は待っている人数に入れないとする。このとき,最も待ち人数が多いときは 人であり(これを最大待ち人数という),客の中で最も待ち時間が長いのは サシ分であった。

図1 シミュレーション結果(作成途中)(出典:大学入試センター)

答え

A. ケ:8 ,コ:4 ,サ:1 ,シ:3

この問題は、相対度数など、データ分析を問う問題となっていますね。

相対度数とは、各カテゴリの度数を総度数で割ったものです。今回の場合、到着間隔がカテゴリにあたり、総度数が全体の客数です。といっても、この問題、相対度数が分からなくても解けます。

まず、ケから。ケは表1の累積相対度数をもとに表2中の到着間隔を完成させるというものでした。見方としては、表1の累積相対度数を基に、表2の生成された乱数が0.12未満なら0分、0.12以上なら1分、0.26以上なら2分...となって行きます。0.95は、0.94以上かつ0.95未満ですので答えは8分であるということになります。表2と表1でこの法則性に気づけたら、結構簡単です。

続いてコ〜シ。これは、図1を完成させると解きやすいかもしれませんね。

【説明用画像1】図1完成系

ということで、図1を作り終えました。図1の凡例と同じく、薄いグレーを対応時間、濃いグレーを待ち時間としています。対応時間は4分で変わりないので、待っている人が居る限り4分が繰り返されるため階段状に薄いグレーが続いているのがわかりますね。

表2の到着時間は、難しく考えなくてもすでに完成している部分だけをみても前の人が到着してからその人が到着するまでの時間を表していることがわかりますので、一つ上の行の濃いグレーが始まるところから、表2の到着時間分ずらして濃いグレーを右方向に書き始め、薄いグレーの直前まで塗る。すると完成します。

ここから答えを導いていきます。

【説明用画像2】最大待ち人数

まずコの「最大の待ち人数」ですが、これは縦に濃いグレーが重なった部分の最大値です。これは、説明用画像2の緑に塗った部分が最大となり答えは4となります。

【説明用画像3】最大待ち時間

そして、サとシで表す最大待ち時間は、この表の中で最も横に長く濃いグレーが続いている部分を見ます。すると、9人目の客が13分待っており、これが最大であることがわかります。説明用画像3で青く塗った部分ですね。よって答えは、サが1、シが3となります。

問2

問2

図1の結果は,客が 10 人のときであったので,Mさんは,もっと多くの客が来た場合の待ち状況がどのようになるか知りたいと考えた。そこでMさんは,客が10人,20 人,30 人,40 人来客した場合のシミュレーションをそれぞれ 100 回ずつ行ってみた。次の図2は,それぞれ 100 回のシミュレーションでの最大待ち人数の頻度を表したものである。

図2 シミュレーション結果
この例の場合において,シミュレーション結果から読み取れないことを次の0 ~ 3のうちから一つ選べ
  • 0: 来客人数が多くなるほど,最大待ち人数が多くなる傾向がある。
  • 1: 最大待ち人数の分布は,来客人数の半数以下に収まっている。
  • 2: 最大待ち人数は,来客人数の 1/4 前後の人数の頻度が高くなっている。
  • 3: 来客人数が多くなるほど,最大待ち人数の散らばりが大きくなっている。

答え

A. ス: 1

ということで、これはグラフから読み取れるものを問う問題です。一つ一つ見ていきましょう。

0番「来客人数が多くなるほど,最大待ち人数が多くなる傾向がある。」について。これはグラフが来客人数が少ないと、棒が最大待ち時間を示す横軸の左側に、来客人数が多いとグラフの比較的右側に分布していることが読み取れるので、これは読み取れます。答えとしては間違いです。

1番「最大待ち人数の分布は,来客人数の半数以下に収まっている。」について。これは、この回数の情報だけ見てもわかりません。よって読み取れない、答えとして正解です。

2番「最大待ち人数は,来客人数の 1/4 前後の人数の頻度が高くなっている。」について、これは、来客人数10人の時にその1/4である2.5前後、つまり最大待ち人数2~3人の分布が最も大きくなっています。ほかも同様で、来客人数20人なら最大待ち人数5人などとグラフから読み取れます。よってこれは答えとしては間違いです。

3番「来客人数が多くなるほど,最大待ち人数の散らばりが大きくなっている。」について。これもグラフを見ればわかりますが、来客人数が増えるに連れて、少なく突出したグラフから、広く緩やかな山を描いて行っているのがわかります。よって読み取れるので、答えとしては間違いです。

第3問

第3問まで来ました。第4問までありますので一応、折返し・・・かな?

第3問では「日常的な買い物において,代金を支払う際の「上手な払い方」を考えるという問題解決の題材において,基本的なアルゴリズムとプログラミングの基本に関する理解を基に,示された要件を踏まえたプログラムについて論理的に考察できるかを問う。 」*4という内容で問題が出題されています。ま、実際に問題見ていきますか。

第2問のような導入の問題文はありませんので、いきなり設問から。

問1

問1

次の生徒(S)と先生(T)の会話文を読み,空欄 に当てはまる数字をマークせよ。また,空欄ア ~ エに入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。ただし,空欄ウ ・ エは解答の順序は問わない。

  • S: この前,お客さんが 460 円の商品を買うのに,510 円を払って,釣り銭を50 円受け取っていたのを見て,授業で勉強したプログラミングで,そんな「上手な払い方」を計算するプログラムを作ってみたいと思いました。
  • T: いいですね。まず,「上手な払い方」とは何かを考える必要がありますね。
  • S: 普通は手持ちの硬貨の枚数を少なくするような払い方でしょうか。
  • T: そうですね。ただ,ここでは,客が支払う枚数と釣り銭を受け取る枚数の合計を最小にする払い方を考えてみませんか? 客も店も十分な枚数の硬貨を持っていると仮定しましょう。また,計算を簡単にするために,100 円以下の買い物とし,使う硬貨は 1 円玉,5 円玉,10 円玉,50 円玉,100 円玉のみで 500 円玉は使わない場合を考えてみましょう。例えば,46 円をちょうど支払う場合,支払う枚数はどうなりますか?
  • S: 46 円を支払うには,10 円玉 4 枚,5 円玉 1 枚,1 円玉 1 枚という 6 枚で払い方が最小の枚数になります。
  • T: そうですね。一方,同じ 46 円を支払うのに,51 円を支払って釣り銭 5 円を受け取る払い方では,支払いに 2 枚,釣り銭に 1 枚で,合計 3 枚の硬貨のやり取りになります。こうすると交換する硬貨の枚数の合計が最小になりますね。
  • S: これが上手な払い方ですね。
  • T: そうです。このように,客と店が交換する硬貨の合計が最小となる枚数,すなわち「最小交換硬貨枚数」の計算を考えましょう。
  • S: どうやって考えればいいかなぁ。
  • T: ここでは,次の関数のプログラムを作り,それを使う方法を考えてみましょう。目標の金額を釣り銭無くちょうど支払うために必要な最小の硬貨枚数を求める関数です。

【関数の説明と例】
枚数(金額) ・・・ 引数として「金額」が与えられ,ちょうどその金額となる硬貨の組合せの中で,枚数が最小となる硬貨枚数が戻り値となる関数。例: 8 円は「5 円玉が 1 枚と 1 円玉が 3 枚」の組合せで最小の硬貨枚数になるので,枚数(8)の値は 4 となる。


  • T: これは,例えば,枚数(46)= と計算してくれるような関数です。これを使って最小交換硬貨枚数の計算を考えてみましょう。例えば,46 円支払うのに,51 円払って 5 円の釣り銭を受け取る払い方をした場合,客と店の間で交換される硬貨枚数の合計は,この関数を使うと,どのように計算できますか?
  • S: で求められますね。
  • T: 一般に,商品の価格 x 円に対して釣り銭 y 円を 0,1,2,...と変化させて,それぞれの場合に必要な硬貨の枚数の合計を
    • 枚数( )+枚数( )
    と計算し,一番小さな値を最小交換硬貨枚数とすればよいのです。
  • S: なるほど。それで,釣り銭 y はいくらまで調べればよいでしょうか?
  • T: 面白い数学パズルですね。まあ,詳しくは今度考えるとして,今回は 100円以下の商品なので y は 99 まで調べれば十分でしょう。

【イの解答群】

  • 枚数(51) + 枚数(5)
  • 枚数(46) + 枚数(5)
  • 枚数(51) - 枚数(5)
  • 枚数(46) - 枚数(5)

【ウ・エの解答群】

  • x
  • y
  • x+y
  • x-y

答え

A. ア: 6 , イ: 0 , ウエ: 2,1

この問題は、アルゴリズムについて問うています。

まず、枚数(金額)という関数について。関数とは、数学が得意な方ならわかると思いますが、括弧内の引数を基に計算するというものです。戻り値というのは、この関数の計算結果となります。例を基に考えると、枚数(8)の答えが4であるそうなので、枚数(8)+枚数(8)=4+4=8 ということになります。

アはこの枚数という関数の中身を計算する問題です。難しく言えば、500a + 100b + 50c + 10d + 5e + 6f = 46 となる a+b+c+d+e+fが最小となる組み合わせを求めよということですが、46なんかは、下手に式に起こすより考えたほうが早そうです。まあ10円玉4枚と5円玉1枚、1円玉1枚で計6枚の硬貨で支払うのが一番硬貨の枚数が少なそうですね。よって答えは6。

イは、シンプルにこちら側が51円分の硬貨を支払うと、店側が5円分の硬貨をお釣りとして渡してくれる。ここで行き交った硬貨の枚数なので、足し算となります。よって0が正解。

ウとエもそれなりに簡単です。順番はどっちでもいいですが、イの答えに倣うと、ウにはこちらがわが支払った金額つまり、「本来の価格」+「お釣り」となります。与えられた文字に治すとx+y。そして、エにはもちろん「お釣り」が入りますのでy。よって答えは、1と2となります。

問2

問2
  • S: まずは,関数「枚数(金額)」のプログラムを作るために,与えられた金額ちょうどになる最小の硬貨枚数を計算するプログラムを考えてみます。もう少しヒントが欲しいなぁ。
  • T: 金額に対して,高額の硬貨から使うように考えて枚数と残金を計算していくとよいでしょう。また,金額に対して,ある額の硬貨が何枚まで使えて,残金がいくらになるかを計算するには,整数値の商を求める演算『÷』とその余りを求める演算『%』が使えるでしょう。例えば,46 円に対して 10円玉が何枚まで使えるかは で,その際にいくら残るかはで求めることができますね。
  • S: なるほど!あとは自分でできそうです。

Sさんは,先生(T)との会話からヒントを得て,変数 kingaku に与えられた目標の金額(100 円以下)に対し,その金額ちょうどになる最小の硬貨枚数を計算するプログラムを考えてみた(図1)。ここでは例として目標の金額を 46円としている。

配列 Kouka に硬貨の額を低い順に設定している。なお,配列の添字は 0 から始まるものとする。最低額の硬貨が 1 円玉なので Kouka[0]の値は 1 となる。

先生(T)のヒントに従い,高額の硬貨から何枚まで使えるかを計算する方針で,(4)~(6)行目のような繰返し文にした。この繰返しで,変数 maisu に支払いに使う硬貨の枚数の合計が計算され,変数 nokori に残りいくら支払えばよいか,という残金が計算される。

実行してみると が表示されたので,正しく計算できていることが分かる。いろいろな例で試してみたが,すべて正しく計算できていることを確認できた。

【図1 目標の金額丁度になる最小の効果枚数を計算するプログラム】

(1) Kouka = [1,5,10,50,100]
(2) kingaku = 46
(3) maisu = 0, nokori = kingaku
(4) i を キ ながら繰り返す:
(5) | maisu = 
(6) ⎿ nokori = 
(7) 表示する(maisu)
    

【オ・カ】の解答群

  • 0: 46÷10+1
  • 1: 46%10-1
  • 2: 46÷10
  • 3: 46%10

【キ】の解答群

  • 0: 5から1まで1ずつ減らし
  • 1: 4から0まで1ずつ減らし
  • 2: 0から4まで1ずつ増やし
  • 3: 1から5まで1ずつ増やし

【ク】の解答群

  • 0: 1
  • 1: maisu
  • 2: i
  • 3: nokori

【ケ・コの解答群】

  • 0: nokori÷Kouka[i]
  • 1: nokori%Kouka[i]
  • 2: maisu÷Kouka[i]
  • 3: maisu%Kouka[i]

答え

A. オ:2 , カ:3 , キ:1 , ク:1 , ケ:0 , コ:1

問1の続きですね。問2では実際に関数の中身を見ていきます。

この問題から「疑似プログラム」(擬似言語)という物が出てきます。疑似プログラムとは、汎用的なプログラム言語ではなく、日本語を織り交ぜて表現された可読的なプログラムとなります。試験でよく用いられます。

まず、オから行きます。オは文中の「46円に対して10円玉が何枚まで使えるか」を式に起こしたものです。答えとしては、単純に46を10で割るだけなので2番の「46÷10」が正解になります。4枚の10円玉を払えば良さそうですね。

余談ですが、疑似プログラムにおいて、特に指定されず整数 A,Bが用いられていたとき、A ÷ Bが整数で答えられなかった場合でも切り下げなければいけません。ウは最後まで求めると4.6となりますが、小数点以下は無視されて4となります。これは例えば、3÷7や8÷3のような式でも、0や2が求まるわけです。ただし、小数で答えることが指示されている場合はこの限りではありません。あくまで問題中に整数しか出ていない場合を想定しています。

続いてカは、オで求めた10円玉を支払った後、支払わなければならない金額はいくら残るのかということを聞いています。これは、あまりを求める%を使ったら良さそうです。-1にする必要はありませんので、答えは3番「46%10」となります。46%10の答えは6となります。

では、実際に疑似プログラムが用いられるキ~コを解説します。まず、擬似言語の流れを見ます。今回は割と丁寧に行数が振られていますね。それぞれの行を見てみましょう

【図1の疑似プログラムの解説】

(1)行目ではKoukaという配列に各硬貨の種類を格納しています。配列とは、プログラムで扱う数列を表しています。配列に格納されたそれぞれの数字は「要素」といい、各要素には「配列番号」が振られています。配列番号は頭が0、そこから右に向かって1,2...とつけられています。今回の場合、配列番号0には「1」が、配列番号1には「5」が、配列番号2には「10」が、配列番号3には「50」、配列番号4には「100」がそれぞれ格納されています。

配列番号は中括弧[ ]の中の数字によって指定されます。例えば、Kouka[1]とした場合、Koukaの配列番号1の5を指しています。この問題では、Kouka[i]と指定されていますが、これはiがこのプログラム内で可変であることを意味しています。

(2)行目ではkingakuという変数に46を代入しています。変数は頭文字が小文字、配列は頭文字が大文字で区別されているようです。

(3)行目ではmaisuという変数に0を、nokoriという変数にkingakuの値、つまり46が格納されています。疑似プログラム問題を解くときは、変数の中身の変化に注目しましょう。

(4)~(6)行目はループです。(4)行目には、ループを繰り返す条件と、ループを回すたびに行う処理を記述しています。それがキになります。

(5)行目ではmaisuにクとケを足し算した結果を代入しています。

(6)行目ではnokoriにコを代入しています。

ここでループがおわります。わかると思いますが、階層のように右によっている部分がループされる部分です。この後登場する「~~ならば」の場合もこの右による「インデント」が用いられています。

(7)行目は出力しています。つまり、結果がmaisuにあるというわけですね。

【疑似プログラム解説ここまで】


キを見ていきます。キは解答群から、ループの条件とループ毎に行うことが示されていることがわかります。具体的にはiがどの様に変化するのかということを答えればいいです。

まず、iが全ての要素をさせている選択肢にしぼります。この時点で、0番と3番が配列番号0の処理を含めれていませんので選択肢から除外されます。では、残る1番と2番ですが、頭から順に計算するか、最後から順に計算するかの選択肢になります。頭から計算してしまうと、全部1円玉で払えて終わりになってしまいます。よって2番は間違い、Koukaの後ろから計算している1番が正解となります。


つづいて、クとケ。maisuには「変数maisuに支払いに使う硬貨の枚数の合計が計算され」と書かれています。

この(5)行目では「Kouka[i]円玉で必要な枚数を計算し、その結果をmaisuに加算する」という処理が書かれています。クとケで分けるとどちらかに「Kouka[i]円玉で必要な枚数」を求める記述を、もう片方に「その結果をmaisuに加算する」ことができるような記述が完成するようにしなければいけません

まず、「Kouka[i]円玉で必要な枚数」の計算式ですが、クの解答群にそんな回答はありませんので、ケから選択しましょう。もうおわかりかと思いますが、答えはケの答えは0番の「nokori÷Kouka[i]」となります。

そして残るクですが、「その結果をmaisuに加算する」ように(5)行目を完成させましょう。答えは1のmaisuになります。もし、他の選択肢を選んでしまうとループの度にmaisuの値が書き換わってしまいます。


最後コ。

nokoriには、残りの金額を代入します。これは簡単。あまりを求めればいいのです。ということで、1番か3番になりますね。

じゃあ何を割ってあまりを求めればいいのか。硬貨の枚数を割っても意味ないですよね。よって、1番が正解となります。

問3

問3

次の文章を参考に,図2のプログラムの空欄 に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。ただし,空欄 は解答の順序は問わない。

  • T:プログラム(図1)ができたようですね。それを使えば,関数「枚数(金額)」のプログラムができます。関数の引数として与えられる金額の値をプログラム(図1)の変数 kingaku に設定し,(7)行目の代わりに変数maisu の値を関数の戻り値とすれば,関数「枚数(金額)」のプログラムとなります。では,その関数を使って最小交換硬貨枚数を計算するプログ ラムを作ってみましょう。ここでも,100 円以下の買い物として考えてみます。

【関数の説明と例】(再掲)
枚数(金額) ・・・ 引数として「金額」が与えられ,ちょうどその金額となる硬貨の組合せの中で,枚数が最小となる硬貨枚数が戻り値となる関数。例: 8 円は「5 円玉が 1 枚と 1 円玉が 3 枚」の組合せで最小の硬貨枚数になるので,枚数(8)の値は 4 となる。


Sさんは,図2のようなプログラムを作成した。変数 kakaku に与えられる商品の価格に対して,釣り銭を表す変数 tsuri を用意し,妥当な tsuri のすべての値に対して交換する硬貨の枚数を調べ,その最小値を求めるプログラムである。なお,ここでは例として商品の価格を 46 円としている。

このプログラムでは,先生(T)のアドバイスに従い,釣り銭無しの場合も含め,99 円までのすべての釣り銭に対し,その釣り銭になるように支払う場合に交換される硬貨の枚数を求め,その最小値を最小交換硬貨枚数として計算している。

最小値の計算では,これまでの払い方での最小枚数を変数 min_maisu に記憶しておき,それより少ない枚数の払い方が出るたびに更新している。min_maisu の初期値には,十分に大きな値として 100 を用いている。100 円以下の買い物では,使う硬貨の枚数は 100 枚を超えないからである。

【図2 最小交換硬貨枚数を求めるプログラム】

(1) kakaku = 46
(2) min_maisu = 100
(3) サ を シ から 99 まで 1 ずつ増やしながら繰り返す:
(4) |shiharai = kakaku + tsuri
(5) |maisu = ス + セ
(6) |もし ソ < min_maisu ならば:
(7) ⎿⎿ タ = ソ
(8) 表示する(min_maisu)

このプログラムを実行してみたところ 3 が表示された。46 円を支払うときの最小交換硬貨枚数は,支払いで 50 円玉が 1 枚,1 円玉が 1 枚,釣り銭で 5 円玉が 1 枚の計 3 枚なので,正しく計算できていることが分かる。同様に,kakakuの値をいろいろと変えて実行してみたところ,すべて正しく計算できていることを確認できた。

【サ・ソ・タの解答群】

  • 0: maisu
  • 1: min_maisu
  • 2: shiharai
  • 3: tsuri

【シの解答群】

  • 0: 0
  • 1: 1
  • 2: 99
  • 3: 100

【ス・セの解答群】

  • 0: 枚数(shiharai)
  • 1: 枚数(kakaku)
  • 2: 枚数(tsuri)
  • 3: shiharai
  • 4: kakaku
  • 5: tsuri

答え

サ:3 , シ:0 , ス,セ:0,2 , ソ:0 , タ: 1

更に続きの問題です。

この問題では、ついに枚数(金額)を使用して、支払える最小交換硬貨枚数を求めます。

最小交換硬貨枚数をおさらいしておきますが、これは客側が支払う硬貨の枚数と、お釣りとして返ってくる硬貨の枚数の合計の最小値です。

まず、図2のプログラムの(1)行目で価格は46円で固定されています。なお、46円の場合の答えは問題文にある通り、50円玉が1枚と1円玉が1枚を支払って、5円玉1枚をお釣りとしてもらうで、合計3枚となります。

次に、実際の処理部を見ます。

問題文で「釣り銭なしの場合も含め、99円までのすべての釣り銭に対し、その釣り銭になるように支払う場合に交換される硬貨の枚数を求め、その最小値を最小枚数として計算している」とありますので、釣りが0円〜99円の場合すべてを網羅するループがプログラム内に組み込まれている事がわかります。

そのループ内で、最小の値が登場すればmin_maisuを更新します。ただ、min_maisuにはあらかじめ、初期値として100を代入しておくと書いています。これが(2)行目でmin_maisu = 100となっている理由です。

(3)行目〜(7)行目はループ文となっています。(3)行目にはそのループを実行する条件と、ループの度に実行する処理が書かれています。これは言葉通りに理解して下さい。「サ を シ から99まで1ずつ増やしながら繰り返す」という処理をします。

先述の通り、釣り銭なし(=0円)の状態から99円の状態まで、すなわちtsuriが0から99まで1ずつ増やしながら処理していくため、サはtsuri、シは0となるわけです。

(4)行目には、客側が支払う金額をshiharaiに格納しています。これは、価格とお釣りの合計になるので、kakaku+tsuriとなります。

(5)行目では、maisuに、その取引でやり取りされた枚数の合計(交換硬貨枚数)を格納します。何度も言う通り、この交換硬貨枚数は、客側が支払った枚数+お釣りの枚数なので、関数枚数を利用して、客側が支払った金額=shiharaiとお釣りの金額=tsuriのそれぞれの枚数の合計をmaisuに格納します。よって、ス・セそれぞれの答えは枚数(shiharai)枚数(otsuri)となるわけです。

(6)行目は(7)行目の処理を実行する条件を記述していますが、(7)行目には残りの処理「最小値を更新する」という処理が入りますので、ソはmaisuが入ります。そして、タは最小値を更新したいので、min_maisuが入ります。

第4問

最後の問題です。

第4問は、「国が実施した生活時間の実態に関する統計調査を基に,スマートフォン・パソコンなどの使用時間と睡眠の時間や学業の時間との関係を題材に,データの活用と分析に関する基本的な知識及び技能と,データが表すグラフから読み取れることを考察できるかを問う。」*5となっています。まずは問題文を見ていきます。

第4問 問題文

次の文章を読み,後の問い(問1~5)に答えよ。

次の表1は,国が実施した生活時間の実態に関する統計調査をもとに,15 歳以上19 歳以下の若年層について,都道府県別に平日1日の中で各生活行動に費やした時間(分)の平均値を,スマートフォン・パソコンなどの使用時間をもとにグループに分けてまとめたものの一部である。ここでは,1日のスマートフォン・パソコンなどの使用時間が1時間未満の人を表1-A,3時間以上6時間未満の人を表1-Bとしている。

表1-A:スマートフォン・パソコンなどの使用時間が 1時間未満の人の生活行動時間に関する都道府県別平均値(出典:大学入試センター)
表1-B:スマートフォン・パソコンなどの使用時間が 3時間以上6時間未満の人の生活行動時間に関する都道府県別平均値(出典:大学入試センター)

花子さんたちは,表1-Aをスマートフォン・パソコンなどの使用時間が短いグループ,表1-Bをスマートフォン・パソコンなどの使用時間が長いグループと設定し,これらのデータから,スマートフォン・パソコンなどの使用時間と生活行動に費やす時間の関係について分析してみることにした。

ただし,表1-A,表1-Bにおいて一か所でも項目のデータに欠損値がある場合は,それらの都道府県を除外したものを全体として考える。なお,以下において,データの範囲については,外れ値も含めて考えるものとする。

問1

問1

花子さんたちは,これらのデータから次のような仮説を考えた。表1-A,表1-Bのデータだけからは分析できない仮説を,次の ~ のうちから一つ選べ。(

【解答群】

  • 若年層でスマートフォン・パソコンなどの使用時間が長いグループは,使用時間が短いグループよりも食事の時間が短くなる傾向があるのではないか。
  • 若年層でスマートフォン・パソコンなどの使用時間が長いグループに注目すると,スマートフォン・パソコンなどを朝よりも夜に長く使っている傾向があるのではないか。
  • 若年層でスマートフォン・パソコンなどの使用時間が長いグループに注目すると,学業の時間が長い都道府県は趣味・娯楽の時間が短くなる傾向があるのではないか。
  • 若年層でスマートフォン・パソコンなどの使用時間と通学の時間の長さは関係ないのではないか。

答え

A. 1

まず、第4問は15歳〜19歳の生活習慣から情報を読み解く問題です。

問1では、4択のうち、表1-Aと表1-Bで読み取れないものを聞いています。表1-Aはスマホ・PCの使用時間が短い人のグループ、表1-Bは比較的長い人のグループです。

あくまで仮説が検証できるかと聞いているので、仮説が正しいかどうかは今のところ関係ありません。

解答群を一つずつ見ていきます。

0番は、スマホ・PCの使用時間が長いグループが食事時間が短くなるのではないかという仮説ですが、これは表1の両方に食事時間の項目があるので検証可能です。よって間違いです。

1番は、スマホ・PCの使用時間が長いグループに注目した時、スマホ・PCを朝より夜に使っているのではないかという仮説です。これはどの時間に使用しているかを特定できる項目がないため検証が出来ません。よって正解となります。

2番は、スマホ・PCの使用時間が長いグループに注目した時、学業の時間が長い都道府県は趣味・娯楽の時間が短くなる傾向があるのではないかというものです。これは、都道府県ごとに分けられている上、学業と趣味娯楽の項目があるので検証可能です。よって間違いです。

3番は、スマホ・PCの使用時間と通学時間に関係はないのではないかという仮説ですが、これは通学の項目があるので検証可能です。よって間違いです。

問2

問2

花子さんたちは表1-A,表1-Bのデータから睡眠の時間と学業の時間に注目し,それぞれを図1と図2の箱ひげ図(外れ値は〇で表記)にまとめた。これらから読み取ることができる最も適当なものを,後の 0 ~ 3 のうちから一つ選 べ。**イ**

図1 睡眠の時間の分布(左図)及び図2 学業の時間の分布(右図)(出典:大学入試センター)

【解答群】

  • 0:睡眠の時間が 420 分以上である都道府県の数をみたとき,表1-Aの方が表1-Bよりも多い。
  • 1:学業の時間が 550 分以上の都道府県は,表1-Aにおいては全体の半数以上あり,表1-Bにおいては一つもない。
  • 2:学業の時間が 450 分未満の都道府県は,表1-Bにおいては全体の 75%以上であり,表1-Aにおいては 50%未満である。
  • 3:都道府県別の睡眠の時間と学業の時間を比較したとき,表1-Aと表1-Bの中央値の差の絶対値が大きいのは睡眠の時間の方である。

答え

A. 2

箱ひげ図ですね。伸びてるひげの左端が最小値、右端が最大値、箱の左端が「第一四分位数」(全体の25%)、箱内の線が「第二四分位数」=「中央値」、右端が「第三四分位数」(全体の75%)となります。つまり、箱内の値は25%〜75%を意味しています。

箱ひげ図のイメージ

選択肢を見ていきます。

0番は、睡眠時間が420分以上の都道府県の数を聞いています。この選択肢では、AのほうがBより多いと言っています。Aではちょうど420分くらいの位置に第一四分位数(25%)が来ているため、睡眠時間420分以上の都道府県は全体の75%程度であることが推定できます。Bはもう少し右側にありますので、全体の75%以上の都道府県が睡眠時間420分以上となっている事がわかります。これはBの方が多いということを意味していますので、間違いです。

1番は、学業時間が550分以上の都道府県について、Aは全体の半数以上、Bは一つもないということを言っています。Bから見ていきます。図2からBの最大値は550を下回っていることが見受けられます。一方、Aは中央値が500を下回っていますので、間違いです。

2番は、学業時間が450分未満の都道府県が、Bでは75%以上、Aでは50%未満であると言っています。Bから見ていきましょう。第三四分位数が450分の左側にあり、下回っていることがわかります。つまり、全体の75%以上の都道府県が学業時間450分未満です。続いてAを見ます。Aは50%未満ということなので中央値が450分より右側にあれば正解ですが、満たしています。よって正解です。

3番は、図1と図2の中央値のズレの大きさが睡眠時間を示す図1のほうが大きいとしていますが、これは間違いです。学業時間を示す図2のほうがずれが大きいです。

問3

問3

花子さんたちは,スマートフォン・パソコンなどの使用時間の長さの違いが,睡眠の時間と学業の時間のどちらに大きく影響しているかについて調べることにした。そのために,都道府県ごとに睡眠の時間と学業の時間のそれぞれにおいて,表1-Aの値から表1-Bの値を引いた差について考え,その結果を次の図3の箱ひげ図(外れ値は〇で表記)で表した。図3について述べたこととしてA~Eの中から正しいものはどれか。当てはまるものの組合せとして最も適当なものを,後の0 ~ 5のうちから一つ選べ。

図3 生活行動時間の差(出典:大学入試センター)

学業の時間の差が正の値になっている都道府県の若年層は,スマートフォン・パソコンなどの使用時間が短いグループの方が,学業の時間が長い傾向にある。
睡眠の時間の差が正の値になっている都道府県の若年層は,スマートフォン・パソコンなどの使用時間が短いグループの方が,睡眠の時間が短い傾向にある。
スマートフォン・パソコンなどの使用時間による生活行動時間の差は,睡眠の時間よりも学業の時間の方に顕著に表れている。
スマートフォン・パソコンなどの使用時間による生活行動時間の差は,学業の時間よりも睡眠の時間の方に顕著に表れている。
スマートフォン・パソコンなどの使用時間による生活行動時間の差は,学業の時間と睡眠の時間の両方に同程度に表れている。

【解答群】

  • 0: AとC
  • 1: AとD
  • 2: AとE
  • 3: BとC
  • 4: BとD
  • 5: BとE

答え

A. 0

この問題は、A〜Eでどれが正しいかを聞いていますね。A~Eで見ていきましょう。図では、表1-Aから表1-Bを引いた値の箱ひげ図となっています。

表1-Aがスマホ・PCの使用時間が短い人、表1-Bが長い人です。

Aを見ます。図3の右の箱ひげ図で正ということは、スマホ・PCの使用時間が短い人のほうが学業時間が長いことを意味しています。よってAは正しいです。

Bを見ます。図3の左の箱ひげ図で正ということは、スマホ・PCの使用時間が短い人のほうが睡眠時間が長いことを意味しています。よってBは間違いです。

Cを見ます。これは、箱ひげ図の大きさが大きい方が当てはまっているといえます。図3をみると学業のほうが大きいので、Cは正しいです。

Dを見ます。Cの逆なので間違いです。

Eを見ます。箱ひげ図の大きさが同じくらいだとしていますが間違いです。

問4

問4

花子さんたちは,表1-Aについて,睡眠の時間と学業の時間の関連を調べることとした。次の図4は,表1-Aについて学業の時間と睡眠の時間を散布図で表したものである。ただし,2個の点が重なって区別できない場合は □ で示している。

図4 表1-Aの学業の時間と睡眠の時間の散布図(出典:大学入試センター)

都道府県単位でみたとき,学業の時間と睡眠の時間の間には,全体的には弱い負の相関があることが分かった。この場合の負の相関の解釈として最も適当なものを,次の0 ~ 3のうちから一つ選べ。なお,ここでは,データの範囲を散らばりの度合いとして考えることとする。

【解答群】

  • 0:睡眠の時間の方が,学業の時間より散らばりの度合いが大きいと考えられる。
  • 1:睡眠の時間の方が,学業の時間より散らばりの度合いが小さいと考えられる。
  • 2:学業の時間が長い都道府県ほど睡眠の時間が短くなる傾向がみられる。
  • 3:学業の時間が長い都道府県ほど睡眠の時間が長くなる傾向がみられる。

答え

A. 2

散布図については、見たまんまなんで説明は割愛します。

負の相関とは、右肩下がりの図を分布を意味します。これはすなわち、睡眠時間が長いほど学業時間が短く、逆に学業時間が長いほど睡眠時間が短くなるということになります。

これを言っている選択肢が2番なので、答えは2番です。

問5

問5

次の文章を読み,空欄 に当てはまる数字をマークせよ。また,空欄に入れるのに最も適当なものを,図6中の0 ~ 3のうちから一つ選べ。空欄に入れるのに最も適当なものを,後の解答群のうちから一つ選べ。

花子さんたちは都道府県別にみたときの睡眠の時間を学業の時間で説明する回帰直線を求め,図4の散布図にかき加えた(図5)。すると回帰直線から大きく離れている県が多いことが分かったため,自分たちの住むP県がどの程度外れているのかを調べようと考え,実際の睡眠の時間から回帰直線により推定される睡眠の時間を引いた差(残差)の程度を考えることとした。そのために,残差を比較しやすいように,回帰直線の式をもとに学業の時間から推定される睡眠の時間(推定値)を横軸に,残差を平均値 0,標準偏差 1 に変換した値(変換値)を縦軸にしてグラフ図6を作成した。参考にQ県がそれぞれの図でどこに配置されているかを示している。また,図5の □ で示した点については,問題の都合上黒丸で示している。

図5 回帰直線を書き加えた散布図(出典:大学入試センター)
図6 睡眠の時間(推定値)と残差の変換値との関係(出典:大学入試センター)

図5と図6から読み取ることができることとして,平均値から標準偏差の2倍以上離れた値を外れ値とする基準で考えれば,外れ値となる都道府県の数は個である。図5中のP県については,図6中の0 ~ 3のうち に対応しており,花子さんたちはこの基準に従いP県は と判断した。花子さんたちは学業の時間以外の他の要因の影響についても考え,さらに都道府県の特徴について分析することとした。

【キの解答群】

  • 0: 外れ値となっている
  • 1: 外れ値となっていない
  • 2: 外れ値かそうでないかどちらともいえない

答え

A. オ:2 , カ:1, キ:1

オから見ていきます。外れ値が平均値から標準偏差の2倍以上離れた値とされているため、図6での残渣の変換値が2.0以上あるいは-2.0以下であるものを指します。これに当たるのは、運良く(?)、カの選択肢となっている0と2だけなので、答えは2です。

続いてカを見ます。P県は残差は少なくともマイナスになるため0ではない事がわかります。あとは、睡眠時間で見ると、Pがおそらく430分前後であることが推定されます。このことから答えは1番の点であることになります。

キは簡単で、外れ値となっているのは0と2だけであるため、1番は外れ値ではない、よってキも1番が答えとなります。