授業で分からない点があれば、画面右下の先生の顔アイコンをクリックして質問してください!

28.プログラミング言語と実装

プログラミング言語と実装 3.コンピュータとプログラミング

今日の授業では、プログラミングとその主要な概念について学びます。プログラム、プログラミング言語、主なプログラミングの方法、演算、条件分岐、ループ、配列、関数について理解し、自分自身でコードを書くことができるようになることが目指すところです。さあ、一緒に学んでいきましょう。

黒板

授業

プログラミングって何?

さて、今日はプログラミングについて学んでいこう。なおや君はプログラミングの経験はあるかな?

うーん、中学の授業で少しやったけど、あまり理解できなかったから自信がないです…。

大丈夫だよ。一歩一歩進めていけば難しいことはないよ。プログラミングとは、自分たちが設計したアルゴリズムをコンピュータが理解できる形に書き換えることだよ。その書き換えたものがプログラムというわけさ。

なるほど、それでプログラムって言うんですね。だけど、どうやってコンピュータに理解させるんですか?

プログラミング言語とは?

いい質問だ!それを可能にするのがプログラミング言語だよ。人間が理解できる文字や数式記号で書かれたプログラムを、コンピュータが処理できる形に翻訳するんだ。

それってどういうことですか?人間が理解できる言葉と、コンピュータが理解できる言葉って何が違うんですか?

人間が理解できる言葉は英語や日本語などだけど、コンピュータが理解できるのは「0」と「1」だけなんだ。それを翻訳するのがプログラミング言語なんだよ。

ふーん、コンピュータの言葉に翻訳するのがプログラミング言語なんですね。プログラミング言語ってたくさんあるんですか?

プログラミング言語の種類

プログラミング言語にもいろいろな種類があるんだよ。例えば、「C」や「Java」はコンパイラ言語と呼ばれ、命令文のすべてを一度に翻訳してから実行する。一方、「JavaScript」や「Python」、「Scratch」はインタプリタ言語と呼ばれ、命令文を一行ずつ翻訳しながら実行するんだ。

そうなんですか。中学の時に少しScratchをやったことあるけど、他の言語もやってみたいな。

それはいい姿勢だね。各言語にはそれぞれ特性があるから、どれも理解することが大切だよ。

それなら、一つ一つ挑戦してみます!

演算とは

次に、演算について学ぼう。これは数値や文字列を入れる箱のようなものを変数といって、その中に数値や文字列を入れることを代入というんだよ。

あ、それならやったことある。”+”とか”-“とか”*”なんかを使って計算したことあるよ。

そうそう、それが演算だよ。“+”や”-“のように、計算に使う記号を演算子というんだ。さらには、比較演算もあるんだよ。それは2つの値の大小を比較する演算のことだよ。主な演算子を黒板に書いたから、理解しておいてね。

そうそう、変数を比較してもし~ならというプログラムを作った記憶がある。

分岐とループ

そうだね、プログラムでは条件によって処理を分岐したり、同じ処理を繰り返したりすることもあるよ。分岐は条件式にあてはまる場合と、あてはまらない場合で処理を変えることができるんだ。

それって、ゲームを作るときとかに使うの?

もちろん使うよ。ゲームではプレイヤーの行動によってゲームの進行が変わるから、その制御に分岐は欠かせないんだよ。

ゲームでは、分岐のほかにどんなプログラミングをするの?

そして、何度も同じ処理を繰り返すことをループというよ。例えば、ゲームの敵が何度も出てくるのも、ループを使って実現するんだよ。

なるほど、ループもゲームには重要なんだね。

配列

さて、次に配列について学ぼう。配列とは、同じ型の複数のデータを一つの名前で扱うことだよ。

変数とは違うの?

いいところに気が付いたね。変数をたくさん合体させた変数というイメージかな。変数はアルファベット等の記号を使ったけれど、変数はこれに添字と呼ばれる通し番号をつけて使うんだ。

