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

【第2章】変数を使う

 ノンプラグラムモードでの計算のやり方はおわかりいただけたでしょうか。このカテゴリーをご覧いただいているほとんどの方は「いいから早くプログラミグを教えてくれ」とお思いのことと思います。しかし、プログラムとは何ぞや、ということをご理解いただくためにはもう少しノンプログラミングモードで覚えていただきたいことがあります。今しばらくご辛抱ください(またかよ!)。

[変数の使い方]


 ではTiny BASICを起動してください。実行画面がOK表示になっていることを確認したら、A=10と入れて【ENTER】を押してください(Tiny BASICのノンプラグラミングモードでは何かを入力するときは最後に【ENTER】を押す必要があります)。【ENTER】を押しても今度は何も起こりませんね(図2-1)。


図2-1.変数に数値を記憶する
図2-1.変数に数値を記憶する

 ただ、コンピュータの中では「今入れた10という値が記憶された」ということが起こっています。コンピュータの内部動作は私たちの目には見えないだけのことです。そしてコンピュータの記憶装置(正しくは主記憶装置、後の章で詳細を説明します)は無限ではありませんがとてつもなく容量が大きいですから、今入れたデータが記憶装置のどこに入ったかをわかりやすいように「付箋」を貼っておきます。この例では付箋に相当するのが A です。この付箋のことをプログラミングの世界では変数とよびます。変数という言葉は元々数学で使われるものですね。数学では y=ax+b のx、yのように「ともなって変わる数」という意味ですが、コンピュータのプログラミングでは記憶場所という意味になることに注意してください。PRINT Aとやってみると今、変数 A に記憶した 10 という値が表示されました(図2-2)。
図2-2.変数に数値した数値
図2-2.変数に記憶した数値

 次に H=6としてください。同じように PRINT H で確かめると変数 H に6が記憶されたことがわかります。そうしたら今度は S=A*H/2とし、次に PRINT S としてみましょう。今度は30と表示されます(図2-3)。もうおわかりかと思いますが、これは底辺をA、高さをHとしたときの三角形の面積Sを求める計算です。
図2-3..変数を使った計算例
図2-3..変数を使った計算例

 変数を使ういちばん大きなメリットは一度記憶した変数の中味はずっと保存されるので(正確には次に何かプログラムを実行するまで)、ひとつのデータを何回も再利用するのがたいへん楽になることです(図2-4)。
図2_2.変数を使って記憶したデータは再利用がかんたんにできる
図2-4.変数を使って記憶したデータは再利用がかんたんにできる

[変数名]

 今日のサンプルでは変数の名前はすべて英字1文字になっていますが、Tiny BASICでは変数名は半角英数字と _ (アンダーバー)の組み合わせで30文字以内で自由に決められます。ただし先頭の1文字は必ず英字でなくてはなりません。また英字は大文字小文字を区別しません。たとえば変数TATEYAMASOBAWA_OISHIIとtateyamasobawa_oishiiは同じ変数として扱われます(筆者と同じ居住地以外の方にはわかりにくい例えで申し訳ありません^ ^;)。それから予約語は変数名としては使えません。予約語とはそのプログラミング言語が使っている命令や関数(後の章でやります)のことで、Tiny BASICならばたとえば PRINT という語は画面に表示せよという命令で使っていますから、 PRINT=5 のように変数名としては使えません。

