2012年04月01日

命令文の書き方 その2:助詞その他

■助詞

動詞と引数の他に、もう一つ文字がありますね。そう、助詞の「を」です。この助詞は、とても重要な命令文の要素で、これが正しく書かれていないと、プログラムが正常に動きません。
例えば、

「おはよう」を表示する

これを、

「おはよう」表示する

というふうに、助詞の「を」を削除して実行してみて下さい。…エラーになりますね。
※この助詞は、命令文の種類によって違ってきます。それについては、また後ほどということで、とにかく、

引数 助詞 動詞

この三つの要素が欠かせないということだけ、ここでは覚えておいて下さい。

■引数の数と助詞

命令する時に与える情報=引数は、ひとつとは限りません。たとえば、

「文章.txt」をデスクトップへコピーする

この命令文には、「コピーする」という動詞=命令に対して、二つの情報=引数が与えられています。「文章.txt」というファイル名と、「デスクトップ」というコピー先の情報です。意味は、「文章.txt」という名前のファイルを、デスクトップ(フォルダ)へコピーしなさい、となります。
…って そのまんまですね。助詞は「を」に加えて、新しい助詞「へ」が登場しました。でも、日本語なので 特に説明しなくても、すぐにわかると思います。この辺が日本語プログラミング言語の良い所です。

※プロデルでは、Windowsの基本的なフォルダ デスクトップ マイドキュメント などを、フルパスではなく、省略した汎用的な形で記述して、情報を取得したり、操作することが出来ます。
参考:
リファレンス > 広域種類 > 基本フォルダ
http://rdr.utopiat.net/docs/reference/core/folderlist.htm

■引数の順番

先ほどの命令文、

「文章.txt」をデスクトップへコピーする

この中の、ファイル名とコピー先の情報=引数の順番を入れ替えてもOKです。ただし、引数と助詞は正しく記述する必要はありますが。

デスクトップへ「文章.txt」をコピーする

ま、これを、

デスクトップを「文章.txt」へコピーする。

と書く人はいないとは思いますが。もちろんエラーになります。

■句読点

日本語の文章には「句読点」がつき物です。プロデルの命令文にも、句読点を付けることが出来ます。

「文章.txt」を、デスクトップへコピーする。

こう書いてもきちんと動作します。
また、読点= 。 を付けると、一行に複数の命令を書くことが出来ます。
※ただ、このやり方は、慣れていないと、プログラムがわかりにくくなってしまう可能性があります。ちなみに私は一行に複数の命令を書くことはしていません。ま、こういう書き方もある…ということで。次の文はひとつの例です。

デスクトップへ、「文章.txt」をコピーする。「完了」を表示する。

■動詞の送りがな

プロデルでは、動詞=命令の送りがなは意味を持ちません。例えば「表示する」の場合だと、「表示」の部分だけで命令が完結しているため、そのあとにどんな文字列を加えても「表示」という命令には影響を与えません。ただし、あまり変な文字列を加えるとエラーになることがありますので、常識の範囲内で。

(例) 
「おはよう」を表示
「おはよう」を表示しろ
「おはよう」を表示しなさい
「おはよう」を表示して下さいお願いですから → これはエラーになります。

■動詞の否定形

否定形とは、「〜しない」「〜するな」などのように、これをするなという形の命令文です。プロデルでは、この否定形に対応していません。つまり、こういう形での命令文は書いてはいけないということです。たとえば、「表示しない」「表示するな」と書いても「表示」の命令が実行されてしまいます。
posted by yanikun at 05:57| Comment(0) | TrackBack(0) | produire

2012年04月02日

変数を使う その1

■変数

「変数」というのは、変な数のこと…ではありません。町内の変質者の数…でもありません。あ、そういう説明はムダだからもういいよって、そうですね。すいません。
「数」とは、数値のことではなく、情報を入れる箱のようなもの、と先に引数の所で説明しました。変数の「数」も、もちろん 同じ意味です。
そして、「変」は、変化するという意味で、まとめると、変化する情報を入れるための箱ということになります。
文章で説明するよりも、具体的な例に沿って説明した方がわかりやすいと思いますので、以下をどうぞ。

メッセージは、「こんにちは」
メッセージを表示する

上の2行の命令文のうち、1行目の「メッセージ」が変数=箱です。そして、その「メッセージ」という変数=箱の中に「こんにちは」という情報を入れました…というのが、1行目の命令文です。

このように、

変数の名前(変数名) は、「なんたらかんたら(箱の中に入れる情報)」

