【第3章】プログラミグはじめの一歩(順次処理)

[プログラムの作成]

 では、いよいよプログラミングに入りましょう。コンピュータの世界でいうプログラムとは処理の手順です。ノンプロミングモードでは、変数に代入、計算、結果表示をワンステップずつ(OK表示になるごとに)実行しなくてはなりませんでしたが、これを自動化しちゃおう、という発想です。まずは昨日やった三角形の面積を求めたものを自動化(プログラム)にしてみましょう。


図3_1.編集画面を開く
図3-1.編集画面を開く

 プログラムを作成するには、編集画面を使います。Tiny BASICを起動したら編集画面側の左上にある「プログラム」をクリックします。するとメニューが表示されます。今は新しくプログラムを作るのですから、この中の「新規作成」をクリックします(図3-1)。すると図3-2のようなプログラム編集ウィンドウが開きます。このウィンドウ内にプログラムを書き込みます。
図3-2.プログラム編集ウィンドウ
図3-2.プログラム編集ウィンドウ

 最初は変数Aに底辺の長さ 10 を代入するのでしたね。ではプログラム編集ウィンドウに半角英数字で A=10 と入れて【ENTER】を押してください。あれっ?何も起こらないぞ、とあわてずに。ノンプログラミングモードでは一命令ごとに(【ENTER】を1回押すごとに)代入→計算→表示といった仕事が行われますが、プログラム編集画面に入れられた命令はすぐには実行されません。すべて入れ終わって「実行」という指示を出すまでは仕事の手順が記憶されるだけです(当カテゴリーではこれをプログラムモードとよぶことにします)。
 次は変数Hに高さの値6を代入しました。では H=6 と入れて【ENTER】を押してください。全く新規でプログラムを入れる場合は1行ごとに【ENTER】を押さないと次の行に改行しません。以下同様に、面積を計算して変数Sに代入、結果を表示するところまで入れてください(図3-3)。
 入れている途中で前に入れた行に間違いがあったりして修正したいときは、直したい箇所にカーソルをもっていって修正できます(Windowsのメモ帳やワープロソフトなどと同じです)
図3_3.プログラムをすべて入れ終わったところ
図3-3.プログラムをすべて入れ終わったところ

 最後に、ENDという一行がありますが、これは「プログラム実行終わり」という指示です。このプログラムのように実行される最後の命令が最後の行(図3_3の例なら PRINT S)である場合は、この END はなくても差支えないのですが、後の章で出てくるサブルーチンなどを使うときは、これがないとちょっと困ったことになります。ここで実行終わりという箇所には必要なくても必ず END を書くように習慣づけておいた方がいいでしょう.

[プログラムの保存]

 これでプログラムは入れ終わりました。よし、実行しよう!ちょっと待ったあ~!(なんだよ)作成したプログラムは必ず保存してから実行しましょう。どうしてかというと、もし作ったプログラムにミスがあって、コンピュータが暴走(ブワンブワンとエンジン音をたててコンピュータが走り出すわけではなく、誤動作でキーやマウスの入力を受け付けなくなること)してしまったら、強制的にシャットダウンするか少々乱暴ですが電源コードを引き抜くしか方法がなくなります。そうなると今作っていたプログラムはすべて消えてしまいます(最近のノートパソコンは強制シャットダウンしても今やっていた作業を保存してから電源が落ちるようになっているようですが、すべてのパソコンがそうなっているという保証はありません)。このサンプル程度の短いプログラムならもう一度作り直せばいいのですが、これがもし研究や仕事で使う500行にもおよぶ長いプログラムだったら・・・もう空を見上げて泣くしかありません。というわけで作ったプログラムは必ず保存してから実行、これは初心者のうちに習慣づけてください。

図3-4.プログラムの保存
図3-4.プログラムの保存


 保存の方法はWordやExcelを使っている方にはおなじみの方法です(図3-4)。編集画面左上の「プログラム」をクリックします。表示されたメニューから「名前をつけて保存」を選んでクリックします。すると図3-5のようになります。ここで上部の「保存する場所」は【第0章】でやったTBasic.exeを保存した場所と同じになっていると思います。当カテゴリーの実習ではこのままでいきます。別の場所にしたい方は変更してください。プログラム名はUntitled(タイトルなし)という名前になっています。このままでもいいという方はそのままにしておいてください。ふつうはもう少しプログラムの内容がわかる名前にするので、ここではex1(exsample1の意)としていますが、これでなくても何でもかまいません(ただしお使いのパソコンのOSの制約を受けます)。日本語(全角文字)を含んでもOKです(練習_1など)。 .tbtの部分は拡張子といい、変更・削除しても差支えないのですが、保存したプログラムを再利用するときに面倒なのでこのままにしておいた方がいいでしょう。