[代入演算子]

 今日のサンプルでは がたくさん出てきました。=は数学では等号と呼ばれ「左辺と右辺が等しい」という意味で使われますが、プログラミングでは = は右辺の値を左辺に代入せよという命令になります(後に出てくる条件判定の場合のみ等号になります)。Tiny BASICに限らず、筆者が知る限り、ほとんどのプログラミング言語でそうなっています。なので代入演算子(代入命令)としての = を使うときは、右辺は計算式でよいのですが、左辺は必ず変数1個になります。数学のようにA+B=C+Dのような書き方はできません。
 ではひとつ、数学の先生に叱られてしまいそうな例を。=は代入演算子とします。

           a = 3 
          a = a + 1 

 プログラミングが初めての方はえっえっ?何これ?と思われたことでしょう。=を代入演算子として使う場合はこのような使い方ができます。ではこの結果、変数 a の中味(値)はいくつになっているでしょうか。代入演算子の意味は「右辺の値を左辺に代入せよ」でした。つまりこれは「今、変数 a に入っている値に 1 を加算し、その結果を a に戻せ(再び代入せよ)」ということになります(図2-5)。その結果、この場合 a の値は 4 となります。この考え方は実際のプログラミングではジャンジャンバリバリ(死滅語?)出てきます。

図2_5.代入演算子を使うと
図2-5.代入演算子を使うと


 いかがですか。文章での説明が長くなってしまいましたが、ここまでで、これからプログラミングに入るのに大切な基礎知識をお話したつもりです。これまでのところが今ひとつ理解できていないという方は、次に進む前に、もう一度、前章とこの章を復習してください。

【この章のまとめ】

データは変数に記憶できる

変数に記憶したデータは再利用できる

代入演算子としての = は右辺の値を左辺に代入せよという意味である

代入演算子としての = では左辺は必ず変数1個である

【第1章】ノンプラグラミングで四則演算

 ではこれから少しずつTiny BASICでのプログラミングを覚えてゆきましょう。まずTiny BASICを起動してください。起動したら実行画面を見てください。Tiny BASICのタイトルと今日の日付が表示された次の行に「OK」と表示されています。これは「次の命令を実行する準備が出来ました」という意味です。
 OK表示を確認したら、その下に半角英数字(英字は大文字でも小文字でも可)でprint 5+3 と入れてENTERキー(改行キーとかRETURNキーとよぶ機種もあります。以下【ENTER】といいます)を押します。するとその下の行に 5+3 の計算結果の 8が表示されて再びOK表示に戻ります(図1-1)。

図1_1.たし算をやってみる
図1-1.たし算をやってみる

 続けて PRINT 5-3 と入れて【ENTER】を押します。次の行に 5-3 の結果が表示されました。今度はちょっと文字を探すのが厄介ですが、半角英数字で PRINT 5*3 【ENTER】とやってみてください(*はアスタリスクとよばれます)。5×3 の結果の15が表示されます。最後に PRINT 5/3 【ENTER】としてみましょう(/はスラッシュとよばれます)。 5÷3 の計算結果の1.6666666666666667が表示されます。5÷3 は1.666666・・・と永遠に6が続くのですが、コンピュータの記憶容量は無限ではありませんから循環小数や無限小数はどこかで打ち切られます。つまりコンピュータでは分数は扱えません。Tiny BASICの場合、最後の桁が四捨五入になります。
 以下同様に PRINT 5^3 【ENTER】、PRINT 5¥3 【ENTER】、5 MOD 3(半角スペースを忘れないように)【ENTER】としてみてください。^は階乗で 5^3 は5の3乗の意味です。¥は小学校でやる割り算で商です。 MOD は余りです(図1-2)(*)。

(*)¥マークは半角で入れると、お使いのOSによっては \(バックスラッシュ)になる場合がありますが、意味は同じです。

図1_2.四則演算
図1-2.四則演算

 ここでPRINTはそのあとの内容を画面に表示せよ、という命令(仕事の指示)です。プリントといってもプリンタで印字するわけではありません。たとえば PRINT 3+4 は、3+4 の計算結果を表示せよということになります。

[計算式の書き方]

 1)四則演算に使用する記号は加算は+、減算は-ですが、乗算は×ではなく*、除算は÷ではなく/です。Tiny BASICに限らず多くのプログラミング言語ではそうなっています。 、
 2)加減乗除算と階乗が混在している場合の演算の優先順位は算数と同じでまず階乗が最初、次が乗除算、最後に加減算です。但し( )がある場合は( )内が先に計算されます。ここは算数と同じなのですが、Tiny BASICを含めて多くのプログラミング言語では{ }は計算式としては使えません。たとえば
     A-{B-(C-D)}
