【第4章】キーボードからデータを入力するプログラム

 【コンピュータとは?】

 Tiny Basicでのプログラミングを体験してみたところで、あらためて「コンピュータってどういう機械?」ということを学びましょう。すでにわかっていらっしゃる方、とりあえずプログラミングだけやりたい、という方は今はこの節は飛ばしていただいてかまいません。これ以後を読んでいて必要があれば戻ってきてください。


図4-1.コンピュータのいろいろ
図4-1.コンピュータのいろいろ

 図4-1の上段2つは一般的にオフィスや家庭にあるデスクトップパソコン(左)とノートバソコン(右)です。下段左は銀行や役所などに設置されている大型コンピュータ、下段右は家電製品や車に部品として組み込まれているマイクロコンピュータの例です。このように一口にコンピュータといっても、大きさ、形は様々で使用目的も違います。ただどのようなコンピュータでもそのからだは図4-2のようになっています。

図4-2.コンピュータのからだ
図4-2.コンピュータを構成する各装置

 コンピュータの中心には中央処理装置Central Processing Unit、以下CPUといいます)なるものがデンと構えています(といっても大型コンピュータならともかく、今のパソコンでは小サイズの使い捨てライターより小さい部品です)。CPUの中はさらに計算を司る演算装置、コンピュータ全体の動きを制御する制御装置に分かれます。
 第2章でも出てきた主記憶装置はデータやプログラムを記憶する所です。変数に代入したデータ、プログラムモードで入力したステートメントはここに記憶されます。CPUと主記憶装置は人間でいえば頭脳に相当します。
 そして主記憶装置に記憶させるプログラムやデータを入力する装置が入力装置(パソコンならキーボードやマウスなど)、計算結果や処理結果を表示したり印字するのが出力装置(パソコンならディスプレイやプリンタなど)です。入力装置と出力装置は人間なら目、耳、口、手などにあたります。
 補助記憶装置は人間の使う物では手帳と考えてください。主記憶装置は電気的に記憶するものであり、記憶・読み出しの速度は速いものの、記憶容量はそれほど大きくはなく、また電源を切るとその記憶内容は消えてしまいます。一方補助記憶装置は記憶・読み出しの速度は遅い反面、記憶容量が大きく、電源を切っても記憶内容は永遠に残ります。前章で作ったプログラムはまず保存、といいましたが、名前を付けて保存とすると補助記憶装置に保存されます。補助記憶装置については後の章で詳しくお話します。
 図4-2中のデータの流れとは、データをどこから入力し、どこに記憶し、どのように処理加工してどこに出力するかなどでこれらはプログラムで指示できるものです。制御の流れとはコンピュータを構成する各装置が間違いなく動作するよう管理するための信号で人間の自律神経のようなものです。制御信号は通常の方法ではプログラムでコントロールできません。

【違うデータで同じ処理を行なうプログラム】

ではプログラミングに戻ります。
前章で作ったプログラムは図4-3のようになっていました。


            A=10
            B=6
            S=A*H/2
            PRINT S
            END

         図4-3.三角形の面積を求めるプログラム

 このプログラムは変数Aを底辺、Hを高さとしたときの三角形の面積Sを求めるものでした。そこでAを10、Hを6として計算したわけですが(下線部)、もしAに7、Hに4を代入すれば今度は底辺が7、高さが4の三角形の面積が求められます。異なる底辺、高さで計算したいときは代入文(下線部)を変更すればいいわけです。これでも一応変数を使う意味はあるのですが、底辺と高さの値が変わる度にプログラムを修正する必要があり少々不便です。ということで、このブログラムを使い勝手が良くなるように改造します。

[前に作ったプログラムを修正する]

 では前章で作ったプログラムを図4-4のように改造します。下線部が変更する部分です。

            INPUT A
            INPUT H
            S=A*H/2
            PRINT S
            END

          図4-4.プログラムを改造

 この程度の長さのプログラムなら始めから全部作り直してもいいのですが、今後もっと長いプログラムを作るようになったとき、あるいは一度作ったプログラムにミスがあって修正する必要が出てきたというような場合のことを考え、ここでは前章で作ったプログラムを呼び出して(パソコンに向かって「おーい、プログラム出てこーい」と叫ぶのではありません。既存のプログラムやドキュメントを開いて再利用できるようにすることです。プログラミングの世界ではほかに「関数の呼び出し」のような使われ方をします)、編集し再び保存という方法を覚えましょう。
 前に作ったプログラムを呼び出すには、編集画面から「プログラム」→「開く」と進みます(図4-5)。

図4_5.既存のプログラムを呼び出す
図4-5.既存のプログラムを呼び出す

 すると前章で作った ex1.tbt というプログラムが表示されるので、これをクリックして「開く」をクリックするか、ex1.tbt をダブルクリックします。これもWord、Excelを使ったことのある方にはおなじみの方法です(図4-6)。

図4_6.呼び出したいプログラムを選ぶ
図4-6.呼び出したいプログラムを選ぶ

 呼び出しが成功すると、ex1.tbt のプログラムが編集画面に出てきますから、最初の2行を図4-3のように修正します。カーソルを直したいところにもっていって直します。Wordやメモ帳と同じです。修正では新規作成と違って、1行修正するごとに【ENTER】を押す必要はありません(【ENTER】を押すとそこで改行します)。
