連載
» 2006年07月27日 00時00分 公開

基礎解説 演習方式で身につけるチェック式WSH超入門:第3回 VBScriptの基本を押さえよう(その2) 計算と分岐処理 (1/2)

VBScriptプログラミング基本編その2。今回はVBScripによる計算処理と条件分岐処理を解説。「アハ体験」ができる「チェック式」も大好評。

[牟田口大介(Microsoft MVP Visual Developer - Scripting),著]
基礎解説 演習方式で身につけるチェック式WSH超入門
Windows Server Insider


「基礎解説 演習方式で身につけるチェック式WSH超入門」のインデックス

連載目次

 今回は、前回に引き続きVBScriptの基本について学習する。具体的には、VBScriptを利用した計算処理と分岐処理について説明する。

WSHを電卓代わりに使ってみよう

 VBScriptで数値計算を実行するにはどうするか。例として、コンピュータに簡単な計算をさせて、その結果を表示させてみよう。ここではまず、簡単な掛け算の式、12×6を計算してみる。

Option Explicit
Dim x
x = 12 * 6
MsgBox x

 結果は次のようになる。

計算結果を表示したメッセージ・ボックス
12×6の答え、72が表示されている。

 このように、12×6の答え、72が表示される。

 2行目の変数宣言「Dim x」は、前回の文字列の場合と同じである。前回はxという変数に文字列を代入したが、今回は3行目で変数xに「12×6」の答えを代入している。なおVBScriptでは、掛け算をするには×ではなく、半角記号の*を用いる。*のような算数の計算をさせるための記号を算術演算子という。ほかの算術演算子については以下の表を参考にしてもらいたい。

演算子 演算の種類
+ 足し算
- 引き算
* 掛け算
/ 割り算
\ 割り算の商(整数部分)
mod 割り算の余り
^ べき乗
- マイナス符号
VBScriptの演算子

 なお、MsgBox関数の引数には、通常は文字列や文字列の変数を指定するのだが、4行目のように数値の入った変数(この例では「x」)を指定した場合には、値の数字が文字列として表示されるようになっている。

 次にもう少し込み入った計算をしてみよう。次のような台形があるとき、その面積がどうなるかを計算してみよう。

台形の面積を求める
VBScriptを使って、この台形の面積を求めてみよう。

 台形の面積を求める公式は、「(上底+下底)×高さ÷2」であるので、それをそのままVBScriptの文で書くと次のようになる。

Option Explicit
Dim Area
Area = (5.1 + 8.3) * 2.5 / 2
MsgBox Area & "平方cm"

 このスクリプトを実行すると、台形の面積、「16.75平方cm」が表示される。ここで注意していただきたいのは、VBScriptにおける計算は、算数の計算と同じく、+、−より*(積算)、/(除算)が先に実行されるという点である。そのため、台形の面積を求める際、上底と下底の和は( )の中に入れ、先に計算させるようにする。

 4行目で & を使って数値を格納している変数と文字列を連結しているが、このようにすると、数値は文字列に変換されて連結される。

 ではここで例題を1つ出そう。11人のサッカー選手がいるとする。その身長と体重が以下の表のようになっているとき、それぞれの平均を求めてみよう。

身長(cm) 体重(kg)
175 72
181 77
178 73
181 77
176 72
178 69
187 78
177 75
180 77
173 63
179 78
とあるサッカー・チーム・メンバーの身長と体重のデータ

 

CHECK!

マーカーで隠れたところを選択してチェックしてみよう。


Option Explicit
Dim Height, Weight
Height = (175 + 181 + 178 + 181 + 176 + 178 + 187 + 177 + 180 + 173 +179) / 11
Weight = (72 + 77 + 73 + 77 + 72 + 69 + 78 + 75 + 77 + 63 + 78) / 11
MsgBox "平均身長:" & Height & "cm" & vbCrLf & _
"平均体重:" & Weight & "kg"

 変数がHeight、Weightと2つある場合でも、上のようにそれぞれについて平均値(合計を項目数で割る)を計算して求めればよい。

 ごく簡単な例だが、WSH(VBScript)を電卓の代わりとして使えることがお分かりいただけたと思う。


       1|2 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。