という式を書きたいときには
     A-(B-(C-D))
と書かなくてはなりません。複雑な計算式を書くときには( )の対に注意してください(図1-3)。

図1_3.( )を使った計算式の例
図1-3.( )を使った計算式の例

 3)乗算演算子の*は省略できません。たとえばA×Bの場合、数学ではABと書くことができますが、プログラミングではA*B と書かなくてはなりません。

 ここでやった実行画面に直接コンピュータへの指示を与える方法は電卓のような使い方であり、まだプログラムではありません。これはノンプログラミングモードと呼ばれる方法です。ノンプラミングモードではTiny BASICで使用できる命令すべてが使用できるわけではありませんが、それでもコンピュータプログラミングの基本的な考え方は学べます。

【この章のまとめ】

Tiny BASICで使用可能な算術演算子をまとめます。

Tinybasicの算術演算子

演算の優先順位
 1.階乗 2.乗除算 3.加減算 ただし( )内が最優先

PRINT命令
 あとに続く内容を画面に表示する。

【第0章】実習の準備

[実習で準備するもの]

 これから実際にTiny BASICを使いながらプログラミングの初歩を勉強してゆくのですが、それにはお使いのパソコンでTiny BASICを使えるようにしなくてはなりません。パソコンはWindowsパソコンが必要になります。ご自分のパソコンをお持ちの方、家族と共有だけどある程度自分の好きなように使える、という方はそれを使っていただいてけっこうです。尚、ここでは会社や学校、ネットカフェなどで不特定多数の方と共同使用するパソコンをお使いの方のことも考えた方法をとります。そのためにUSBメモリかSDカードなどの外部ストレージを使用しますので用意しておいてください。何も新しく買う必要はありません。当カテゴリーでの実習に必要な容量は高々20MBほどです。別のことに使ったけどまだ空き容量があるUSBメモリがあればそれを再利用してください。


[Tiny BASICのダウンロード]

 Tiny BASICはフリーウェア(無料で使えるソフトウェア)であり、現在は制作者takeuchi氏のサイトの他、窓の杜やVectorなどからも入手可能ですが、ここでは制作者のサイトからダウンロード(インターネット上に公開されているアプリ・画像・動画などのコンテンツを使っているパソコンやUSBメモリなどにコピーすること)することにします。
 1)不特定多数の方との共用パソコンをお使いの方(以下共用パソコンユーザーといいます)は、最初にUSBメモリ等の外部ストージを差し込んでください。
 2)準備が出来たらTiny BASIC for Windowsのサイト(←ここをクリック)を開きます。メニューの中に「ダウンロード」というのがありますから、クリックしてください(図0-1)。

図0-1.Tiny BASIC for Windowsのサイト
図0-1.Tiny BASIC for Windowsのサイト

 すると次にダウンロードメニュー(図0-2)が現れます。当カテゴリーの実習の範囲なら「Tiny BASIC本体のみ」で充分なのでこれの最新版を選んでダウンロードするのですが、ご自分のパソコンを使われる方と共用パソコンユーザーの方は、この先少し手順が異なりますのでご注意ください。
図0-2.ダウンロードメニュー
図0-2.ダウンロードメニュー

 3)ご自分のパソコンの方はTBasic151.zip(2021/03/31現在これが最新版です)を右クリックします。すると図0-3のようなポップアップメニューが表示されるので、「名前を付けてリンク先を保存」をクリックします。
図0-3.名前を付けてリンク先を保存を選ぶ
図0-3.名前を付けてリンク先を保存を選ぶ

 そうすると図0-4のような画面になるので、ここで共用パソコンをお使いの方は差し込んだ外部ストレージを、ご自分のパソコンをお使いの方は任意のフォルダ(ドキュメントがいいでしょう)を選んで右下の「保存」をクリックします。
