第5回 プログラミングの基礎
 
 
     今回はプログラミングの基礎と題して、『WIN版・桐』に関係なく、プログラミング一般に関する内容をお話ししたいと思います。

 プログラムというと、まず最初に体育祭などのプログラムを思い出しますが、体育祭のプログラムには、開会式でのあいさつの順番や演技・競技の順番、閉会式での順位発表やあいさつの順番が書かれており、この順番に『あいさつ』や『競技』などが行われるわけで、これもプログラムとよばれています。

 プログラミングとは種々の処理の実行順序が書かれた手順書を作成することであり、コンピュータ関係の用語としては、命令語を並べたものを『プログラム』と読んでいます。

『WIN版・桐』では『プログラム』のことを『一括処理』とよんでいて、『会話処理』で行っていた一つ一つの処理を一括して行うことができるようになっています。

 実世界で行っている仕事を、人間に代わってコンピュータに実行させる場合、その実行の手順書である『プログラム』をコンピュータに与え、指示しなければならないわけです。

プログラムを作成する場合、いくつかの命令を組み合わせて一つのブロックとして、それを積み重ねるようにプログラミングするということが行われます。これを構造化プログラミングといいます。

プログラミングには参考欄にまとめたように、『順次』・『選択』・『繰返』という3つの構造を組み合わせて作っています。

<<参考>>プログラミングの基本構造
順次 記述された命令を、上から順番に実行する
選択 条件の真偽に応じて実行する命令(または一連の命令)を選択して実行する
繰返 記述された命令(または一連の命令)を指定された回数または指定された条件になるまでくり返し実行する
前のページへ

ホームページへ 
 
         
  1. 第3回目の最後にまとめた内容をもう一度、ここに書いてみました。
順番 実行する操作の内容
1. 食品NOによって食品を決定する。
2. その食品NOのデータをデータベースから絞り込む。
3. 絞り込んだ結果、表示された食品の各項目データを、コンピュータのどこかに記憶させる。
4. その食品を何g摂取したかを入力し、コンピュータに伝える(コンピュータは伝えられた値をどこかに記憶しなければならない)。
5. 3.と4.で記憶させたデータを用いてその食品NOのそれぞれの栄養素の摂取量を計算する。
6. 5.で計算した個々の栄養素の摂取量をどこかに記憶させる。
7. 1.から6.までの処理をくり返し、6.で記憶させた場所に追加して記憶させる。
8. 終了を知らせるキーが押されたらば、個々の栄養素の総計を計算する。
9. 終了

プログラミング言語または『WIN版・桐』の一括処理コマンド(命令語)では書かれていませんが、見方を変えれば、これも立派な『プログラム』と見ることができます。

『変数の定義がされていない』など、若干の不備はありますが、先に説明した3つの構造に従って、『1〜6までは単純に上から順番に処理を実行する』ので『順次』構造、『7は1〜6までの一連の命令をくり返し実行する処理』ですから『繰返』構造、最後に『8・9は8で終了の条件を判断して、条件に一致すれば9で終了処理をさせ、そうでなければ7の処理により1〜6を繰り返し処理させる』という処理をしていますので『選択』構造を用いています。

今回、ここでは『WIN版・桐』の操作をしていませんが、『変数の定義(『WIN版・桐』では『変数宣言』)』、『変数への値代入』など、もう少し説明したいと思います。
 
         
  2. 上の手順書では『食品NO』やその食品の『摂取量』などを画面上から入力します。

打ち込んだ『値』はどこかに書き込んで保存しておかなければ、必要なときに利用できません。
このようなプログラムの中で用いるデータを一時的に保存しておく部分を変数といっています。丁度、ものを入れるための箱をイメージするとよいと思います。

多くのプログラミング言語で変数を利用する場合には、プログラムの最初の部分で『変数の定義』をしなければなりません。
『WIN版・桐』も同様に『変数の定義』が必要です。『WIN版・桐』では『変数宣言』というコマンドをプログラム(一括処理ファイル)の最初の部分に書きます。
   
         
  3.  変数に具体的な『値』を入れることを、一般的に『代入』とよんでいます。『WIN版・桐』でも『代入』というコマンドがあり、それを用います。

変数の表現の仕方は、言語によって色々ですが、仮に『A』という変数があり、ここに『125』という数値を入力する(代入)場合

A=125

と書きます。 

『WIN版・桐』の変数に関する詳細は後述しますが、『WIN版・桐』では変数の先頭には『&』をつけます。

従って、上の例を『WIN版・桐』では

代入 &A=125

と書きます。

代入というコマンドを省略して

&A=125

と書くこともできます。

『WIN版・桐』では、変数名に日本語も使えます(変数名として半角・全角に関わらず64文字まで利用可能)。

文字列型の変数 『&文字』 に『これは日本語のデータです。』という値を入力する場合に

&文字="これは日本語のデータです。"

と書きます。『&文字』と『&文字』は同じ変数です。
   
         
  4. それでは、今回、ここで始めて『WIN版・桐』の一括処理を書いてみましょう。

前述の2つのコマンドの他に、『キー入力』というコマンド『メッセージボックス』というコマンドを紹介しながら、簡単な一括処理を紹介します。

