- 2007年7月29日 07:41
こんにちは。情報システム科担当の石原です。
VBSを使ったプログラム作成講座の7回目をお送りします。前回(誰でもプログラマーへの道 No.006参照)は、「反復」という同じ処理を繰り返し行うプログラムの作成を行いました。
この処理のための命令文としてwhile文を使用しました。
これは条件の間処理を繰り返すというという文でした。
今日はfor文を使った繰り返しのプログラムを作成してみましょう。
では次のプログラムをメモ帳で作成してみましょう
num = inputbox("1~9の数値を入力してください","数値入力")
for i=1 to 9
msg = msg & i & "×" & num & "=" & (num*i) & vbcr
next
msgbox msg,,"かけ算"
入力ができたら「名前を付けて保存」します。
保存の名前は「ren007.vbs」とし、ファイルの種類を「すべてのファイル」に変更します。
保存する場所(フォルダ)は自由ですが、すぐに実行確認したいなら「デスクトップ」に保存しておくのが良いでしょう。
保存したren007.vbsのファイルをダブルクリックしましょう。1~9までの数値を入力してOKをクリックしましょう。

もし違うメッセージが表示された場合はプログラム入力ミスです。スペルミスなど無いか確認しましょう。
このプログラムを説明していきましょう。
1行目では、inputboxを使ってデータを入力します。入力したデータはnumという変数(箱)に代入されます。
2行目では、for文を使って繰返し処理を行います。for文は、初期値設定した変数に1ずつ加算しならがら、nextまでの処理を繰り返し、終了値まで処理を続けます。
forの直後に記述されている「i=1」が「初期値設定」であり、初めに1回だけ処理され、iという変数に1を代入します。また、toの後の「9」は「終了値設定」であり、初期値設定した変数iの値が9まで処理を繰り返すという意味になります。
つまり、2行目の処理は変数iに1ずつ加算しながら9回繰返す処理ということを意味しています。
3行目では、msgという変数に文字を格納しています。
どのような文字列を格納しているかというと「i×mun=num*i(改行)」という文字を格納しています。
たとえば変数iが3で変数numが6の場合は「3×6=18(改行)」と表示します。変数iは1~9まで変化します。変数numは入力した値です。
ということは、入力した値の段の九九表示がされるプログラムを作成したのです。ちなみに「vbcr」は改行のための文字で、メッセージボックス内で改行を行う場合に使用します。
また、繰返しの処理で1~9までの段を順番に作成しているので、変数msgに作成した文字列に追加するために「msg = msg & ~ 」という記述になっています。
5行目では繰返し処理で作成した変数msgの値を表示しています。このプログラムではイメージ力が非常に大切になります。頭の中でこのプログラムの動作を確認し、そして実行した結果と予想した結果が同じだったのか?そんなことをするのがプログラムを楽しむポイントです。
それではここまでの知識を活かして、次の課題を作成してみましょう。
保存ファイル名:ex007.vbs
問題:
以下の流れのように、値を入力してボタンをクリックすると、1から値までの奇数をすべて表示するプログラムを作成しなさい。

繰返し文を使った処理を理解するためには処理の流れをイメージする創造力が必要です。このイメージ力=プログラム作成能力といって良いかもしれません。
while文、for文以外にも繰返し文は存在しますが、この2つ知っておけば、他の繰返し文にも対応できます。VBSには今まで経験した文(if、while、for)や関数(now、dateなど)を使って作成するプログラムであるということが理解できたかと思います。
また、次回は新しいプログラムを作成してみましょう。なお、プログラムに関するご質問があればakito@technos.ac.jpまでご連絡くださいね。
<<誰でもプログラマーへの道 No.008へ続く>>
■001~006までの復習は右にあるカテゴリーの「23情報システム科」をクリックして下さい。■