図0-4.外部ストレージまたは任意のフォルダにダウンロード
図0-4.外部ストレージまたは任意のフォルダにダウンロード

 これでTiny BASICがダウンロードできました。図0-5のようになっていることを確認してください。ここでダウンロードしたファイル名がtbw151set.zipになっていますが、この~.zipというファイルはいくつかのファイルをサイズを圧縮して1袋に詰め込んだものと考えてください。このままではTiny BASICはまだ使えません。このファイルを解凍する必要があります。よし、パソコンを電子レンジに入れてっと・・・違います!(大汗)。解凍とは圧縮されているファイルを元に戻すことです。Windows10には標準で.zipファイルを解凍する機能がありますが他のバージョンをお使いの方は別にWinZipなどのファイル解凍ソフトを用意してください。
図0-5.ダウンロードが完了した状態
図0-5.ダウンロードが完了した状態

 ここでどちらの場合もtbw151set.zipという部分をダブルクリックすると圧縮ファイルが解凍されの中味が表示され、図0-6.のようにTBasicというフォルダが表示されます。実はこの中にTBasic.exeというファイルがあり、これをダブルクリックすればTiny BASIC for Windowsは起動します。ただ、Windowsを熟知されている方はそれでもいいのですが、ファイルパス等の知識があいまいな方は、このままだとこれからのプログラミング実習でいろいろ困難な場面が発生しますので、実習に都合のいいようにしておきましょう。一刻も早くプログラミング実習に入りたいという方もいらっしゃると思いますが、ゴールは目の前です。もう少しだけご辛抱ください。
図0-6.実習用フォルダを作る
図0-6.実習用フォルダを作る

 図0-6のTBasicというフォルダを、ご自分のパソコンをお使いの方は、ドキュメント(マイドキュメント)フォルダの中に、共用パソコンをお使いの方はUSBメモリなどの外部ストレージにコピーしましょう(図0-7)。
図0-7.TBasicフォルダをコピーする<br />
図0-7.TBasicフォルダをコピーする

 コピーされたTBasicというフォルダをダブルクリックします。このフォルダの中にTBasic.exeというファイルがあります(図0-8)。これがTiny BASIC for Windows本体です。これをダブルクリックすれば起動します。
図0-8.Tiny BASIC for Windowsの準備完了
図0-8.Tiny BASIC for Windowsの準備完了

 では、ちゃんと起動できるかどうか確認してみましょう。今コピーが完了したTBasic.exeをダブルクリックします。図0-9のような画面が表示されることがありますが、この場合「詳細情報」をクリックします。すると図0-10の画面になりますから、ここで「実行」をクリックします。
図0-8.Tiny BASIC for Windowsの準備完了
図0-9.提供元が不明なソフト(アプリ)が不明な場合の警告

図0-10.実行をクリック
図0-10.実行をクリック

 この警告は、インターネット上に公開されているソフト(アプリ)でリリース時に制作者の名前が明かされていない場合に表示されます。このTiny BASIC for Windowsについては実行してもこれが原因の不具合は発生しないので(筆者確認)、そのまま実行してください。
Tiny BASIC for Windows起動直後
図0-11.Tiny BASIC for Windows起動直後

 起動すると図0-11のような画面になります。ここで右の画面(背景が白い方)を編集画面といいます。プログラムの作成や修正などの編集を行います。左の画面(背景が黒い方)を実行画面といいます。編集したプログラムを実行してみた結果が表示されます。
 起動が確認できたら終了しましょう。終了するときは編集画面右上の×をクリックするか編集画面左上の方にある「プログラム」をクリックし、表示されるメニューから「終了」をクリックします。

はじめに

[ご注意ください]

 このカテゴリーは、Tiny BASIC for Windows(takeuchi氏制作)を使ってコンピュータのプログラミングをやってみましょう、という趣旨のサイトです。主として