と書くことによって、変数=箱を作り、その中に情報を入れる、という二つの作業を同時に行なうことが出来ます。そして、変数という箱の中に情報を入れることを「代入」と言います(格納とも言います)。

次に2行目を見ていきましょう。

メッセージを表示する

この 2行目の「メッセージ」は、既に「こんにちは」という情報が入った状態の変数=箱です。ですから、「メッセージを表示する」という命令文は、「メッセージ」という変数の中に入っている情報を表示しろ、と言っているわけです。そして、当然 先ほど入れた「こんにちは」という情報が表示されます。

ここで、1行目の メッセージは、「こんにちは」 の「こんにちは」を別の言葉に書き替えて試してみて下さい。書き替えたとおりの言葉がダイアログボックスに表示されるはずです。

コンピューターというのは、実に素直なヤツです。人間みたいに、本当は違う情報を持っているのに、わざと別の情報を相手に伝えるなんてことは絶対にありません。
「そろそろしゃべったらどうだ? 全部吐いて楽になれよ」なんてセリフも必要ありません。…だから、そういう説明は要らないって。

■変数の命令文の書き方

変数名には、日本語またはアルファベットを使うことができます。したがって、先ほどの命令文は、次のように書くことも出来ます。カタカナの「メッセージ」を、英語の「message」に置き換えてあります。

messageは、「こんにちは」
messageを表示する

また、情報を代入する時は、次のような書き方をすることも出来ます。

メッセージを、「こんにちは」とする
メッセージ=「こんにちは」
メッセージへ「こんにちは」を代入する

他に変数の名前には、漢字・ひらがな・カタカナ・全角半角英数字を使うことが出来ます。逆に、こういうものは変数には使えないというものを下に挙げておきます。

× 変数の名前に使えないもの 
全角・半角数字のみ  例:123
全角・半角数字で始まるもの 例:2009年データ
スペースや括弧、「!」などの記号が含まれるもの 例:!ファイル
改行やタブなどの制御文字が含まれるもの
+−などの演算記号が含まれるもの 例:1−3組
posted by yanikun at 06:33| Comment(0) | TrackBack(0) | produire

2012年04月04日

変数を使う その2

■変化する変数 Part 1

メッセージは、「おはよう」

と書くと、「メッセージ」の中身の情報は「おはよう」に固定されますが、これをその時の状況やユーザーの操作に合わせて変化させることも出来ます。と言うか、むしろそのためにあるのが変数と言った方がいいかもしれません。

たとえば、いろいろなソフトやホームページなどで、パスワードを入力させるようなプログラムがあります。
これはまだ先の話になるのですが、ウィンドウを作って、その中にパスワードを入力するためのテキストボックスを配置したとします。
仮に、パスワードを入力するボックスの名前を「パスワード欄」という名前にします。すると、パスワード欄にユーザーが入力したパスワードを表すプログラムは次のようになります。

パスワードは、パスワード欄の内容
パスワードを表示する

パスワードは、ユーザー一人に一つが原則ですから、ユーザーが10人いれば、10通りのパスワードが存在します。当然、ユーザーごとに、パスワード欄に入力する文字列が変わってきます。それでも、上記のプログラムのように変数を使うことで、その全てに対応することが出来るわけです。

■変化する変数 Part 2

パソコンには時計が付いています。その情報は、通知領域(タスクトレイ)に表示されているほか、PC-Talkerのコマンドでも取得することが出来ます。
日付や時刻は、文字通り 刻々と変化しています。その日時の情報を変数に格納して表示することが出来ます。
説明の前に、とりあえず下ノプログラムをデザイナに書いて実行してみて下さい。現在の日付と時刻が、ダイアログボックスで表示されるはずです。

値は、今日
値の日付を表示する
値の時刻を表示する

このプログラムでは、「値」が変数名です。そこに入っている情報は「今日」となっています。この「今日」というのは、プロデルで現在の日時を取得するためのおまじない(のようなもの)です。

つまり、「値」という変数の中に、現在=リアルタイムの日時という情報が入っていることになります。
そして、続く 2行目 3行目のプログラムによって、「値」という変数の箱に格納された情報を取得しています。

値の日付を表示する … (現在の日時の)日付を表示する
値の時刻を表示する … (現在の日時の)時刻を表示する

変数については、文章で説明されたものを読むよりも、実際にプログラムを作り 動かしていく過程で、だんだん どういうものか、どう使うのかということがわかってくると思いますので、説明はこの辺で。

posted by yanikun at 07:46| Comment(0) | TrackBack(0) | produire