見出し画像

【特別講義】新科目「情報Ⅰ」の攻略法 第1回『プログラミング』(プログラムを書きたい人編)

Q2.プログラミングを学ぶ上で意識するべきポイントはありますか?

 まず気楽に考えてもらいたいのは,すべてのプログラムは以下の3種類の処理の組み合わせである,ということです。

順次処理
分岐処理(if文など)
反復処理(for文,while文など)

(詳しくは下図参照)

 実際のプログラムは,この3種類の処理が無数に組み合わされているのでややこしく感じてしまいますが,基本はこの3つだけと思えば,少し肩の力が抜けるのではないでしょうか。

 またこの他に「順序立て」の考え方も必要です。
 プログラムは実行する順序が大切で,プログラムコードの一部を逆にするとうまく動かなくなることはたくさんあります。

 日常生活で例えると,皆さんがトイレに行くとき,まずトイレのドアを開けて,それから便器の蓋を開けるのが通常の動作ですよね。この順序を逆にして便器の蓋を開けてから,トイレのドアを開けることはできません。

 プログラムを逆にするということは,これと似たようなものです。できもしないことを要求してしまうと,エラーになってしまいます。だから「順序立て」を意識しながらプログラムコードを読み解くことは大切なのです。

 「順序立て」についてちょっと体験してみたい方は,アルゴロジック2というWEBサイトが便利なので試してみてください。

 そしてプログラムを自分で書きたい人には,上で挙げたものに加えて「分解」という考え方もぜひ意識しておいてほしいです。

 プログラミングを初めてやる人にはありがちなのですが,すべてプログラムを書いてから実行する、という人がよくみられます。しかしコード量が多いとタイプミスなども発生するでしょうし,うまく動いてくれないと思います。
 そこで重要になるのが「分解」です。

 全体のコードが10だとしたら,2ぐらい書いたら実行,5ぐらい書いたら実行というような感じで段階的に膨らませていくのです。プログラミングの習いはじめは,変数がどういう風に変化するか,なども理解できていないはずです。
 だからこそ、コードを「分解」しながら、どこが間違っているかすぐにわかる状態で練習を重ねることで,プログラムの本質がよくわかり,書けるようになってきます。 

 ここで「分解」の考え方を身につけるのに使える便利な機能を紹介しましょう。
 それはコメントアウト(コードとして扱われないメモなどをプログラム内に残せる機能)です。使い方を具体例を挙げつつ説明します。

 例えば,じゃんけんプログラムがあったとします。まず完成イメージを見てみましょう(下記のコード1参照)。

 このコードを,全部書いてから実行するのではなく,まずは変数xをprint関数などで表示させるだけのプログラムを書いていきましょう(下記のコード2参照)。

 ここまで書けたらまずは実行。表示する(x)の行の実行で,実際に1または2または3が表示されていることを確認します。意味や動作状況が理解できたら,その部分をコメントアウトして,次のプログラムを書いていきましょう

 コメントアウトは特定の記号(Pythonでは#, JavaScriptなどでは// )を先頭につけることでその行は無効化,つまりコードとしては扱われなくなります。ショートカットコマンドではCtrl + / を押すことでコメントアウトできるテキストエディタもあります。
(コード3参照,黄色くマーカーされているのがコメントアウトの部分)。

 このように少しずつプログラムを書いて実行し,コメントアウトに残しておくと,コードの意味がだんだんとわかってきます。コメントアウトを外すと(この操作をアンコメントといいます)「1 グー」「2チョキ」などと表示されます。

 その他にもコメントアウトの効果的な使い方として,似たようなコードを2つ書いておいて,どちらかをコメントアウトで無効化して片方だけ実行させ,それぞれを比較する,ということもできますので,ぜひ使ってみてください。

 最後に、プログラムを書ける近道になるかもしれない2つのことを紹介します。

 1つ目は「プログラミングを教えている人の動画や動作を観ること」です。プログラマーがプログラムの書き方や考え方を動画で教えているサイトはいくつもあり,大手動画サイトにも実際のプログラミング風景を録画した動画がたくさんアップされています。
 このような動画では,プログラミングを教える人の何気ない動作が実はとても大切です。コピー&ペーストをショートカットコマンドで実行する,などは初歩的な技ですが,これらの技を習得することによって,徐々に効率的にプログラムが書けるようになります。

 2つ目は「楽しみながら学べる教材を選択すること」です。現在,多くのプログラミング学習サイトや教材が登場してきています。これらをチュートリアル的に使うこともプログラミング力を向上させる一つの手ですが,このとき自分に合った教材で,楽しみながら勉強していくことが一番身になる、と私は考えています。 
 個人的には,プログラミング教材はロボットなどハードウェアを使ったものに挑戦してみる方が楽しいと思います。自分の成果が目に見えて動くのはとても嬉しいものです。私の授業では配膳ロボットをミニチュア化した教材を使っていて,生徒たちは本当に楽しそうに実習をしています。

 次のページでは共通テスト「情報Ⅰ」の特徴、そして効果的な勉強法についてお話します。

→次のページへ

参考:アルゴロジック2(クリックすると別サイトへ飛びます)


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