見出し画像

共通テスト用プログラム表記【情報Ⅰ 大学入学共通テスト対策】

共通テスト用プログラム表記 動画解説!

動画連動型書籍を執筆しました!

①共通テスト用プログラム表記とPyPEN

高校の情報Ⅰで扱うプログラミング言語には,主にPython,JavaScript,VBA,Scratchがあり,どの言語を授業で習うかは各学校で異なります。

こうした状況で,大学入学共通テストで特定の言語に特化した出題をすると,ほかの言語でプログラミングを習った人が不利になります。このことに配慮して,共通テストでは,特定の言語に関する知識を前提としない,「共通テスト用プログラム表記」が使われます。
 この共通テスト用プログラム表記は,いわゆる疑似コードです。疑似コードとは,実際のプログラミング言語のソースコードに近い書き方でアル
ゴリズムを表すものです。
※「表記」であり、プログラミング言語ではありません。

共通テスト用プログラム表記は,何か特定のプログラミング言語を習ったことがあれば,容易に習得できる表記法になっています。例として「3 + 1」の足し算をする共通テスト用プログラム表記のプログラム(ソースコード)を示すと,以下の通りです。

(1) 表示する("足し算")
(2) kazu = 3 + 1
(3) 表示する(kazu)

共通テスト用プログラム表記を動かせるツールは,いくつか存在します。
本書のネット提供資料のWeb サイトにある,本編の動画版では,共通テスト用プログラム表記実行ツールの一つであるPyPENを使って,実際に動かして解説しています。さらに,同Web サイトでは,Web ブラウザ上で動くPyPEN も提供していますので,動画を観ながらあわせて実践してもらえるとうれしいです。


ただし,実際に試験で題材となるソースコードは,一部の処理が省略されていて,そのままでは動かないことがあります。これをあらかじめ知っておくことで,プログラミングの力がついたみなさんが,本番の試験中に「このコードは実際には動かないのでは?」と思うようなことがあっても,気にしないで解き進めるようにしてください。

動画連動型書籍を執筆しました!
本記事は本の内容の一部を掲載しています。

実際のプログラミング言語で作る喜びを!

おそらく,多くの高校の授業では,Python などの実際のプログラミング言語によって,プログラミングの実習が行われていることでしょう。しかし,大学入学共通テストの対策書である本書では,共通テスト用プログラム表記でプログラミングを説明します。
共通テスト用プログラム表記を動かせる環境があるなら,学校の授業もはじめからそれでやればいいのに…と思われた人もいるかもしれませんね。
プログラミングの実践では,試行錯誤し,動いたときに喜びや楽しさを感じることができます。そうするうちに,どんどん高度なプログラミングができるようになっていきます。YouTube やInstagram などのインターネット上のサービスも,学校で習うPython やJavaScript などで作られています。一方,共通テスト用プログラム表記でできることは,実際のプログラミング言語に比べたらほんのわずかです。さらに学びたいと思っても,共通テスト用プログラム表記では限界があります。

情報科を教える立場にある者としては,まずは学校で習う実際のプログラミング言語で,作る喜びを味わい,やりたいことの実現を楽しんでもらいたいです。そのうえで,本書を通して大学入学共通テストの対策を行い,志望校に合格してほしいと願っています。


② プログラムの基本構造

どんなプログラムでも,処理の流れは,順次,分岐,反復の3 つの構造の組み合わせで構成されています。分岐は選択ともいいます。この3 つの処理の流れをまとめて,制御構造(表1)といいます。

分岐構造と反復構造に関しては,次回以降で詳しく扱うこととし,ここでは順次構造について説明します。たとえば,「おはよう」「こんにちは」「こんばんは」と順番に表示するフローチャートと対応するプログラムは表2 のとおりです。

