こんにちは!さんです。
高校で数学と情報を教えています!
プログラミング準備室では、共通テスト情報Ⅰに出てくる、プログラミングについて学べます。
第2回 変数と値・代入文について一緒に学んでいきましょう。

表示文については理解したよ!

順調だね。次は、「変数・値・代入文」について学んでいこう!
変数・代入文・値とは
変数

「変数」って数学で聞いたことあるから知ってるよ!

ん〜、プログラミングで出てくる「変数」は数学で使ってる意味とはちょっと違うんだ。説明していくね。
変数とは、プログラムの中で、データを一時的に保存しておくための「名前付きの箱」のことです。

コンピューターは、データ(文字とか数値)を変数の中に入れて扱います。
例えば、
- 箱を用意して「りんご」を入れておく。(変数にデータを保存)
- 箱の中身を「オレンジ」に入れ替える。(変数の値を変更)
- 箱の中身を確認する(変数の中身を表示する)
みたいなイメージです。
データを入れておくための箱

コンピューターって丁寧なんだね。私は片付け苦手だから、机の上のものとかそのままで、箱に入れてないや。

そうだね。コンピュータはデータ(物)を必ず変数(箱)の中に入れて扱うんだ。
共通テスト用プログラム表記の例示では次のように書かれています。

変数には「通常の変数」と「配列」の2種類がありますが、「配列」についてはまた今度説明しますね。
共通テスト用プログラム表記の例示では、通常の変数の例として「kosu」「kingaku_kei」が示されています。
「kosu」は、「個数」を入れるための変数(箱)で、「kingaku_kei」は、「金額の合計」を入れるための変数(箱)です。
変数名を見れば、「変数になにを入れるか」が分かりやすいように設定されています。
変数名には、いくつかのルールがあります。
- 変数名はどのようなデータ(値)を入れておくのか、分かりやすい名前にすること。
- 変数名に使える文字は「英字」「数字」「 _ 」の3種類のみで、「ひらがな」や「漢字」などは使えないこと。
- 変数名の一番最初は必ず「英字」から始めること。

うわ、英語だ。って思ったらローマ字で書かれた日本語だった。

そうそう。英語が苦手でも全く問題ないよ。
代入文
変数(箱)にデータ(物)を入れることを代入と言います。


代入も数学とはイメージが違うね。数学では「入れる」ってイメージより「置き換える」ってイメージだったから。

そうだね。情報では、データを「保管する」ってイメージがいいと思うよ。
共通テスト用プログラム表記の例示では次のように書かれています。

変数 kosu に3を代入することを、次のように記述します。
(1) kosu = 3
「 ( 左 ) = ( 右 ) 」 で「 ( 左 ) に ( 右 ) を入れる」と言う意味にになります。
ですので、「3 = kosu 」ではエラーが起きてしまうので注意してください。

記述の意味も数学とは全く違うんだね。

そうなんだ。kosu と 3 が 等しい って意味ではないからね。間違えないように!
では、次のソースコードで表示されるものはなんでしょうか?
(1) kosu = 3
(3) 表示する(kosu)

「表示する()」は、( )の中身を表示する文章だから・・・。わかった!「kosu 」

んー。惜しい。
正解は「3」が表示されます。
3
「表示する()」の( )の中身が変数の場合は、その変数の中身を表示します。

なるほどね。じゃあ、もう1問出して!次は当てるから。

いい意気込みだね!わかったよ。
では、次のソースコードで表示されるものはなんでしょうか?
(1) kosu = 3
(2) kosu = 2
(3) 表示する(kosu)

あれ。2回も代入してる。3を代入した後に、2を代入してるから・・・。え?

ちょっと意地悪だったかな?
(1)行目では、変数 kosu に 3 を代入しています。
→ 箱の中には「3」が入る。
(2)行目は、変数 kosu に 2 を代入しています。
→ 箱の中身は上書きされ、「 2 」が入る。
2
つまり、変数の中身は常に最後に代入した値に置き換わるということになります。
- 変数には 1つの値 しか入らない。
- 新しい値を代入すると、前の値は消える。
- 変数を使うと、値を何度でも変更できる。

