【情報1】プログラミングの変数とは?代入と型について解説します

こんにちは!受験情報SetUpです。

今回はプログラミングの基礎である変数、代入、型について解説していきます。

変数や代入と聞くと数学を思い浮かべるかと思いますが、プログラミングでのそれらは似て非なるものになっています。

ここでは共通テスト独自言語DNCLと、実際のプログラミング言語Python, javascriptの3つそれぞれで解説していきます。

実際に手を動かしてやってほしいので「VS code for edu」にログインしてください。やり方についてはこちらをチェックしましょう。

今回のゴール

自分の情報を変数に入れ込み表示してみよう!

変数とは、データを格納するもの

プログラミングの変数関連でまずは4つ用語を覚えておきましょう。

  • 変数:データを格納するもの
  • 宣言:変数名を付け、最初に入れるデータを決めること
  • 代入:変数にデータを入れること
  • 型:データの型。数値、文字列、配列などがある

プログラミングでは文字や数値を扱っていきますが、それに特定の意味ある名前を付けて保存したものが変数と呼ばれるものです。
今回は例として、「自分の情報」を扱ってみましょう。
以下の情報を変数に格納していきます。

  • 名前(文字)
  • 年齢(整数)
  • 身長(小数)
  • 体重(小数)

変数を定義する際は言語に依らずたいてい以下のように書きます

変数名 = データ

各言語で書くとこのようになります。

name = 'あっきー'
age = 25
height = 178.1
weight = 60.5
name = 'あっきー'
const age = 25
const height = 178.1
const weight = 60.5
namae = 「あっきー」
nenrei = 25
shintyo = 178.1
taiju = 60.5

このように変数を定めることを「変数を定義する」と言います。

変数にデータが入っているかを確認してみましょう。実際に表示してみます。

name = 'あっきー'
age = 25
height = 178.1
weight = 60.5

print('名前', name)
print('年齢', age)
print('身長', height)
print('体重', weight)
const name = 'あっきー'
const age = 25
const height = 178.1
const weight = 60.5

console.log('名前', name)
console.log('年齢', age)
console.log('身長', height)
console.log('体重', weight)
namae = 「あっきー」
nenrei = 25
shintyo = 178.1
taiju = 60.5

表示する(namae)
表示する(nenrei)
表示する(shintyo)
表示する(taiju)

するとこのような表示が出ると思います。

名前 あっきー
年齢 25
身長 178.1
体重 60.5

変数を使う意味とは?

変数を使う意味は2つあります。

  • データに意味をつけてわかりやすくする
  • 使いまわしや修正が行いやすい

最初は「25」という数字を書いても書き手は年齢だとわかりますが、他人に見せたり、どんどんプログラムが大きくなると、この「25」の意味がわかりにくくなります。これを’age’とおくことで「あ、この数字は年齢なんだな」ということが後から誰でもわかるようになります。

また、年齢を使った計算を様々行う可能性も考えられます。「18歳以下なら定価の10%OFFの計算」、「5人の平均年齢算出」など。
このような場合、変数を使わないと数字を何度も書かなければいけなくなります。

if(25 <= 17): #18歳以下なら定価の10%
  print(1000 * 0.9)
else :
  print(1000)
max_age = 18 #//基準年齢
age = 19 #//自分の年齢
price = 1000 #//ある商品の値段
rate = 0.9 # 10%OFFつまり90%の価格にする
if(age <= max_age) : # 18歳以下なら定価の10%
   price = price * rate

print(price)

上が変数を使わなかった場合、下が使った場合です。上だとただの数値だけの計算で何をしているかわからないですよね。
そして、途中で基準年齢を変えたい、価格を変えたいという場合、変数を使わないと対応する数字を全部変える必要が出てきます。
しかし変数を使っていれば、’max_age’の18や’price’の1000だけを変えるだけで済みます。

プログラミングでは基本的に最初に変数を定義して起き、その後はその変数だけを使って処理を書いていきます。

