2017年4月18日火曜日

プログラミング学習七【わからないキモを解決!】

プログラミングとは何なのか、まず知るべきことは何なのか、どうすればできるようになるのかを説明するブログ。今回の学習七ではループと同じくらい大事な大事な条件分岐について書きました。

話の内容

○“順番を変える命令”の一つ-条件分岐
ポク太郎です。

今回はプログラムの処理の順番を変えるものの二つ目-条件分岐に関する話です。

【注意】
説明のために、WebMSXエミュレータ(クリックするだけでブラウザ上で動きます)を使用します。別ウインドウで開いておいて下さい。
他の学習から続けて行う方は一旦リセットを行ってください。(左下の電源マークをクリックーReset)

プログラム中にある[ENTER]の表記は、打ち込むのではなくエンターキーを押すという意味です。
※命令自体はMSX用なので一切覚える必要はありません。上にある“話の内容”が伝わればいいんです。

条件分岐!!

今回使用するプログラムが保存してあるフロッピーディスクです。フロッピーディスクの使い方はこちら
このプログラムを読み出してみてください。

例として使用するのは、if~then~else構文です。
10 cls[ENTER]
20 for i=0 to 10 step 1[ENTER]
30 if i<6 then a=i else a=i*2[ENTER]
40 print a[ENTER]
50 next[ENTER]
まず目を皿のようにしてプログラム中の命令を一つづつ追いかけます。
●例7-1.条件分岐の例
プログラム 命令の内容
10行目 cls 画面を全部消セヨ。
20行目 for i=0 to 10 step 1 ループの命令(for ~ next)
【!】例6-1の20行目と全く同じですね。
  i という変数にまず 0 を入れて、next (50行目)のところまで
  処理してから戻って来い。戻ってきたら、変数i に step の分だけ
  足して同じことを繰り返せ。変数i が 10 を超えたら止めろ。
  という意味。
※ここ(20行目)へ到達したときに変数 i が10を超えていたら、
  50行目nextの次へ進みます。
  (今はそれ以降がないので“プログラム終了”となります)
30行目 if i<6 then
a=i else a=i*2
条件分岐の命令(if [条件式] then ~ else)
  if の後の条件式が、
  成り立つなら    →  then の後を処理を、
  成り立たないなら  →  else の後を処理をしろ
  という意味。

  if の後には、「変数 i が 6 未満」という条件式、
  then の後には、変数a に i を代入セヨ、
  else の後には、変数a に i * 2 を代入セヨ、   とプログラムされています。
40行目 print a 変数a を表示セヨ。
50行目 next 20行目の for に対応する命令。
コンピュータの処理がここまできたら20行目のforに戻ります。

run[ENTER]
実行してみましょう。

変数 i が 0~5 (つまり「変数 i が 6 未満」)のときは変数 i の1倍が表示され、変数 i が 6~10 (つまり「変数 i が 6 未満」ではない)のときは変数 i の2倍が表示されます。

必ず以下の行動をするようにしましょう。(これ大事です。)
変数 i に 0 を入れて、次の行へ行って、if文の条件に当てはまるからthenの後の代入文が実行されて、そのときの変数a を表示して、20行目に戻って、…とじっくりと1ステップづつ追いかけてください。

動きが理解できたら、
30行目の「条件式」「thenの後の代入文」「elseの後の代入文」、
20行目の「toの後の10」
を色々変更して遊んでください。(これ大事です。)


今回の例では「条件式」に従って「thenの後の代入文」と「elseの後の代入文」のどちらかを選択するという順番の入れ替え(?)を行いました。(“入れ替え”というより“選択”ですが。)「thenの後は何もしない」と「elseの後は何かの計算をして結果を表示」など、どんな形でも作成できます。

これが実行の順番を変えるものの一つ、“条件分岐”でした。


今回の話でプログラミングに必要な知識はほぼすべて出揃いました。
え!?、まだどうしていいかわかんねーよ?」とおっしゃると思いますが、
次回「作れるようになるキモ」についてまとめます。



話の内容

こんな話でしたが内容は伝わりましたでしょうか。
○“順番を変える命令”の一つ-条件分岐


プログラミング学習
学習一その場で触って“変数”を理解
学習ニ利用できる“部品”の一つ-四則演算と剰余を理解
学習三利用できる“部品”の一つ-関数を理解
学習四“部品”を使ってかんたんなプログラムを作る
学習五プログラムが「命令の順番を書き記したもの」ということを実感
学習六“順番を変える命令”の一つ-ループを理解する
イマココ→学習七“順番を変える命令”の一つ-条件分岐を理解する
学習八プログラムを組めるようになるにはどうするべきかを理解する

その場で実践するプログラミング学習

条件分岐の命令


スポンサーリンク



blogramのブログランキング

目次
コンピュータ(ハード/ソフト) 映画・ドラマ・芸能 変人のつぶやきとトラブル
ホームへ戻る ページ上部へ


0 件のコメント:

コメントを投稿