2016年12月23日金曜日

生涯学習:導入説明【プログラミングって その二】

プログラミングって-その一の続きです。
------------------------------------------- “伝えたい内容”
○プログラムは先頭から始まって、上から順番に実行される
○実行の流れを変えるのは、ループと条件分岐
------------------------------------------------------------
   ※命令の表記自体はMSX用なので覚える必要はありませぬ。
    この記事では上にある“伝えたい内容”が伝わればいいんでス。

説明のためにWebMSXエミュレータを使用します。別ウインドウで開いておいてください。
(左下の電源マークをクリックーResetを選んでぶとリセットできます。)



●先頭から始まって、順番に実行されるよ




その1の例2のプログラムを見てみます。
●前回の例210 cls[ENTER]
20 print "pokutarou"[ENTER]
30 print 30+4[ENTER]

大事なことは、
   実行されたときに、コンピュータは先頭の「10 cls」を実行する。
   その後、次の20行を実行し、その後30行を実行するということ。

もし20行に100時間かかる処理が書いてあったとしても、30行が実行されるのは20行が完了した後だということにご注意。
「コンピュータは1秒間に100万回の計算ができるケナゲな子」と考えるとよいと思います。
人間に「やれ」と命令されたらいつまでもやり続けます。


「先頭から順番に」というのは分かりました。

でも、ホントにそれだけ?
それだったら、
   1~100までの数字を順番に表示していく場合、
   下の例1のように人間が命令をすべて書いてやらないといけないぞ?

   何かを判断して、あるときはこっちの計算、あるときは別の計算ってできないの?という疑問が発生します。

●例110 print 1
20 print 2
30 print 3
40 print 4
50 print 5
60 ...


そこで、どんなプログラム言語でも必ず用意されているのが、
   ループ…繰り返しの命令
   条件分岐…もしこうならこの処理、違うなら別の処理をせよという命令
の二つです。



ここからループと条件分岐の例を挙げて説明していきます。が、ここで一つ能書き。
     《ポク太郎の能書き》プログラムを理解するには、
     目を皿のようにして命令を一つ一つ追いかけます。
     無駄なことは一切書かないようにするので、すべてに意味があります。
     一つでも抜かせば思い通りにはなりません。

     そうやって1ステップづつ確認したものを、コンピュータの演算速度でブン回します。
     それがプログラミングなのです。


●ループ


例として使用するのは、for~next構文です。

まず目を皿のようにしてプログラムを見ます。
   20行目にfor i=0 to 10 step 1って文言が、50行目にはnextって文言が。
   これがループの命令で、
     iという変数(その1で説明)にまず0を入れて、
     nextのところまで処理してから戻って来い。
     戻ってきたら、iにstepの分だけ足してまた同じことやれ。
     それをiが10になるまで繰り返せ。
   という意味。

   for(20行)とnext(50行)の間には、
     30行:aというものにiの2倍の数値を入れろ。
          (=という表記は、右辺を左辺に入れろという意味です。)
          (掛け算を*、割り算を/と表記します。)
     40行:aを表示しろ。
   と命令が2つあります。

●例2.ループの例10 cls[ENTER]
20 for i=0 to 10 step 1[ENTER]
30 a=i*2[ENTER]
40 print a[ENTER]
50 next[ENTER]

  ※[ENTER]とある部分は打ち込んだ後、[ENTER]キーを押すという意味です。
   この動作は毎回忘れずにお願いしまス。


run[ENTER]
と打ち込んで、実行してみましょう。
結果は、0、2、4、6、…、20と、0~10の2倍された数値がつらつら表示されたと思います。


これがループの命令です。

試しに、20行目の10を1000に変えてやってみてください。
やたらと時間が掛かりますが、ケナゲにがんばりますよ。


遊ぶのに飽きたら、次は条件分岐に話を進めます。
今書いたプログラムを消すために、以下のように入力してください。

●例3new[ENTER]


それでは条件分岐の例を。


●条件分岐


例として使用するのは、if~then~else構文です。

まず目を皿のようにしてプログラムを見ます。
   20行目と50行目は例2と同じです。

   30行目にはif なんとか then なんとか else なんとかって文言が。
   これが条件分岐の命令で、
     iという変数が6未満なら、thenの後を処理、違うならelseの後を処理せよ。
   という意味。

     ifの後には、“iが6未満”ならという条件式。
     thenの後に、aにiを入れろ。
     elseの後に、aにi*2を入れろ。(*は掛け算でしたね)
   というプログラム。

●例4.条件分岐の例10 cls[ENTER]
20 for i=0 to 10[ENTER]
30 if i<6 then a=i else a=i*2
40 print a[ENTER]
50 next[ENTER]

  ※[ENTER]とある部分は打ち込んだ後、[ENTER]キーを押すという意味です。
   この動作は毎回忘れずにお願いしまス。

run[ENTER]
と打ち込んで、実行してみましょう。
結果は、0、1、2、3、4、5、12、14、16、18、20と
iが0~5(つまりiが6未満)のときはiの1倍が表示され、iが6~10のときはiの2倍が表示されます。



以上が、実行の流れを変えるもの-“ループ”と“条件分岐”でした。



長かったですが、記事の内容は伝わりましたでしょうか。
------------------------------------------- “伝えたい内容”
○プログラムは先頭から始まって、上から順番に実行される
○実行の流れを変えるのは、ループと条件分岐
------------------------------------------------------------


【関連記事】  プログラミングって-その三
プログラミングって-その一




スポンサーリンク

スポンサーリンク



0 件のコメント:

コメントを投稿