ホーム>コース案内>2024春期講習
コース案内
Course Infomation
2024 春期講習
来春に備えて、今しておくべきこと
學至会 春期講習
「共テ・情報Ⅰ先取り プログラミング講座」
担当講師 鈴木正昭
対象:共通テスト「情報Ⅰ」の受験を予定している生徒。既卒生歓迎
内容:共通テストレベルのプログラミング
概要:
次回の共通テストから「情報Ⅰ」も試験に含まれることになり、不安を抱く声が多く聞かれます。
大学入学者選抜協議会および大学入試センターから試作問題が発表されており、それによると、プログラミングが関わる問題の配点は、100点中46点とおよそ半分を占めています。また、残りの大部分も思考力を必要とする問題が多数であり、単純な知識問題は少数に限られています。
よって、本講習では、プログラミング分野に焦点を絞ります。一度理解してしまえば安定して高得点が狙えるのでココが狙い目です。
テストで試されるプログラミング力は、プログラムのソースコードを読むことのみであり、短期間で身につけることが可能です。早い時期にプログラミングを習得することにより、「情報Ⅰ」の得点を安定させることに繋がります。
新高3生はもちろんですが、特に浪人生はプログラミングに対する不安感が大きいと思います。共テでは知識問題との選択になりますが、身につけてしまえばプログラミングの方が得点しやすいので、今のうちに不安を払拭しておくことは受験戦略上非常に有効な手段になります。ぜひ、本講座を活用して、情報を得意科目にしてしまいましょう。
授業形式: 集団授業
授業概要: コンピュータとプログラミングについて
プログラミングと文法
プログラミングの問題演習
実施期間:3/30(土)、31(日)各16:00~18:00(この時間以外での質問も大歓迎)
受講料:¥7,800(税込)
後述する問題は、大学入学選抜協議会にて発表されたサンプル問題の中にある、プログラミング問題の前半部分になります。
この問題を解くにあたりあらかじめ知っていなくてはならないことは、”ドント方式とは何か”ということと、”プログラミングの原理およびプログラミングの書き方がどのようなものであるか”があげられます。ドント方式については読めば解るように説明が付いていますので、(中学3年の社会で習っていますが)万が一知らなかった場合でも対処はできます。しかし当然のことですが、プログラミングの考え方を忘れていた場合、何もヒントがないので一巻の終わりになります。
さらに、プログラミングをある程度知っている方ならば、問題を読めば気づけることと思いますが、プログラミングのコードが独特な言語で書かれています。この言語は「DNCL」(共通テスト手順記述標準言語)と呼ばれており、大学入試センターが独自に使用しているプログラミング言語になります。この言語を使用している理由は、学校の授業で使われているプログラミング言語の種類によって点数差が付かないようにしているためです。学校で使用されている言語は、実際に存在する言語ですが、いざ共通テストとなると、このように言語にも対応しなくてはならなくなり、負担が相当なものとなります。
この講習の目的は、この問題程度の問題(および共通テストレベルの問題)のプログラムを読むことができる実力を錬成することです。もちろん、全編「DNCL」を使用して使い慣れていきます。
以下の問題は、大学入学者選抜協議会(第6回)配布資料サンプル問題「情報」より抜粋
したものです
第2問 次の文章を読み,後の問い(問1~3)に答えよ。
Mさんは,18歳になって選挙権が得られたのを機に,比例代表選挙の当選者を決定する仕組みに興味を持った。そこで各政党に配分する議席数(当選者数)を決める方法を,友人のKさんとプログラムを用いて検討してみることにした。
問1 次の文章の空欄 ア ~ ウ に入れる最も適当なものを,後の解答群のうちから一つずつ選べ。同じものを繰り返し選んでもよい。
Mさん:表1に,最近行われた選挙結果のうち,ある地域のブロックについて,各政党の得票数を書いてみたよ。
表1 各政党の得票数
A党 B党 C党 D党
得票数 1200 660 1440 180
Kさん:今回の議席数は6人だったね。得票の総数を議席数で割ると580人なので,これを基準得票数と呼ぶのがいいかな。平均して1議席が何票分の重みがあるかを表す数ということで。そうすると,各政党の得票数が何議席分に相当するかは,各政党の得票数をこの基準得票数で割れば求められるね。
Mさん:その考え方に沿って政党ごとの当選者数を計算するプログラムを書いてみよう。まず,プログラムの中で扱うデータを図1と図2にまとめてみたよ。配列Tomeiには各政党の党名を,配列Tokuhyoには各政党の得票数を格納することにしよう。政党の数は4つなので,各配列の添字は0から3だね。
i 0 1 2 3
Tomei A党 B党 C党 D党
図1 各政党名が格納されている配列
i 0 1 2 3
Tokuhyo 1200 660 1440 180
図2 得票数が格納されている配列
Mさん:では,これらのデータを使って,各政党の当選者数を求める図3のプログラムを書いてみよう。実行したら図4の結果が表示されたよ。
(01) Tomei = ["A党","B党","C党","D党"]
(02) Tokuhyo = [1200,660,1440,180]
(03) sousuu = 0
(04) giseki = 6
(05) mを0から ア まで1ずつ増やしながら繰り返す:
(06)⎿ sousuu = sousuu + Tokuhyo[m]
(07) kizyunsuu = sousuu / giseki
(08) 表示する("基準得票数:",kizyunsuu )
(09) 表示する("比例配分")
(10) mを0から ア まで1ずつ増やしながら繰り返す:
(11)⎿ 表示する(Tomei[m],":", イ / ウ )
図3 得票に比例した各政党の当選者数を求めるプログラム
Kさん:得票数に比例して配分すると小数点のある人数 基準得票数:580
になってしまうね。小数点以下の数はどう考えよ 比例配分
うか。例えば,A党は2.068966だから2人が当選 A党:2.068966
するのかな。 B党:1.137931
Mさん:なるほど。切り捨てで計算すると,A党は2人, C党:2.482759
B党は1人,C党は2人,D党は0人になるね。 D党:0.310345
あれ? 当選者数の合計は5人で,6人に足りな 図4 各政党の当選者数の表示
いよ。
Kさん:切り捨ての代わりに四捨五入したらどうだろう。
Mさん:そうだね。ただ,この場合はどの政党も小数点以下が0.5未満だから,切り捨てた
場合と変わらないな。だからといって小数点以下を切り上げると,当選者数が合計で
9人になるから3人も多くなってしまう。
Kさん:このままでは上手くいかないなぁ。先生に聞いてみよう。
ア ~ ウ の解答群
⓪0 ①1 ② 2 ③ 3 ④ 4 ⑤ 5 ⑥6 ⑦Tomei[m]
⑧Tokuhyo[m] ⑨sousuu ⓐgiseki ⓑkizyunsuu
いかがでしたでしょうか? さて、このサンプル問題を解くにあたって必要なプログラミング文法などはいくつだと思いますか? (→ 答えは4個です!)
文法を一つずつ理解するのは至って簡単です。必要なのは文法の組み合わせ方や使い方です。プログラムは人間が決めた言語(ルール)で記述したものであり、そこには厳密に定義された文法が存在しています。なおかつ、誰にでも使えるように作られています。言語を一度マスターしてしまえば、使い方を忘れることはありません。つまり、テストにおいて重要な得点源になります。
この講習に参加いただければ、前述の問題レベルに対応するために必要な基礎知識とは何なのかがはっきりと分かり、問題も解けるようになります。ぜひともその考え方を身に着けてください。