こちらは、スクラッチの「変数を〇ずつ変える」ブロックの使い方を、詳しく徹底解説しています!
「変数を〇ずつ変える」ブロック
「変数を〇ずつ変える」ブロックは、指定した変数の値に指定した値を加えます。
変数とは?
変数とは、数字や文字を入れられる箱のことです。
箱の中身から入れたものを取り出し画面に表示させたり、違う文字や数値を入れることができます。
スクラッチでは、この箱の中身に文字や数値を入れるために、「変数を〇にする」ブロックや「変数を〇ずつ変える」ブロックを使います。
「変数を〇ずつ変える」ブロックの規定値
「変数を〇ずつ変える」ブロックの規定値は、以下の3つです。
- 作成した変数名
- 変数名を変更
- 変数”〇〇”を削除
「変数名を変更」は、現在選択中の変数の名前を変更できます。
「変数”〇〇”を削除」は、現在選択中の変数〇〇を削除できます。
「作成した変数名」は、こちらのように作られた変数がすべて表示されます。
ちなみに、「歩数」という変数には、雲マークがついていますよね。
これは、「クラウド変数」という特別な変数です。
クラウド変数については、「スクラッチのクラウド変数の作り方」で詳しく解説していますので、ご確認ください。
「変数を〇ずつ変える」ブロックの使い方
それでは、「変数を〇ずつ変える」ブロックの使い方を見ていきましょう。
まずは、変数にどのような文字や数値が入っているのか先に確認しましょう。
「変数の値」ブロックの左側にあるチェックボックスにチェックを付けましょう。
すると、ステージの左上に選択した変数のステージモニターが表示されます。
この時点では、変数「変数」「歩数」「カウンター」すべて「0」の値が入っています。
まずは、「変数を〇ずつ変える」ブロックを使って、変数「カウンター」に「1」を入れてみます。
「変数を〇ずつ変える」ブロックをクリックすると、変数「カウンター」が「1」に変わりました。
こちらは「0+1=1」のように、元の値に1を加えた形になります。
もう一度、「変数を〇ずつ変える」ブロックをクリックすると、今度は、変数「カウンター」が「2」に変わりました。
こちらも「1+1=2」のように、元の値に1を加えた形になります。
変数の数値は、マイナス値ももちろん利用できます。
「-5」を設定すると、「2-5=-3」となりました。
変数の数値は、少数も利用できます。
「0.5」を設定すると、「-3+0.5=-2.5」となりました。
今度は、数値ではなく文字列の「文字」を入れて、クリックしてみました。
すると、変数「カウンター」は「-2.5」のままで変化がありません。
逆に文字列が入っている変数「歩数」に「1」を加えています。
すると、変数「歩数」が「1」となり、元々入っていた「10歩」が無くなりました。
もう一度クリックすると、「1+1=2」となり、文字列が数値として扱われています。
これは、型キャストによって文字列が「0」とみなされたためです。
キャストとは、プログラミング言語において、変数などのデータ型を別の型に変換することを指し、スクラッチでは以下のように変換されます。
規則 | 文字列として扱う場合 | 数値として扱う場合 | |
---|---|---|---|
文字列 | 文字列: “abc” |
“abc” | 0 |
文字列: “123” |
“123” | 123 | |
文字列: “0xff” |
“0xff” | 255 | |
文字列: “0b110” |
“0b110” | 6 | |
文字列: “0o777” |
“0o777” | 511 | |
文字列: “3e2” |
“3e2” | 300 | |
文字列: “true” |
“true” | 0 | |
数値 | 数値: 123 |
“123” | 123 |
数値: NaN |
“NaN” | 0 | |
真偽値 | 真偽値: true |
“true” | 1 |
真偽値: false |
“false” | 0 | |
リスト | リスト: [“a”, “b”, “c”] |
“abc” | 0 |
リスト: [“a”, “b”, “c”, “は文字です”] |
“a b c は文字です” | 0 | |
リスト: [1, 2, 3] |
“1 2 3” | 0 | |
リスト: [“1”, “2”, “3”] |
“123” | 123 | |
リスト: [1, 22, 3] |
“1 22 3” | 0 | |
リスト: [3, “.”, 1, 4] |
“3 . 1 4” | 0 | |
リスト: [“3”, “.”, “1”, “4”] |
“3.14” | 3.14 | |
リスト: [] |
“” | 0 |
最初に変数「歩数」に入っていた「10歩」は、「変数を〇ずつ変える」ブロックを実行したときに、文字列から数値の「0」として扱われたため、「0+1=1」となったわけです。
変数名の変更と変数の削除
「変数を〇ずつ変える」ブロックには、「変数名を変更」と「変数”〇〇”を削除」の機能もありました。
こちらの2つは、プログラム実行中に使うことはありません。
変数名の変更と変数の削除については、「スクラッチの「変数の値」ブロックの使い方を徹底解説!」で詳しく解説していますので、こちらをご確認ください。
変数ブロック一覧
「変数」ブロックには、以下の17個のブロックが用意されています。
- スタックブロック・・・11つ
- 値ブロック・・・5つ
- 真偽ブロック・・・1つ
ブロックの色は、変数関係が橙色、リスト関係がレンガ色(赤茶色)で統一されています。
変数ブロック | 動作 |
---|---|
変数を作る 変数を作る |
|
変数の値 変数の値を返す |
|
変数を〇にする 指定した変数に指定した値を入れる |
|
変数を〇ずつ変える 指定した変数の値に指定した値を加える(+なら増、-なら減) |
|
変数▢を表示する 指定した変数の値を表示する |
|
変数▢を隠す 指定した変数の値を非表示にする |
|
リストを作る リストを作る |
|
リストの値 リストの値を返す |
|
〇をリストに追加する 指定したリストに指定した値を追加する |
|
リストの〇番目を削除する 指定したリストから指定した番号の値を削除する |
|
リストのすべてを削除する 指定したリストのすべての値を削除する |
|
リストの〇番目に〇を挿入する 指定したリストの指定した番目に指定した値を挿入する(追加) |
|
リストの〇番目を〇で置き換える 指定したリストの指定した番目に指定した値を置き換える(変更) |
|
リストの〇番目 指定したリストの指定した番号の値を返す |
|
リストの中の〇の場所 指定したリストから指定した値の番号を返す |
|
リストの長さ 指定したリストに含まれている要素の数を返す |
|
リストに〇が含まれる 指定したリストから指定した値が存在するか調べて真偽の値(true、false)を返す |
|
リスト▢を表示する 指定したリストを表示する |
|
リスト▢を隠す 指定したリストを隠す |