さん先生!!こんなの習ってないよ!!騙された!

ごめんね(笑)。でも覚えたでしょ?許してね。

全く。仕方ないな。今回だけね。
値
値の種類
プログラムにおける「値」とは、変数に格納されるデータのことを指します。
値は次のような種類があります。
- 数値(10, -5, 3.14 など)
- 文字列(”こんにちは”, “今日はいい天気ですね!” など)
- 真偽値(True真, False偽)
プログラムでは、「数値」と「文字列」を分けて考えることが重要です。(真偽値は存在だけ知っていれば今はOK)
例えば、「 1 と “1” 」
1 は数値ですが、 “1” は文字列として認識されます。

え!同じ「 1 」でも、数値のときと文字列のときがあるの!?

そうだね。しっかり区別できるようにするんだよ。
文字列
共通テスト用プログラム表記の例示では次のように書かれています。

「 ” 」はダブルクォーテーションと言う記号で、文字列は「” ”」で囲みます。
例えば、変数 moji に、文字列として「こんにちは!」を代入したい場合は次のように記述します。
(1) moji = “こんにちは!”
文字列が入った変数を表示する場合は次のように記述します。
(1) moji = “こんにちは!”
(2) 表示する(moji)
こんにちは

じゃあ、次のソースコードの実行結果はわかるかな?
(1) moji = “こんにちは!”
(2) 表示する(“moji”)

あれ?さっきと同じ・・・じゃない!(2)行目が文字列になってる!
moji

そう!よくわかったね!「” ”」で区別することで、それが変数なのか文字列なのかが判断することができるんだ。

なるほどね!さん先生が「しっかり区別するんだよ」って言ってた意味がわかったよ!
文字列の連結
文字列は「 + 」で連結することができます。
次のように記述します。
(1) moji = “こんにちは!” + “いい天気ですね!”
(2) 表示する(moji)
こんにちは!いい天気ですね!

「 + 」って足し算の記号だと思ってたけど、文字列同士を連結する事もできるんだね!

そうだね!すごい理解力!!じゃあ次のプログラムの実行結果はわかるかな?
(1) moji = “1” + “2”
(2) 表示する(moji)

1+2 だから 3 !!
12

褒めたらすぐこれだ・・・。 “1” とか “2” は文字列だって言ったよね?

恥ずかしいです・・・。
複数のデータを繋げて表示
変数や文字列、数値などをつなげて表示するには、「カンマで区切る」ことで実現できます。
例えば、数値としての「1」と、文字列としての「個」を繋げて「1個」と表示させたい場合は以下の通りに記述します。
(1) 表示する(1, “個”)
1個

「カンマ」で区切ってあげる必要があるのか。忘れないようにしないと。
練習問題
練習問題で理解を深めましょう。
次のプログラムを実行したときに、表示されるものを答えなさい。
(1) date = 2
(2) moji = “今日は”
(3)表示する(moji, date, “日です。”)

「” “」のあるなしで、数値か文字列かを区別できるね。

変数 date は数値で、変数 moji は文字列ってことか!
今日は 2 日です。
まとめ
今回は、「変数と代入文・値」について解説しました。
- 変数とは、プログラムの中で、データを一時的に保存しておくための「名前付きの箱」のことです。
- 変数名に使える文字は「英字」「数字」「 _ 」の3種類のみで、「ひらがな」や「漢字」などは使えません。
- 変数(箱)にデータ(物)を入れることを代入とい、「変数 kosu に 3 を代入する」ことを「kosu = 3」 と記述します。
- 変数に新しい値を代入すると、前の値は消えます。
- 値とは、変数に格納されるデータのことです。
- 値のには大きく「数値」「文字列」「真偽値」の3種類がありす。
- 「文字列」は「” ”」で囲います。
- 「文字列」は「 + 」で連結できます。
- 変数や文字列、数値などは「カンマで区切る」ことで、つなげて表示できます。

次回は「算術演算」について説明していくよ!次に進もう!
次に進む → 第3回 算術演算
コメント