「表示する("XXXX")」は,カッコ内の文字を表示しなさいという命令です。文字列をそのまま表示したい場合は,表示したい文字をダブルクォーテーション(")で囲まないとエラーになってしまいます。

PyPENで動かしてみる!

③ 算術演算子

プログラムで四則演算(加減乗除)などの算術的な計算を行うための記号を,算術演算子といいます。共通テスト用プログラム表記では表3 のような算術演算子が使われます。

掛け算が,「×」(掛ける)ではなく「*」(アスタリスク)なのには違和感がありますね。

これは,初期の大型計算機には「×」の記号がなく,「*」で代用したことによるのだそうです。
 数値を表示したい場合は,文字列とは異なり,ダブルクォーテーションで囲む必要はありません。たとえば,123 という数字を表示したい場合は,「表示する(123)」となります。
また,計算式も同様で,1 + 1 の計算結果を表示したい場合は,「表示する(1 + 1)」とすると,計算結果の2 が表示されます。一方,ダブルクォーテーションで囲んで「表示する("1 + 1")」とすると,「1 + 1」という計算式が,文字列としてそのまま表示されます。

動画連動型書籍を執筆しました!

④変数

変数とは,数値や文字列などのいろいろなデータ(値)を一時的に保管できる箱のようなものです。ある値を箱に入れると,その後,その値を必要な場所で使うことができます。

また,箱の中身を別の値に変更することもできます。たとえば,長方形の面積を表す式として,5cm × 3cm という式を用意した場合には,15cm2 という答えしか出ませんが,「縦」という変数と「横」という変数を使って「縦×横」という式を用意すると,それぞれの変数に入れる値に応じて,いろいろな長方形の面積を求めることができるのです。

箱に具体的な値を入れることを,代入といいます。また,変数に最初に代入したデータを初期値といい,変数に初期値を代入したり,初期値に戻したりすることを,初期化といいます。

PyPENで動かしてみる!

この(3) 行目が,代入したデータを使った計算を行っているプログラムです。また,(3)行目の計算結果は,「kekka」という変数に代入される値でもあります。それを使って(4)行目の表示の処理を行っています。

なお,このように変数への代入が複数行で連続する場合,共通テスト用プログラム表記では,カンマを使って「tate = 5,yoko = 10」のように,変数の宣言を1 行で表現することもあります。

さて,ここで,実行結果が15 と数字だけの表示になるのは寂しいので,(4) 行目に手を加えて,何の数字かわかる表示にしてみましょう。
「表示する()」のカッコの中では,カンマで変数や文字列を結合することができます。たとえば,(4) 行目を「表示する("面積は",kekka,"平方センチメートルです。")」とすると,「面積は15 平方センチメートルです。」と,各文字列と変数の中身が結合されて表示されます。

変数には文字列を代入することもできるんですよね?  具体的にはどうすればいいですか。

「変数名 = データ」の「データ」をダブルクォーテーションで囲んで表記します。たとえば,「name」という変数(箱)に「ガッキー」という文字列を代入(格納)したい場合は,「name = "ガッキー"」と記述します。
代入処理済みの変数name の中身を表示したいときは,「表示する(name)」と記述します。そうすると,実行結果として「ガッキー」という表示がなされます。このように,代入済みの値を使うときは,変数名は,文字列であってもダブルクォーテーションで囲みません。「表示する("name")」とすると,変数の中身ではなく「name」という文字列が表示されてしまいます。
また,変数名では大文字と小文字が区別されるので,「name」と「NAME」は別の変数となります。

一度変数に代入したデータを変更したいときは,どうすればいいですか。

はじめに代入したのと同じ方法で新たなデータを代入すれば,更新できます。たとえば,変数name に入っている「うえっち先生」というデータを「いなっち先生」に変更したい場合は,次のようになります。

PyPENで動かしてみる!

最後に,文字列を結合するプログラムの書き方も押さえておきましょう。次のプログラムを実行すると,どうなるでしょうか。

PyPENで動かしてみる!

「情報」という文字と1 という数字が結合された結果が表示されましたね。「+」の演算子には,「数字+文字列」や「文字列+文字列」のように,文字列が含まれる場合には,値を結合する役割があります。先ほど,「表示する()」のカッコの中で結合にカンマを使いましたが,その場合以外は「+」で結合するのが一般的です。

コメントとコーディング規約

動画連動型書籍を執筆しました!
本記事は本の内容の一部を掲載しています。

動画連動型書籍を執筆しました!

この記事が気に入ったらサポートをしてみませんか?