中高一貫生に対するプログラミングのススメ

pixta_23176969_m

はじめに

昨今の大学入試におきまして、各大学のアドミッション・ポリシーの改定も進み、理系ではプログラミング能力も重視されています。慶應義塾大学SFCの2学部(総合政策学部および環境情報学部)は、2016年度(16年2月)の一般入試における科目変更の方針を昨年12月27日に公表し、一般入試の科目の中に「情報」が加わりました。また、これから導入される東京大学の推薦入試でも、プログラミングを重視する件が話題になりました。

プログラミングとは

プログラミングとは、コンピューターのソフトウェアを作ることです。 プログラム(ソフト)は、コンピューターに対する命令の集まりのことです。

プログラム言語とは

プログラムは、コンピューターに対する命令の集まりで、コンピューターに「XXをして、次にYYをして、そして次にZZをしろ」ということになります。

このような一連の命令は、残念ながら日本語などの自然言語でコンピューターに伝えることはできません。コンピューターは人間では理解困難な独特の言語でしか理解してくれない特徴があります。

そこで人間にとって少し分かりやすく人工的に作られたコンピューターへの命令用の言語がプログラミング言語です。これにより人間が難解なコンピューターの言葉を覚えることなく、コンピューターに対する命令を伝えてくれます。

プログラム言語は、言語であるので、文法が存在します。そして、自然言語のような曖昧な文法ではなく、かなり厳密な文法です。しかし、厳密であるということは、裏を返せば習得しやすいということにつながります。日本語や英語の文法が複雑で、バリエーションに富み、かつ例外などが多く習得が大変ですが、プログラミング言語はずっとシンプルです。

アルゴリズムとは

コンピューターは融通が利かず、命令されたままに従って動作する特徴があります。従って、プログラミングにおける最大の課題は、どのような命令を、どのような順序で行うかになります。間違った命令を行えば、コンピューターは疑うことなくそのまま間違った動作をしてしまいます。

例として、ロボットにある地点まで道案内をさせるとします。「しばらく真っ直ぐ進め→右へ曲がれ→次に左に曲がって進め」としなければいけないところを、「左→右」と命令してしまうと、残念ながら目的地には着きません。

プログラミングのやっかいなところは、予め全ての命令を書き出しておかなければいけないところにあります。例えば、上記のロボットの道案内の例で、途中に工事が行われていても、進め、と予め与えられた命令はそのまま実行されてしまいます。もし迂回させたいのであれば、予めそのように命令を与えておかなければいけません。

このようにプログラムは全ての場合を想定して、一連の命令を与えておかなければいけません。つまり、ある仕事をコンピューターに行わせる場合、どのような手順で作業をしていかなければいけないのかを考え、記述しておかなければならないです。このような一連の手順のことをアルゴリズム(algorithm)と呼び、日本語では「計算手順」と呼ばれています。

プログラムを作る、つまりアルゴリズムを考えるのは人間で、コンピューターはそれに従ってただ単に実行するだけになります。よって、人間が優れたアルゴリズムを考え出し、それをコンピューターに与えることができれば、コンピューターは素晴らしいパフォーマンスをしてくれます。一方レベルの低いアルゴリズムしかプログラマーが考えられなかったとすると、残念ながら低レベルなコンピューターになってしまいます。

変数、代入、演算について

プログラミングにおいて非常に重要なのは、変数と代入命令です。

変数とは、コンピュータ上で一時的に数値などを入れておく箱と考えます。
例えば、携帯電話のメモリーを考えます。1番という場所に自宅の電話番号を入れて(保存・メモリーして)取っておき、後で参照することができます。
プログラミング言語における変数も基本的には同じような働きをします。
変数、つまり数値などを格納しておける箱は、自由にプログラマーが用意できます。また、使用する変数は、1番、2番などではなく、自分で名前をつけなければいけない。これを変数名というが、たとえば「x」とか「i」や「sum」などを変数名として使うことができます。

では、変数になんらかの数字を保存、つまり代入しておくにはどうしたらよいでしょうか。
ここで早速プログラミング言語における命令を覚えなければいけません。

BASIC言語の場合、変数などに数値などを保存、つまり代入するという、命令は「=」という記号で表現され、代入命令と呼ばれます。例えば、
x = 3
という一文は、BASICでの命令であり、「x」 という変数(コンピューター内に用意され自分でxと名付けた箱)に「3」という数値を保存しなさいという命令を意味します。
この一文をコンピューターに実行させると、コンピューター内でこの動作が行われます。

代入命令「=」をもう少しだけ詳しく文法的に解説すると、右側の計算結果を左側の変数にしまう(保存する)という命令です。

プログラミングに挑戦する

コンピューターにやらせたいこととして、今年(2016)は2000年から何年経つのかを求めさせてみましょう。
上記の解決したい問題を理解・分析したら、次はアルゴリズムを考えます。
重要なアルゴリズムの一部としては、「今年-2000年」を計算すればよいことになります。
では実際にプログラムしてみましょう。
k = 2016
t = 2000
a = k – t
上記3つのステップにより何年経ったかが求まります。
プログラムはやらせたい順番に上から書いていかなければいけないルールがあります。

結論

プログラミングを通して、問題を発見し、プロセスを組み立て解決する大切な力を育むことができます。

また、パソコンは「ロジカル」の塊です。「ロジック」が間違った時点でエラーになるので、「ロジカル」にものごとを捉えられなければ解決できません。プログラミングを通して、トライ&エラーを繰り返す中で、確実にロジカルシンキングを身につけることができます。

The following two tabs change content below.

個別指導塾WAYS

中だるみ中高一貫校生・高校生の定期テストの成績をたった90日で跳ね上げる個別指導塾。中高一貫校用教材に対応することで各中高一貫校の定期テストの点数に直結した指導を行います。低料金なので長時間指導が受けられるため、家で勉強できない中高一貫校生でも成績を上げることが出来ます。英語、数学をメインに指導を行っています。

コース紹介 中高一貫校生・高校生対象

あなたにぴったりな記事10選

今日の人気記事

新着記事

2021年12月07日 関東の高校生に人気の大学ランキング2021 2021年11月26日 令和3年度 私立武蔵高校 1年生 数学1 1学期 期末テスト分析 2021年11月23日 令和3年度 早稲田中学校 3年生 英語GRAMMER 1学期期末テスト分析 2021年11月19日 鎌倉女学院中学2年生―テストまでの学習計画に沿った演習と積極的な質問で成績アップ! 2021年11月16日 昭和女子大附属昭和中学校3年生―圧倒的演習量で成績アップ! 2021年11月12日 浅野中学3年ーわからない問題を塾で理解して成績アップ! 2021年11月12日 【中学受験】中高一貫校の勉強は大変!? 2021年11月09日 横浜女学院高校2年生ー「数学の学習方法」を変えて、成績アップ! 2021年11月08日 高校生の勉強に関する悩みとは?その原因と解決策を徹底解説! 2021年11月05日 聖徳学園高等学校1年生―計画的な勉強で成績アップ!

トップページに戻る


指導コース紹介

講座紹介

新規開校情報

新規開校 たまプラーザ教室

トップページに戻る