見出し画像

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

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

プログラミング対策決定版!

①共通テスト用プログラム表記と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 という数字が結合された結果が表示されましたね。「+」の演算子には,「数字+文字列」や「文字列+文字列」のように,文字列が含まれる場合には,値を結合する役割があります。先ほど,「表示する()」のカッコの中で結合にカンマを使いましたが,その場合以外は「+」で結合するのが一般的です。

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

画像

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

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

いいなと思ったら応援しよう!

ピックアップされています

高校情報Ⅰ教科書・共通テスト・参考書・問題集・試験対策

  • 154本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
IT系資格予備校講師経験・教育学部卒・IT業界15年の経験を生かして YouTube動画及びnoteでIT系技術情報を公開しています。 ■高校情報科 情報Ⅰ・Ⅱ解説 ■情報処理技術者試験対策講座  基本情報技術者~高度区分まで ■IT技術ハンズオン講座
共通テスト用プログラム表記【情報Ⅰ 大学入学共通テスト対策】|高校情報科・情報処理技術者試験対策の突破口ドットコム
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1