(1)Word、Excel等でパソコンはある程度使っているけど、自分でプログラムを作ったことはない
(2)小学校でプログラミング教育を担当することになったけどプログラミングって何をどう考えたらよいのかわからない
(3)昔、BASICでプログラムを作っていたが、最近のBASICはやったことがない
という方のために立ち上げました。
 申し訳ありませんが、パソコンに触れるのが全く初めてという方(電源ってどうやって入れるの?、キー操作がわからない)は対象にしていません。そういう場合は、最初にお使いになるパソコンの取り扱い説明書等で確認しておいてください。
最新のプログラミング言語をマスターすることは目的としていませんのでご了承ください。
 ページ中のサンプルはWindows10パソコンにインストールしたTiny BASIC for Windowsで作成したものです。Windowsの他のバージョンをお使いの方は、多少表示が異なる部分があることをお含みおきください。
 当カテゴリーはプログラミングを通して、コンピュータのことをもっと知ろう、という方々も対象としています。筆者が勤務する富山大学人間発達科学部の学生で教養科目の「コンピュータの話」「情報処理」などをすでに履修した方にとっては、これらの授業で学んだことと重複する部分もありますが、当カテゴリーの趣旨をご理解ください。

[学習の目安]


 プログラミングに限りませんが、何かを勉強しようと決心して入門書や技術書を買ったものの、最後まで読まずに途中で放置、などということはよくあります(筆者宅にもそういう本が30冊くらいあります・・・大汗)。そうでなくても解説書や技術書というものは「今必要なのはこの章とこの章なのでそこだけ先に読もう」というのが普通です。(ここまで含めると必筆者宅には100冊以上・・・滝汗)
 ということで当カテゴリーは、目的によって最初から最後まで読破していただかなくても読者様の目的が達成できるようにしています。およその目安は次のとおりです。


(1)小学校のプログラミング教育ご担当でコンピュータのプログラミングは全くやったことないという先生方のためのプログラミング入門、プログラミング的思考を身に付けたい方、


 第0章~第10章(今は飛ばしてもいい箇所あり)
※勉強に必要な時間は、1時間/日として1週間程度

(2)コンピュータを使うメリットを生かしたプログラミングをやってみたい方

 第0章~第14章(今は飛ばしてもいい箇所あり)
※勉強に必要な時間は、1時間/日として2週間程度

(3)せっかく買ったパソコン、自作のプログラムで自由に使いこなしたい方

 はじめに~第0章~第15章~おわりに(すべての内容を読むことが望ましい)
※勉強に必要な時間は、2時間/日として2週間程度

(4)昔、BASICでプログラム自作を趣味にしていたけど今のBASICはどういうものか知りたい方

【昔はよかったなぁ】コーナー
※勉強に必要な時間は、30分/日として5日間程度

[学習上のアドバイス]


 筆者の経験で言えば、プログラミングの勉強はスポーツや楽器の練習と似ているところがあり、練習・習熟が大切です。自分でプログラミングができるようになるには、各章の内容を読むだけでなく、サンプルプログラムを実際に作って動かしてみる、各章の学習が終わったところでそれまでの知識で作れるプログラムを自分で考えて作ってみることが大切です。
 第13章まで修了すれば、簡単な知育ゲーム、脳トレゲーム、第16章まで修了すれば、一般的な事務処理プログラムも作れるようになります。ぜひ読むだけでなく、自由にプログラムを作りながら楽しく勉強しましょう。


