プログラミングとは何なのか、まず知るべきことは何なのか、どうすればできるようになるのかを説明するブログ。今回の学習五ではコンピュータの処理する順番について書きました。
話の内容
○コンピュータは決まった順番で処理する
ポク太郎です。前回使ったプログラムを眺めてコンピュータの処理する順番について頭に叩き込みます。
【注意】
説明のために、WebMSXエミュレータ(クリックするだけでブラウザ上で動きます)を使用します。別ウインドウで開いておいて下さい。
他の学習から続けて行う方は一旦リセットを行ってください。(左下の電源マークをクリックーReset)
プログラム中にある[ENTER]の表記は、打ち込むのではなくエンターキーを押すという意味です。
※命令自体はMSX用なので一切覚える必要はありません。上にある“話の内容”が伝わればいいんです。
説明のために、WebMSXエミュレータ(クリックするだけでブラウザ上で動きます)を使用します。別ウインドウで開いておいて下さい。
他の学習から続けて行う方は一旦リセットを行ってください。(左下の電源マークをクリックーReset)
プログラム中にある[ENTER]の表記は、打ち込むのではなくエンターキーを押すという意味です。
※命令自体はMSX用なので一切覚える必要はありません。上にある“話の内容”が伝わればいいんです。
コンピュータは決まった順番で処理する
前回使用したプログラムが保存してあるフロッピーディスクです。フロッピーディスクの使い方はこちら。
操作を思い出すために前回のプログラムを読み出してみてください。
前回のプログラムです。
ここでコンピュータが処理をする順番に着目します。
命令にはやってもらいたい順番があります。人間は命令をたくさん出しますが、順番を効率よくコンピュータに伝えるためにルールがあります。
コンピュータは先頭から始まり、上から順番に下へと命令を遂行する。
これがルールです。
強調するために下のように掘り下げた表現で説明します。
操作を思い出すために前回のプログラムを読み出してみてください。
前回のプログラムです。
行番号 | プログラム | 命令の内容 |
10 | cls | 画面を全部消セヨ |
20 | A$="Poku" | 変数A$に値を代入セヨ |
30 | B$="James.Rambo" | 変数B$に値を代入セヨ |
40 | M1=len(A$) | 変数M1にLEN()関数の戻り値を代入セヨ ※LEN()関数は文字の数を返す関数でしたね。 |
50 | M2=len(B$) | 変数M2にLEN()関数の戻り値を代入セヨ |
60 | KEI=M1+M2 | 変数KEIにM1とM2を足し算した結果を代入セヨ |
70 | SA=M1-M2 | 変数SAにM1からM2を引いた結果を代入セヨ |
80 | PRINT A$,B$ | 変数A$とB$を表示セヨ |
90 | PRINT "Moji No Kazu" | "Moji No Kazu"という文言を表示セヨ |
100 | PRINT M1,M2,KEI,SA | 変数M1、M2、KEI、SAを表示セヨ |
110 | C$="(c) "+A$+"."+B$ | 変数C$に"(c)"と変数A$と"."(ピリオド)と変数B$を 足し算したものを代入セヨ 文字列を足し算すると文字列をつなげることができます。 |
120 | PRINT "" | ""(空白)を表示セヨ |
130 | PRINT C$ | 変数C$を表示セヨ |
140 | PRINT "All Rights Reserved" | "All Rights Reserved"という文言を表示セヨ |
ここでコンピュータが処理をする順番に着目します。
命令にはやってもらいたい順番があります。人間は命令をたくさん出しますが、順番を効率よくコンピュータに伝えるためにルールがあります。
コンピュータは先頭から始まり、上から順番に下へと命令を遂行する。
これがルールです。
強調するために下のように掘り下げた表現で説明します。
もし上のプログラムで20行目に100時間かかる処理があったとしても、30行目が実行されるのは20行目が完了した後です。必ず順番を守ります。また、もし上のプログラムで20行目に永遠に終わらない処理があったとしたら、永遠に20行目をやり続けます。
「コンピュータは1秒間に100万回の計算ができるケナゲな子」と考えるとよいと思います。「やれ」と命令されたらいつまでもやり続けます。
「コンピュータは1秒間に100万回の計算ができるケナゲな子」と考えるとよいと思います。「やれ」と命令されたらいつまでもやり続けます。
ルールはホントにそれだけ?
“先頭から順番に一つづつ”というのは分かりました。でもホントにそれだけ?
などの疑問が発生します。
そこで、どんなプログラム言語でも必ず用意されているのが、
この二つの命令を駆使し、自分の思い描くプログラムを構築していくことになります。
この言葉は覚えておきましょう。
「ループ」と「条件分岐」です。
次回とそのまた次回に命令の順番を変更するループと条件分岐を説明します。
・それだったら、下のように命令を永遠に書いてやらないといけないぞ?
・何かを判断してあるときはこっちの計算、あるときは別の計算ってできないの?
などの疑問が発生します。
そこで、どんなプログラム言語でも必ず用意されているのが、
ループ …繰り返しの命令
条件分岐 …もしこうならこの処理、違うなら別の処理をせよという命令
の二つです。条件分岐 …もしこうならこの処理、違うなら別の処理をせよという命令
この二つの命令を駆使し、自分の思い描くプログラムを構築していくことになります。
この言葉は覚えておきましょう。
「ループ」と「条件分岐」です。
話の内容
こんな話でしたが内容は伝わりましたでしょうか。
○コンピュータは決まった順番で処理する
○コンピュータは決まった順番で処理する
学習一 | その場で触って“変数”を理解 | |
学習ニ | 利用できる“部品”の一つ-四則演算と剰余を理解 | |
学習三 | 利用できる“部品”の一つ-関数を理解 | |
学習四 | “部品”を使ってかんたんなプログラムを作る | |
イマココ→ | 学習五 | プログラムが「命令の順番を書き記したもの」ということを実感 |
学習六 | “順番を変える命令”の一つ-ループを理解する | |
学習七 | “順番を変える命令”の一つ-条件分岐を理解する | |
学習八 | プログラムを組めるようになるにはどうするべきかを理解する |
0 件のコメント:
コメントを投稿