プログラミング言語によって定数宣言もある

プログラミング言語によっては「定数」を定義することもできます。
変数はプログラムの途中でデータの置き換えができます。

age = 25
print('年齢', age)
age = 20
print('年齢', age)

このようにすると、以下のように表示されます。

年齢 25
年齢 20

変数がこのように値を自由に変えられるのですが、中には変えたくない値も出てきますね。
途中から値を変えられないものが「定数」です。
Pythonにはありませんが、javascriptではサポートされています。

const name = 'あっきー'

変数の前にconstと入れると定数の扱いになり、この後にnameを変えようとしてもエラーが発生します。

ちなみに、javascriptでは変数宣言に3つのパターンがあります。

const name = 'あっきー' //定数。再宣言、再定義ができない
let nameLet = '名前1' //let変数。再宣言ができないが、再代入はできる
var nameVar = '名前2' //var変数。再宣言、再代入ができる(原則使わない)

プログラミングによっては定数の時は大文字にする場合もあります。

データの型について

最後にプログラミングのデータの型について解説していきます。
データには型というものがあり、「数値」「文字列」などがあります。高校生には4つだけ覚えてもらえればOKです。

  • 数値:1, -5, 3.14など。いわゆる数
  • 文字列:’ABC’, ‘日本語’ など。文字列はシングルクォーテーション(”)やダブルクォーテーション(“”)で挟むのが原則
  • 真偽値:trueまたはfalse。値が正か偽かを表す。(ブール型、論理型とも言う)
  • 配列:[2,4,6], [“赤”, “青”, “黄”]など。複数のデータを一つにまとめたもの。

ここでわかりにくいのは後の2つだと思いますので、この2つだけ解説します。

真偽値

真偽値は特に条件分岐の際に使います。条件分岐については別の記事で解説しますが、以下を見てみましょう。

max_age = 18 #//基準年齢
age = 17 #//自分の年齢
print("18歳以下かどうかの判定: ", age <= max_age)

この中のage <= max_ageがまさに真偽を表していますね。’age’が’max_age’以下なら正であり、このとき値がtrueとなります。そうでなければfalseとなります。
実際に表示してみると、”True”と出てきますね。ageを20に変えて再実行すると”False”になります。

この”True”や”False”それぞれの場合で、次どうするかという処理をプログラミングでは頻繁に書くので、この真偽値は重要です。

配列

配列は複数のデータを1つのデータにまとめたものです。同じ性質、型を持ったデータがあった場合に使います。

例えば、クラスに10人の生徒がいてあるテストの平均点を出したいとき、生徒の点数が必要ですよね。これを1つ1つの変数に入れても良いのですが、それだと変数の数が多くなってしまいます。

score0 = 70
score1 = 60
....
score9 = 92
# 書くのも大変だし扱うのも大変

これを1つのまとまりとして扱うデータを配列と言います。

scores = [70, 60, 80, 90, 95, 86, 72, 93, 87, 92] #10人の点数の配列

こうすると、変数は’scores’の1つだけとなりデータが扱いやすくなります。
特定のデータを取り出すには以下のようにします。

scores = [70, 60, 80, 90, 95, 86, 72, 93, 87, 92] #10人の点数の配列
sum = 0
for score in scores :
    sum += score

average = sum / 10
print(average)

‘scores[番目]’でそのデータを取り出せます。ただし、最初を0番目とするのでそこだけ注意です。このコードの場合は、最初の70という値が表示されます。

平均点を出す場合は、これを繰り返しのforを使って足していき10で割ると出てきます。
繰り返しの処理については別記事で解説しますのでここでは結果だけ。

まとめ

ということで、今回は変数とデータ型について解説しました。
なれないところもあるかと思いますが、手を動かして覚えていきましょう。

今回扱ったコードを共有しますので、ぜひ見てくださいね。

今回のコード

関連記事

コメント

この記事へのコメントはありません。

TOP