条件を変えて試してみよう
では次に、変数Varの値を変えて試してみましょう。プログラムを書き換えてビルドし直さなくても、シミュレータSM+では途中で変数の値を変更することができますので、その機能を使います。まずはCPUリセットアイコン
をクリックしてプログラムを初期状態に戻します。
変数の値を見たり変えたりするには、記事「シフト演算」で登場したローカル変数ウィンドウを使います。ここでもう一度おさらいしましょう。まずは図4のように、[ブラウズ]メニューから[ローカル変数(L)]を選びます。

図5のようなウィンドウが開きます。この状態で
をクリックして1行実行します。変数宣言を実行すると、図6のようにローカル変数ウィンドウに、変数Varが自動的に表示されます。値が0x01となっていますが、これは記事「シフト演算」でも説明したように、メモリの中にもともとあった意味のない値です。初期状態では16進数表示なので、図7のように「Var」を右クリックしてメニューを出し、表示を10進数にしておきましょう。



次に、
でもう1行実行します。これで5行目の変数Varへの代入が実行され、図8のようにローカル変数ウィンドウの値の表示が、代入値通り5になります。
次に条件判断のif文を実行しますが、ここで変数の値を書き換えてしまいます。ローカル変数ウィンドウで値をクリックするとそこにカーソルが現れます。キーボードを使って、ここでは10にしてみてください。そして
でif文を実行してみます。
変数Varは10になっていますから、最初の条件「Varが10未満なら」は成立せず、次のelse if文「Varが20未満なら」へ制御が移ります(図9)。
さらに
でもう1行実行してみます。変数Varの値は20未満ですから、今度は条件が成立して、制御は11行目の実行文へ移ります。1行実行すると、Varは+2されて12になり、if文全体から抜けます(図10)。
でリセットすれば、何度でも同様の実験をすることができます。変数Varをいろいろな値に変えて実行してみましょう。
たとえば、最後のelseの実行文(14行目)を実行してVarを0にするには、どうすればいいでしょう。もうおわかりですね?当たっているかどうかは、SM+で確認してみてください。
次回は
切りがいいので今回はここまでです。次回は、もうひとつの制御文、繰り返しを学びます。条件分岐は処理の流れが枝分かれさせるものでしたが、繰り返しは条件を使って同じ処理を繰り返す動作をします。今回のif文がわかれば、むずかしくありません。それではまた。



