| 基礎解説 チェック式 WSH入門 第4回 3.数値演算関数を使いこなすMicrosoft MVPVisual Developer - Scripting 牟田口 大介 2006/08/18 |
![]() |
|
|
|
数値演算関数 その1(三角関数)
連載第3回では、算術演算子を用いて数値の計算をする例を取り上げたが、これから説明する数値演算関数を用いれば、もっと複雑な計算も可能になる。
三角形の面積を求める公式として、「1/2×(辺1の長さ)×(辺2の長さ)×sin(辺1、辺2に挟まれる角度)」というものがある。この公式を利用して三角形の面積を算出するには、Sin関数を用いればよい。Sin関数の引数に指定する角度の単位はラジアンである。従ってディグリー(度)から変換するには、π(≒3.14)/180をかける必要があるが、πはAtn関数(アークタンジェント)を使うことで求められる。
例えば、三角関数を使って次の三角形の面積を求めてみよう。
![]() |
| 三角形の図 |
| この三角形の面積を、公式を使って求める。 |
スクリプトは次のようになる。
Option Explicit |
実行結果は次のとおり。
![]() |
| Sin関数の使用例 |
| Sin関数を使って三角形の面積を求める。 |
このように、三角比を含むような数式も数値演算関数を使って求められる。変数の接頭辞dblは、倍精度浮動小数点数型(Double)といって、小数点以下の数値を含むデータ型に付ける変数名である。なお、Sin関数のほかにもCos、Tan関数や、平方根(√)を求めるSqr関数などがある。
数値演算関数 その2(数値の丸め)
先ほどの例の結果は小数点以下の数字が多く表示されて分かりづらい。そこで、少ない小数点のけた数で丸めるために用意されているのがRound関数である。先ほどの例の最後の行を次のようにしてみよう。
MsgBox "辺1=5cm、辺2=7cm、両辺の作る角が60°の三角形の面積は、" & Round(dblArea, 2) & "平方cm" |
実行結果は次のようになる。
![]() |
| Round関数の使用例 |
| 指定された小数点位置で丸められる。 |
この例では、Round関数で小数点以下第2位までを表示するようにしている。
数値演算関数 その3(乱数)
数値演算関数でほかによく使うものは、乱数を発生させるRnd関数であろう。乱数とは、取り出すたびに異なるようなランダム(無作為)な数値のことで、Rnd関数を使うと、0以上1未満の乱数を得ることができる。
Option Explicit |
上記のスクリプトを3回実行してみた。このように、実行するたびにランダムな数値が得られる。
![]() |
![]() |
![]() |
| Rnd関数の実行例 | ||
| 1〜100の乱数を発生させている。画面はスクリプトを3回実行した結果。実行するたびに異なる数値が得られていることが分かる。 | ||
乱数は機械的に発生させるものだが、種(シード)と呼ばれる数値だけは指定しないと、いつも同じ乱数を発生させてしまう(逆にいえば、同じ種を指定することで、同じ乱数系列を取得できる)。そこでこのサンプルでは、Randomizeステートメントを使って、乱数の種をシステム・タイマーから取得して、乱数系列を初期化している。これで実行するたびに異なった乱数が発生するというわけである。
Rnd関数の戻り値に(最大値−最小値+1)をかけ、最小値を足すことで、最小値〜最大値の範囲のランダムな値を取得できるので覚えておこう。
なお、Rnd関数は引数に乱数系列を指定する値を取るが(詳しくはヘルプ参照)、引数を省略してもよい。このように引数がない関数を使うときは、( )を付けても付けなくてもよい。
上記スクリプトでは、最後に整数値に変換するためにInt関数を用いている。この関数は、小数値の整数部分を返す。
ここで例題を1つ出そう。虹の7色から今日のラッキーカラーをランダムに選ぶスクリプトを考える。文字列処理関数と数値演算関数の組み合わせがポイントとなる。
Option Explicit
|
スクリプトの実行結果は次のとおり。
![]() |
![]() |
![]() |
| ラッキーカラーを表示するスクリプト | ||
| 虹の7色からランダムに1色を取り出し表示する。3回実行した結果。 | ||
この例では、Mid関数の引数にRnd関数の戻り値を用いることで、文字列からランダムに文字列を取得している。このようにRnd関数はゲームなどに応用できる。ほかにもこれまでに登場した関数を組み合わせて、自分なりのゲームを考えてみるのも楽しいだろう。
| INDEX | ||
| [基礎解説]チェック式 WSH入門 | ||
| 第4回 関数を使いこなす(その1) 文字列、数値、日付を扱う関数 | ||
| 1.VBScriptの関数を使いこなそう | ||
| 2.文字列処理関数を使いこなす | ||
| 3.数値演算関数を使いこなす | ||
| 4.日付処理関数を使いこなす | ||
| 基礎解説 |
TechTargetジャパン
- WebサーバのSSL証明書が「正しい」か確認する (2012/2/10)
SSLに必要なサーバ証明書の取得/インストールのミスはWebサイトの信頼を失墜させかねない。証明書ベンダ提供のツールで手軽かつ確実にチェックしよう - クライアントでも利用可能になるHyper-V 3.0とは? (2012/2/9)
Windows 8では、従来のWindows Virtual PCに代わって新しくHyper-V 3.0がクライアント向けにも導入される。その概要を解説 - 第303話 ペアプロ2 (2012/2/7)
あっ、またまたいつぞやの幽霊が! …っと思ったら、何だ倉井さんかぁ…。はぁー、驚いた… - Excelで郵便番号変換ウィザードを活用する (2012/2/3)
Excelで管理している顧客名簿などで、不足している郵便番号や住所を入力するのは意外と面倒。郵便番号変換ウィザードを使えば、これらの入力が簡単になる
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -










