コードモンキー日本公式サイト

コードモンキーの最新情報やプログラミング学習に有益な各種情報をお届けします。


コードモンキーサポートデスクに寄せられたユーザーからのご質問およびコードモンキーサポートデスクからの回答を紹介しております。
今回寄せられたご質問は、プログラミングにおける ” = “の使い方について


ユーザー様からのご質問

コードの冒険スキルモード4-4に出てくる ” d = d + 5 “というコードについて解説してください

サポートデスクからの回答

いつもコードモンキーをご利用いただきありがとうございます。
いただいたご質問につき回答いたします。

スキルモード4-4では、”12.times-> “という繰り返しのコードの中で “d = d + 5″というコードを使って12個のバナナを獲得します

プログラミングの” = “は数学の” = “とは役割が違う

プログラミングにおける ” = ” は、数学とは役割が異なります。
数学では、” = “は ” 1 + 1 = 2 “のように左辺と右辺が等価であることを意味する記号ですが、プログラミングにおける” = “はそれとは異なり、「=の左(変数)に=の右の内容を代入する」というのが基本的な使い方となります。
つまり、”d = 10+5″というコードが実行されたときには、左辺dに右辺10+5が代入されるため、dの値は15としてプログラムに記憶されます。

# 左辺の変数dに右辺の10+5が代入される
d = 10+5
d = d + 5 ?

今回のご質問、スキルモード4-4の “d = d + 5” というコードについても左辺に右辺が代入されるというのは同様ですので、 このコードを実行すると左辺の変数dに右辺の内容d + 5が代入されます。ただし、このコードを理解する上でのポイントは、右辺のdには、そのコードが実行される前の時点での値が入っているということです。

#スキルモード4-4の解答例
d = 20
12.times ->
    step 6
    turn d
    d = d + 5 #右辺 "d + 5" の"d"は、この行が実行される前の d

解答例のコードを順にみていくと、まず1行目に” d = 20 “というコードがありますので、ここで、dには20が代入されます。

そして、12.times -> というコードによって、以下のコードは12回繰り返し実行されることになります。

d = 20
12.times ->
    # 以下の3行は12回繰り返される
    step 6
    turn d
    d = d + 5

1行目コードによって d には 20 が代入されている状態なので、最初の繰り返しが始まる時点での”d”は20で、1回目の繰り返しが終了すると、d は25になります。

#最初の繰り返し
step 6        # 6歩歩く
turn d        # この時dは20なので、20度まわる
d = d + 5     # d に 20 + 5が代入され、dは25になる

1回目の繰り返しの結果 d は 25になっているので、2回目の繰り返しが始まる時点での d は25、2回目の繰り返しが終了すると d は30になります、以下のように

#2回目の繰り返し
step 6        # 6歩歩く
turn d        # この時dは25なので、25度まわる
d = d + 5     # d に 25 + 5を代入し、dを30とする

以上と同じことを12回繰り返すことで、dの値は繰り返しのたびに5ずつ大きくなり、”turn d”で回転する角度も5ずつ大きくなることになります。

このように、d という変数に、そのコードが実行される前の時点での d に 5 を足した数値が代入される、というのがループによって繰り返し実行されるのがスキルモード4-4です

今回もそうでしたが、このステージで学習した”d = d + 5″のようなコードは、プログラミングにおいて主にループの中でよく使われるとても有効な考え方です。是非繰り返しステージをプレイして使いこなせるようになってください。


以上、ご案内いたします。また不明点などありましたらお気軽にお問い合わせください。

引き続きコードモンキーをお楽しみくださいませ。

コードモンキーサポート