[BASIC言語]

 コンピュータの中味は膨大な数の電気スイッチです。なので本来コンピュータに何か仕事をさせるには、電気のON/OFFを0と1に置き換えたもの(機械語)で指示を与えなくてはなりません。しかし下のような機械語プログラムはコンピュータには理解できても、私たちがこれをわかるようになるためには、使うコンピュータの内部構造についてかなり専門的な知識が必要な上にこの方法でプログラムを作るには膨大な時間がかかります。

         00111000
         00100111
         00011011

      機械語によるプログラムのイメージ

 コンピュータが電子工学の専門家や数学者によってのみ使われていた時代ならともかく、1946年に世界最初の電子計算機ENIACが誕生してわずか10年後には、コンピュータの専門家でなくてもプログラミングができるようなツールが求められるようになりました。こうして生まれたのがプログラミング言語(人間にわかりやすい言葉で書かれたプログラムを機械語に変換するツール)です。科学技術計算向けのFORTRAN、事務処理向けのCOBOLが1950年代半ばに次々と発表され、1964年にはアメリカのダートマス大学で、数学者・教育者のジョン・ケメニー(John G. Kemeny)とトーマス・カーツ(Thomas E. Kurtz)により文系の学生でも比較的に容易にプログラミングができる言語が発表されました。その言語はBeginner's All-purpose Symbolic Instruction Code(初心者向け汎用記号命令コード)という名称で、頭文字をとってBASICと呼ばれるようになりました。BASICはその後、1970年代後半には、パソコン(当時はマイコンといいました)に標準で搭載されるプログラミング言語としてそのユーザーを増やしてゆきましたが、あくまでゲームプログラムなどホビー用としての需要が高く、これで研究用・実務用のプログラムが作成されることはあまりありませんでした。
 しかし2000年以後にアメリカのマイクロソフト社がVisual BASICを発表すると様相が一変しました。Visual BASICはそれまでのBASICでは出来なかった構造化プログラミングを可能にし、またWindowsフォームが簡単に扱えるという特徴があり、実務プログラムの作成にも充分耐えられるものでした(現在のバージョンはVisual BASIC 2019、2020/03/22現在)。そして最近、BASICが再び入門用プログラミング言語として脚光を浴びるようになってきました。

[当カテゴリーで用いるTiny BASIC for Windowsについて]

 「Tiny BASIC」という名前を聞いて「懐かしい」と思われた方は、たぶん私と同世代以上で、昭和55~60年頃にご自分でゲームプログラムなどを作ったことのある方でしょう。これは元々はその頃発売されたパソコンに搭載されていたBASICの総称です。その後に標準搭載になったマイクロソフト系のBASICに比べて使える命令や関数が少なかったり変数名や配列名などに制限があったりしたもののプログラミングに必要最小限の機能は備わっていたため、当時はこれでプログラミングを勉強したユーザーも多かったものでした。
 これから使おうとしているTiny BASIC for Windowsは、現在のWindowsパソコンで使えるBASICのひとつです。「Tiny BASIC」という名前になっていますが、昔のTiny BASICとは比較にならないほど機能が充実している上に、昔のBASICでは困難だった「構造化プログラミング」も可能になり、かつマイクロソフトのVisual BASICとの互換性も高いものです。
 ですから、昔Tiny BASICをおやりになったことがある方は、名前は同じでも全く違うBASICとお考えいただいた方がよろしいかと思います。尚、当カテゴリーで、これ以後「Tiny BASIC」といった場合、とくにことわりがない限り「Tiny BASIC for Windows」のこととします。
 また当カテゴリーは、学校で「プログラミングの授業をやらなくてはならなくなった。でも自分でコンピュータのプログラムなんて作ったことないし、プログラミング的思考なんて言われてもなんのことかわからない。何とかひととおりプログラミングをやってみなきゃ。期間は1週間しかない」という先生方のことも考えて作りました。したがってTiny BASICのすべての機能についてお話するわけではありません。Tiny BASICは制作者のtakeuchiさんが、完全なマニュアルと入門書を公開されています。「急いではいないのでコンピュータのプログラミングを初歩から上級レベルまでがっちり勉強したい」という方はそちらをご覧ください。

Tiny Basic for Windows home page
http://www.tbasic.org/

 また当カテゴリーの記事は筆者が本業(あくまでピアノの先生です。「その顔でかよ!」と突っ込まれそうですが)の合間を見つけて書いています。1日1記事を目標にしたいとは思いますが、そうはいかない時もあります。全部書き上がるのは2021年のGWくらいになるかもしれないことをお含みおきいただけますと幸いです(冷汗)。

- CafeLog -