図4_7.このように修正する
図4-7.このように修正する

 修正が終わったら、実行してみてもいいのかと思われそうですが、実行前に保存はプログラム修正時も同じです。今やった編集作業はあくまでコンピュータの主記憶装置の中だけで行われたことであり、保存されているプログラムが自動的に直っているわけではないからです。修正したプログラムの保存は編集画面上の「プログラム」から「上書き保存」です(図4-8)。
図4_8.修正したプログラムの保存
図4-8.修正したプログラムの保存

 保存が終わったら実行してみましょう。編集画面上部の「即実行」をクリックしてください。実行するとすぐに図4-9になると思います。これはキーボードからの入力待ちです。入力窓に15と入れて「OK」をクリックしてください。するともうひとつ入力窓が現れます(図4-10)。今度は10と入れてみましょう。「OK」を押すと実行画面に底辺15、高さ10の三角形の面積75が表示されます(図4-11)。
図4_9.修正したプログラムを実行
図4-9.修正したプログラムを実行

図4_10.キーボードからの入力待ち
図4-10.キーボードからの入力待ち

図4_11.実行結果
図4-11.実行結果


[データをキーボードから入力する]

 このプログラムを実行すると途中でオペレータ(コンピュータを操作している人とお考えください)がキーボードからデータを入力するのを待つために一時停止します。INPUTはキーボードから入力された内容を、後に続く変数に読み込む(代入)する命令です。そしてこれが実行されるとプログラムはキーボードから何かデータが入ってくるまで実行をいったん停止します。

 INPUT命令を使う最大の利点は、異なるデータで同じ処理を行いたい場合、いちいちプログラムを書き換えないで済むことです。現段階ではまだこのありがたみは実感できないと思いますが、この後に出てくるサンプルプログラムを見ていただければ「なるほどな」と納得していただけると思います。

[順次処理]

 図4_7と図4_9をもう一度見てください。プログラムは最初のステートメントから順番に実行されていることがおわかりいだけると思います。コンピュータのプログラムは基本的には体育祭や演奏会のプログラムと同じです。図4-12は演奏会のプログラムの例です(しつこいようですが筆者の本業はピアノの先生です)。演奏会では普通、会場入口でお客様に差し上げたプログラムのとおりに最後まで演奏されます。この場合ならベートーヴェン、ショパン、ドビュッシーの順に演奏されて終わりです(アンコールで何かもう1曲演奏されることはありますが)。よほどの事態が発生しない限り、ベートーヴェンとショパンの演奏順が入れ替わったり、ドビュッシーまで終わったところで、もう一度ベートーヴェンに戻って最初から、ということは起こりません。コンピュータのプログラムも同じで、通常は最初のステートメントから終わりに向かって順番に実行されてゆきます。このような処理を順次処理といいます。コンピュータのプログラムは同じ処理を一定回数繰り返し実行したり、条件によって処理内容を変えたりすることができるのですが、その場合でも基本は順次処理です。

             ベートーヴェン ソナタ第14番「月光」
             ショパン    バラード第1番
             ドビュッシー  ベルガマスク組曲

           図4-12.演奏会のプログラムの例

 ここまでで覚えたプログラムの作成、保存、プログラムの修正、プログラムの実行で、Tiny BASICを使うにあたって必要最小限の操作はひととおり終わりました。Tiny BASICにはプログラム開発に便利な機能がまだまだたくさんありますが、当カテゴリーの実習ではこれだけ覚えておけば充分です。今後は「保存しましょう」「プログラムから開くを選び~」などは言いません。ここまでの操作に不安がある方は前章までを読み返し、操作に習熟しておいてください。

【Tiny BASICの文法(2)】ステートメント中の空白

 ステートメント中には適宜半角の空白を入れることができます。
 ステートメント中の連続する半角空白はストリング(次章でやります)以外、何文字分あっても1文字とみなされます。
 1つの命令(指示語)の途中に空白を入れることはできません。
     A=5
           A=5
     A = 5
 上の3つはどれも変数Aに5が代入されます(コンピュータは同じ動作をします)。
     S=A*H/2
     S               = A*H/         2
 上の2つはどちらも同じ計算をします(プログラムが見やすいかどうかの問題です)
指示語とオペランドの間には1文字分以上の半角空白を入れなくてはなりません。 
              PRINT S
              PRINT           S
 上の2つはどちらも同じ動作をしますが、次のようなのはだめです。
              PRINTS
              PR INT S
空白を入れる際、誤って全角の空白を入れないように気を付けてください。全角文字はストリングとして以外では使用できません。

【この章のまとめ】

一度作ったプログラムは修正・変更が可能である

修正したプログラムは再び保存する必要がある

INPUT命令
 キーボードから入力された内容を、後に続く変数に読み込む(代入する)

順次処理
 プログラムは通常、最初のステートメントから終わりに向かって順番に実行される

【演習2】キーボードからたて、よこの長さを入力し長方形の面積を求めるプログラムを作りなさい

コメント一覧
コメント投稿

名前

URL

メッセージ

- CafeLog -