ファイルパレットから『一括・イベント』ボタンを押し、<新規作成>という部分をクリックします。




一括処理ファイルの名前と保存するフォルダを決めます。ここでは『C:\栄養計算』というフォルダに『test0001.cmd』という名前で保存することとします。ファイル名を入力したら『OK』ボタンを押して下さい。



新しい一括処理ファイルを開くと罫線で仕切られた細長いセルが表示されます。1つ1つののセルの中に次のコマンドを1行ずつ打ち込みます。




前回の実習で食品のデータを1件、1件入力したのと同様に、1行に一つのコマンドを入力していきましょう。

つまり最初の行には『変数宣言 固有 ,文字列{&文字変数}』という1行のみ記述します。

この説明で2行に表示されてしまいそうな『キー入力・・・・』というコマンドも1つの枠(1行分)で記述して下さい。

変数宣言 固有 ,文字列{&文字変数}
変数宣言 固有 ,数値{&数値1,&数値2}

&文字変数="これは文字変数の使用例です。"

メッセージボックス "TEST",&文字変数, ボタン指定=1,&数値2

キー入力 (1,1)-(25,80),プロンプト="何か好きな言葉を入力してください。" 終了状態=&数値1,&文字変数           /* 長すぎて2行に表示されていても、ここは1行です */
メッセージボックス "TEST",&文字変数, ボタン指定=1,&数値2

終了

すべて入力し終わったら、『名前をつけてファイルを保存』し、ファイルを閉じてください。

その後、作成したこの一括処理ファイルを実行してみましょう。

<<参考>>一括処理コマンド・数種の説明(概説)
コマンド 説明  
変数宣言 変数を宣言します。

『WIN版・桐』の変数には用途に応じて数種類の変数がありますが、ここでは『共通変数』と『固有変数』の説明をして、その後宣言の方法を説明します。

『共通変数』はその変数を宣言した一括処理の中だけではなく、それ以外の一括処理でも有効な変数で、『桐』を終了させるまで有効です。

『固有変数』は表またはフォームを開いている間だけ有効な変数で、表またはフォームを閉じると削除されます。
<書式>
変数宣言 共通|固有 変数の型 {変数名,・・・・}
<使用例>
1. 変数宣言 固有 ,文字列{&文字変数}
2. 変数宣言 共通 ,文字列{&文字変数}
3. 変数宣言 固有 ,数値{&数値1,&数値2}
   
1. 文字列型の&文字変数という固有変数を定義
2. 文字列型の&文字変数という共通変数を定義
3. 数値型の&数値1&と&数値2という固有変数を定義
 
代入
<書式>
代入 &変数=値
 
メッセージボックス
<書式> 
メッセージボックス タイトルに表示する文字列,メッセージボックス内に表示する文字列&, アイコン=!|?|E|i,ボタン指定=1〜6,&数値

アイコンに
『!』 感嘆符アイコンを表示します。
『?』 疑問符アイコンを表示します。
『E』 エラーアイコンを表示します。
『i』 情報アイコン(円の中に小文字i)を表示します。

ボタン指定=の後の数字の意味
OKボタンを表示します。
OK、キャンセルの2つのボタンを表示します。
中止、再試行、無視の3つのボタンを表示します。
はい、いいえ、キャンセルの3つのボタンを表示します。
はい、いいえの2つのボタンを表示します。
再試行、キャンセルの2つのボタンを表示します。

数値型変数(&数値)には押されたボタンの種類に応じて1〜7までの数が入ります。

数値型変数(&数値)に入る数値の意味
1. OK
2. キャンセル
3. 中止
4. 再試行
5. 無視
6. はい
7. いいえ
 
<使用例>
メッセージボックス "TEST",&文字変数, ボタン指定=1,&数値型変数
TESTというタイトルのメッセージボックスを開き、&文字変数の値を表示します。ボタンはOKのみ(1)表示し、押されたボタンに該当する値、ここでは『1』が数値型変数(&数値型変数)に代入されます。
 
キー入力 キー入力を促し、指定した変数に入力した値を文字列型の変数に代入します。

<書式>
キー入力 (開始行数,開始桁数)-(終了行数,終了桁数),プロンプト=表示する文字列,終了状態=&数値型変数,&文字型変数
 
<使用例>
キー入力 (1,1)-(25,80),,プロンプト="何か好きな言葉を入力してください。" 終了状態=&数値1,&文字変数
『DOS版・桐』の互換用コマンドです。

プロンプトで指定した文字列をダイアログの中に表示し、入力した値を文字列型の変数(&文字変数)へ代入します。入力があったときには数値型の変数(&数値1)に『1』が代入され、キャンセルが押されたときには『0』が代入されます。
 
     



















課題:
左の一括処理サンプルを理解した後に、食品NOを入力して、その値(今、入力した食品NO)をメッセージボックスで表示してみましょう。

<<ヒント>>
複数の文字列をつないで一つの文字列にする関数は#連結といいます。
#CATと表現することもできます。

使用例は次の通りです。
#連結("入力した食品NOは",&食品NO,"です。")
 
 
         
    前のページへ    
    ホームページへ