配列を使うと何かいいことあるの?

多くのデータを扱うときに、一つ一つ変数を作っていたら大変だよね。配列を使えば、まとめて作れるから便利なんだ。

なるほどね

プログラミング実践

では、今日学んだことをもとに、Pythonを使ってプログラミングをしてみよう

いきなりそういわれても、出来る気がしません・・・

怖がることはないよ、1から5までの数を表示する簡単なものだよ。黒板に解説を記すから、まずはこんなものなのかな?と思うくらいでよいよ。

なるほど。pythonのプログラムは初めて見るけれども、ルールさえ覚えれば、自分でも作れるかも。

黒板の下に、実際にPythonを実行できるコードも張り付けておいたよ。「実行」と書かれている青いボタンを押すと、プログラムが実行されるから、試してみてね。またプログラム少し変更する(例えばwhile i <= 5:の「5」の値を「1」にしてみる等)と、結果にどう影響するか試してみると勉強になるよ。

黒板2

1から5までの数を表示するプログラム

まとめ

まとめ
  • プログラミングの概念
    アルゴリズムをプログラミング言語で記述することで、コンピュータが実行可能な形にする行為。
  • プログラミング言語と種類
    人間が理解しやすい形式で命令を表現。主なものにC、Java、JavaScript、Python、Scratchなど。
  • プログラムの実行
    プログラムとデータはメモリに格納され、CPUはメモリから命令を読み出し、実行する。
  • 演算と制御構造
    算術演算や比較演算が存在し、条件分岐やループなどの制御構造でプログラムの流れを制御する。
  • 配列と関数
    配列は同型データの集合を管理し、関数は一連の命令を再利用可能にする機能。

名言解説

新しいプログラミング言語を学ぶ唯一の方法は、その言語でプログラムを書くことです。ブライアン・ウィルソン・カーニハン
The only way to learn a new programming language is by writing programs in it. Brian Wilson Kernighan

ブライアン・ウィルソン・カーニハンは、C言語の共同開発者の1人として知られており、その他にもUNIXオペレーティングシステムの開発にも携わりました。カーニハンは、実際のプログラム開発の経験を豊富に持っており、その知識を広く共有してきました。

この名言の意味は、プログラミング言語を理解するためには、実際にプログラムを書くことが必要だということです。理論を学ぶだけでは言語をマスターできません。実際のコーディング作業を通じて、言語の特徴や振る舞いを直感的に理解する必要があります。

プログラミングは実践的なスキルであり、コードを書くことで理解を深め、才能を伸ばすことができます。エラーや挑戦的な問題に取り組む過程で成長が生まれます。自信を持って新しい言語に挑戦し、努力を惜しまず頑張ってください。

問題

「クイズをスタート」のボタンをクリックすると、5問出題します。さあチャレンジ!

同じ型の複数個のデータを順番にまとめ、一つの名前をつけて扱うことを何というでしょう?
2つの値の大小を比較する演算を何というでしょう?
以下のうちインタプリタ言語はどれですか?
変数に値を入れることを何というでしょう?
プログラムを作成する行為を何というでしょう?
28.プログラミング
{{maxScore}} 問中 {{userScore}} 問 正解!
{{title}}
{{image}}
{{content}}

編集者ひとこと

今回は、プログラミングの基本と、実際のコーディングの例も紹介しました。いきなりのPythonコードだったので、戸惑った人もいるかもしれませんが、一回で分からなくても、黒板の内容を読み直して理解してみてください。
また、ブログ上でPythonコードの実行ができるpaizaというサービスも使ってみました。このサイトに行くと、自分で作ったプログラムも、ブラウザだけで試すことができるので、ぜひやってみてください。
なお、このブログでは、プログラム言語はPythonを使います。学術分野等では今一番多くつかわれている言語なので、覚えておいて損はないですよ。

タイトルとURLをコピーしました