図3-5.名前を付けて保存
図3-5.名前を付けて保存


[プログラムの実行]

 プログラムの保存が完了したので、今作ったプログラムを実行(コンピュータに何かをさせることをコンピュータ屋さんはこのようにいいます)してみましょう。実行の方法はいくつかあるのですが、最も簡単なのは編集画面の上の方にある「即実行」です。これをクリックすると、実行画面に計算結果が表示されます(図3-6)。即実行をクリックした後はまったく手を触れずに計算結果の表示まで来ました。これがプログラムによる自動計算です。

図3-6.プログラムの実行
図3-6.プログラムの実行


【Tiny BASICの文法(1)】ステートメント

 ところで、前にもお話ししたとおり、これはTiny BASICというプログラミング言語を用いてのプログラムなわけですが、「言語」というくらいですから、それぞれのプログラミング言語には文法があります。これから少しずつ覚えていってください。文法といってもやれ三人称単数現在だ、関係代名詞だ、現在完了形だというわけではありませんのでご安心を。筆者に言わせてもらえればプログラミング言語の文法とは、文法というより書き方です。ここまでで説明してきた算術演算子や代入演算子、変数の使い方などもTiny BASICの文法です。

 プログラムの一文をステートメント(または「文」)といいます。ステートメントは多くの場合、

        命令語(指示語) オペランド(命令の内容)

です。たとえば print 3 + 5 は「3 + 5の計算結果を表示せよ」という命令になりますが、プログラミング言語では「表示せよ、 3 + 5 の計算結果を」と書くことになります。日本語ではなく英文法に使いものがあります。

[昔はよかったなぁ]

 当カテゴリーは1980年代頃、当時のパソコンでプログラミングをやっていた方に、あの頃のBASICとTiny Basic for Windowsがどのように違っているのかをお話することも目的としています。[昔はよかったなぁ]では本章中のサンプルプログラムを当時のBASIC(以下、昔のBASICといいます)で書くとどうなるかを示しながら、その違いをお話します。お若い方でも、昔のBASICがどういうものかを知りたいという方は、ぜひ読んでみてください。

図3_7.図3_3のプログラムを昔のBASICで書くと
図3-7.図3-3のプログラムを昔のBASICで書くと

 この章でやった三角形の面積を求めるプログラムを昔のBASICで書くと図3-7のようになります。昔のBASICでは、プログラム中のステートメントには実行の順番を支持する行番号が必要でした。今のTiny Basicでは必要なくなりましたが、昔のBASICと同じように付けることもできます(図3-8)。そして編集画面と実行画面の区別はなかったので、作ったプログラムの保存(SAVE)や実行(RUN)もプログラムを作成する画面からできました。ですからプログラム作成ツールとしては昔のBASICの方が取り扱いは楽なことは楽でした。ただ、プログラム作成・編集中にマウスが使えないなど、今のパソコンに慣れてしまうと「不便だなぁ」と感じる点も多々ありました。
図3_8.Tiny Basicで昔のBASIC風に書くと
図3_8.Tiny Basicで昔のBASIC風に書くと

 昔のBASICは今のWindowsパソコンには標準搭載されていません。でも「わしゃ、やっぱり昔がよかった」(実は筆者もそうだったりします)という方、「親父たちが歩いた道を辿ってみたい」というお若い方、ULprojectさんのサイト(下記リンク)から昔のBASICをダウンロード・インストールできます(Windowsパソコン用です。Macパソコン、スマフォ、タブレットでは使用できません)。

   N88-BASIC互換?VL,NL,XL,-BASIC for Windows(10など)
   http://nlbasic.amebaownd.com/

[この章のまとめ]

コンピュータのプログラムとは処理の手順である

作ったプログラムは実行する前に必ず保存する

プログラムの1行をステートメントという

ステートメトは多くの場合、命令語(指示語)+オペランド(命令の内容)である

【演習1】粗利益を計算し画面に表示するプログラムを作りなさい。粗利益とは売上単価×売上個数-仕入れ単価×売上個数のことです。たとえば1個150円で仕入れた品を1個200円で10個売れば、粗利益は500円になります。仕入単価、売上単価、売上個数、粗利益はすべて変数を用いること。

 ※当カテゴリーは2022年3月まで筆者が勤務していた富山大学の教養科目「コンピュータの話」でも使用しました。【演習】はその授業での課題です。受講生は理系・文系問いませんでしたので難易度は易しめにしてあります。もっと実用的なプログラムにしてみようと思われる方はぜひチャレンジしてみてください。

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

名前

URL

メッセージ

- CafeLog -