条 件 式
じょうけんしき
と真偽値
し ん ぎ ちプロジェクトとフォームの名前な ま えを『2rac06』として、Visualビ ジ ュ ア ル BasicベーシックでWindowsウ ィ ン ド ウ ズアプリケーションを作成さくせい し、デスクトップに保存ほ ぞ んする。 フォームに、下したの図づのように、ラベル 1個ことテキストボックス 1個ことボタン 1個こを配置は い ちする。 コントロールには、それぞれのコントロールを 表あらわすプレフィックスに続つづけて、ラベルとテキストボッ クスには結果け っ かを意味い みするResultリ ザ ル トを、ボタンには調査ちょうさを意味い みするCheckチ ェ ッ クと言いう名前な ま えを付つける。 また、プロパティを設定せっていして、ラベルには『けっか』(漢字か ん じでも良よい)、ボタンには『ちょうさ』(漢字か ん じで も良よい)と表示ひょうじされるようにする。また、フォントや背 景 色はいけいしょくや前 景 色ぜんけいしょくは好このみに合あわせて設定せっていする。 VB 2005
道場
ラベル Label (Name):lblResult テキストボックス TextBox (Name):txtResult ボタン Button (Name):btnCheck ※ ここ迄までで分わからない事ことがあれば、もう一度い ち ど、最初さいしょから勉 強べんきょうし直なおして下ください。今回 こんかい は、btnCheck と言いう名前な ま えを付つけたButtonボ タ ンオブジェクトをクリックした時ときに、下記か きの事ことを 行おこなうコー ドを書かいてみよう。 1.Numberナ ン バ ー1 と言いう整数型せいすうがたの変数へんすうに 100 を代 入だいにゅうする。 2.Numberナ ン バ ー2 と言いう整数型せいすうがたの変数へんすうに 200 を代 入だいにゅうする。 3.Numberナ ン バ ー3 と言いう整数型せいすうがたの変数へんすうに 300 を代 入だいにゅうする。 4.Wordワ ー ド1 と言いう文字列も じ れ つの変数へんすうに『だい』を代 入だいにゅうする。 5.Wordワ ー ド2 と言いう文字列も じ れ つの変数へんすうに『ちゅう』を代 入だいにゅうする。 6.Wordワ ー ド3 と言いう文字列も じ れ つの変数へんすうに『しょう』を代 入だいにゅうする。 7.上うえの変数へんすうを用もちいた条 件 式じょうけんしきの判定はんていを表示ひょうじする。 上 うえ に書かかれている事ことは、7を除のぞき、今迄いままでに出でて来きた事ことである。下記か きの事ことを覚おぼえていれば、とくに問題もんだいは ないと思おもう。 ・変数へんすうは、使用し よ うする前まえに、 必かならず使用し よ うする事ことを宣言せんげんしなければならない。 ・変数へんすうを宣言せんげんする時とき、その変数へんすうにどのようなデータ( 値あたい)を入れるかも同時に宣言せんげんする。 ・代 表 的だいひょうてきなデータ型がたには、整数せいすうと実数じっすうと文字列も じ れ つがある。 ※ なお、上うえのNumberナ ン バ ーは数字す う じを、Wordワ ー ドは単語た ん ごを意味い みする。 ※ ここ迄までで分わからない事ことがあれば、『変数へんすうを使つかう』や『変数へんすうを更新こうしんする』に戻もどり、もう一度い ち ど、 ゆっくりあせらず勉 強べんきょうし直なおして下ください。
覚
おぼ
えていると思おもうが、Numberナ ン バ ー1 と言いう整数型せいすうがたの変数へんすうを宣言せんげんするには、次つぎのように書かく。
Dim
デ ィ ムNumber
ナ ン バ ー1 As
ア ズInteger
イ ン テ ジ ャ ーまた、Numberナ ン バ ー1 と言いう整数型せいすうがたの変数へんすうに 100 を代 入だいにゅうするには、次つぎのように書かく。
Number
ナ ン バ ー1 = 100
なお、宣言せんげんと代 入だいにゅうを一緒いっしょにして、次つぎのように書かいても良よかった。
Dim
デ ィ ムNumber
ナ ン バ ー1 As
ア ズInteger
イ ン テ ジ ャ ー= 100
文字列も じ れ つの変数へんすうは、文字列も じ れ つのデータ型がたがStringス ト リ ン グである事ことを覚おぼえていれば、問題もんだいはないと思おもう。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラミングでは、『もし〇〇ならば××を 行おこなう』と言いうように、その時ときの 状 況じょうきょうに応おうじた処理し ょ りを 行おこな う事ことができる。 この『もし〇〇ならば』と言いう部分ぶ ぶ んを
条 件
じょうけん と言いい、これを式しきで 表あらわしたものを条 件 式
じょうけんしき と言いう。 条 件 式 じょうけんしき の基本き ほ んは、2個このものを比くらべる事ことで、その為ための演算記号え ん ざ ん き ご うが比較演算子ひ か く え ん ざ ん しである。比較演算子ひ か く え ん ざ ん しには、下記か き のものがある(他ほかにもあるが、今いまは下したのものを覚おぼえて下ください)。 演算子 え ん ざ ん し 説明 せつめい 例 れい=
りょうへん両 辺のものが同おなじかどうかA = B
<>
りょうへん両 辺のものが異ことなるかどうかA <> B
<
左辺さ へ んのものが右辺う へ んのものより小ちいさいかA < B
>
左辺さ へ んのものが右辺う へ んのものより大おおきいかA > B
<=
左辺さ へ んのものが右辺う へ んのもの以下い か(同おなじか小ちいさい)かA <= B
>=
左辺さ へ んのものが右辺う へ んのもの以上いじょう(同おなじか大おおきい)かA >= B
■ 同おなじかどうか調しらべる
今
いま
、整数型せいすうがたの変数へんすうであるNumberナ ン バ ー1 とNumberナ ン バ ー2 が同おなじかどうか調しらべて、txtResult と言いう名前な ま えのテキス トボックスに表示ひょうじしてみる。
テキストボックスに何なにかを表示ひょうじするには、TextBoxテキスト ボックスオブジェクトのTextテキストプロパティに文字列も じ れ つの 値あたいを 設定
せってい
すれば良よいので、次つぎのように書かく。
txtResult.Text
テキスト= (Number
ナ ン バ ー1 = Number
ナ ン バ ー2)
なお、Textテキストプロパティは、文字列も じ れ つ(Stringス ト リ ン グ)を表示ひょうじする物ものなので、
(Number1=Number2)
と言いう 文字列も じ れ つでないものは、文字列も じ れ つに換かえてから代 入だいにゅうした方ほうが良よいので、次つぎのように書かいた方が良い。txtResult.Text
テキスト= (Number
ナ ン バ ー1 = Number
ナ ン バ ー2).ToString
トゥ ストリング( )
上 うえ のコードを書かいて、プログラムを実行じっこう(デバッグ開始か い し)すれば、txtResult と言いうテキストボックス には、『Falseフ ァ ル ス』と表示ひょうじされたはずである。 このFalseフ ァ ル スは、
真偽値
し ん ぎ ち (ブール値ちや真理値し ん り ちや論理値ろ ん り ちとも言いう)と呼よばれるもので、Visualビ ジ ュ ア ル Basicベーシックで真偽値し ん ぎ ち を 扱あつかうBooleanブ ー リ ア ン型がたと言いうデータ型がたにはTrue
トゥルー とFalse
フ ォ ル ス の 2個この 値あたいがある。 これは、『ある』や『はい』のように肯定的こうていてきな意味い みを持もつのがTrueト ゥ ル ー、『ない』や『いいえ』のように否定的ひ て い て き な意味い みを持もつのがFalseフ ァ ル スと覚おぼえて置おけば良よい。 条 件 式 じょうけんしき が成なり立たつ時ときはTrueト ゥ ル ー、成なり立たたない時ときはFalseフ ァ ル スになる。したがって、上うえでは、Numberナ ン バ ー1 とNumberナ ン バ ー2 が同おなじかどうか調しらべたが、Numberナ ン バ ー1 は 100 と言いう 値あたいが、 Numberナ ン バ ー2 は 200 と言いう 値あたいが代入されており、Numberナ ン バ ー1 とNumberナ ン バ ー2 は同おなじはないのでFalseフ ァ ル スになった。
つまり、『Numberナ ン バ ー1 とNumberナ ン バ ー2 は同おなじですか?』と問といかけたのに対たいして、『Falseフ ァ ル ス(そうじゃない)』 と言いう返事へ ん じが返かえって来きたわけである。
先程 さきほど のコードのパーレン(かっこ ( ) の事こと)の部分ぶ ぶ んを色々いろいろと変かえて、確認かくにんしてみよう。 まずは、下したのように変かえてみて、確認かくにんしてみよう。
(Number
ナ ン バ ー1 <> Number
ナ ン バ ー2)
今度は、『Trueト ゥ ル ー』と表示ひょうじされたはずである。『Numberナ ン バ ー1 とNumberナ ン バ ー2 は異ことなりますか?』と問といかけたのに対たいして、『Trueト ゥ ル ー(そのとおり)』と言いう返事へ ん じ が返かえって来きたわけである。 つぎは、下したのように変かえてみて、確認かくにんしてみよう。
(Number
ナ ン バ ー1 + Number
ナ ン バ ー2 = Number
ナ ン バ ー3)
これは、2個このものを比くらべると言いう条 件 式じょうけんしきの基本き ほ んから外はずれるように見みえるが、左辺さ へ んの足たし算ざんが先さきに 行おこなわ れて、その結果け っ かである合計ごうけいと右辺う へ んが比くらべられているので、これも、2個このものを比くらべると言いう事ことになる。 ■ 大 小だいしょうを比くらべる 前 まえ に示しめした 表ひょうのように、比較演算子ひ か く え ん ざ ん しには、=
演算子え ん ざ ん しと<>
演算子え ん ざ ん しと言いう 値あたいの等ひとしさを比くらべる演算子え ん ざ ん しの他ほかに、 値 あたい の大 小だいしょうを比くらべる演算子え ん ざ ん しがある。 算数 さんすう や数学すうがくでも用もちいられる<
演算子え ん ざ ん しと>
演算子え ん ざ ん しと言いう演算子え ん ざ ん しで、A > B
は、下したのようになる。 A が B より大きければTrueト ゥ ル ー A が B より小さければFalseフ ァ ル ス なお、A < B
はその 逆ぎゃくになる。また、≦(以下い か)は<=
、≧(以上いじょう)は>=
と書かく。 パーレンの部分ぶ ぶ んを下したのように変かえてみて、確認かくにんしてみよう。(Number
ナ ン バ ー1 < Number
ナ ン バ ー2)
実 じつ は、数値す う ちだけでなく、文字列も じ れ つも、同おなじかどうか比くらべたり、大 小だいしょうを比くらべる事ことができる。 パーレンの部分ぶ ぶ んを下したのように変かえてみて、確認かくにんしてみよう。
(Word
ワ ー ド1 = Word
ワ ー ド2)
(Word
ワ ー ド1 < Word
ワ ー ド2)
上 うえ のコードで、上うえの方ほうは『Falseフ ァ ル ス』、下の方ほうは『Trueト ゥ ル ー』と表示ひょうじされたはずである。 Wordワ ー ド1 が『だい』で、Wordワ ー ド2 が『ちゅう』なので、同おなじでないのは分わかるが、『だい』が『ちゅう』よ り小ちいさいのが、なぜTrueト ゥ ル ーなのか分わからないと思おもう。 実 じつ は、全すべての文字も じには、文字も じコードと呼よばれる番号ばんごうが付つけられており、意味い みではなく、その番号ばんごうで大 小だいしょう を比くらべているのである。ちなみに、ひらがなは、『あ』が小ちいさく、『ん』に近ちかづくほど大おおきい番号ばんごうが付つけ られている。漢字か ん じなども調しらべてみよう。 ■ 条 件 式じょうけんしきを組くみ合あわせる 前 まえ に条 件 式じょうけんしきの基本き ほ んは、2個このものを比くらべる事ことであると書かいたが、3個このものを比くらべる事ことはできないのだ ろうか。A と B と C が全すべて同おなじであるか調しらべたい時ときもある。そのような場合ば あ いでも、A=B=C と書かく事ことは できない。試ためしに、パーレンの部分ぶ ぶ んを下したのように変かえてみて、確認かくにんしてみよう。(Number
ナ ン バ ー1 = Number
ナ ン バ ー2 = Number
ナ ン バ ー3)
プログラムを実行じっこうすれば、エラーも発生はっせいせず、『Falseフ ァ ル ス』と表示ひょうじされて、一見いっけん正ただしいように見みえる。しかし、Numberナ ン バ ー1 もNumberナ ン バ ー2 もNumberナ ン バ ー3 も、全すべての変数へんすうの 値あたいを 100 に書かき換かえて、プログラムを実行じっこう すれば、やはり『Falseフ ァ ル ス』と表示ひょうじされて、正ただしい結果け っ かは得えられない。
このように 3個こ以上いじょうのものを比くらべる時ときには、A と B が同おなじで、同時ど う じに、B と C も同おなじであるか調しらべると 言いうように、複数ふくすうの条 件じょうけんを組くみ合あわせる。 条 件 じょうけん 1 も 条 件じょうけん2 も成なり立たつと言いうような場合ば あ いの条 件 式じょうけんしきは、
AndAlso
ア ン ド オ ル ソ を用もちいて、下記か きのように書かく。条 件
じょうけん1 AndAlso
ア ン ド オ ル ソ条 件
じょうけん2
AndAlsoア ン ド オ ル ソを用もちいて複数ふくすうの条 件 式じょうけんしきを組くみ合あわせると、全すべての条 件 式じょうけんしきがTrueト ゥ ル ーの場合ば あ いにだけ全体ぜんたいがTrueト ゥ ル ーにな る。したがって、Falseフ ォ ル スの条 件じょうけんが出でて来くると直すぐに調しらべるのを止やめる。 パーレンの部分ぶ ぶ んを下したのように変かえてみて、確認かくにんしてみよう。
(Number
ナ ン バ ー1 = Number
ナ ン バ ー2 AndAlso
ア ン ド オ ル ソNumber
ナ ン バ ー2 = Number
ナ ン バ ー3)
これなら、Numberナ ン バ ー1 が 100、Numberナ ン バ ー2 が 200、Numberナ ン バ ー3 が 300 の時ときはFalseフ ォ ル スとなり、3個こ全すべてが 100 の時ときはTrueト ゥ ル ーとなる事ことが確認かくにんできるはずである。
また、Numberナ ン バ ー1 が 100、Numberナ ン バ ー2 が 200、Numberナ ン バ ー3 が 300 の時とき、パーレンの部分ぶ ぶ んを下したのように変かえ てみれば、Numberナ ン バ ー1 が 最もっとも小ちいさい事ことが確認かくにんできるはずである。
(Number
ナ ン バ ー1 < Number
ナ ン バ ー2 AndAlso
ア ン ド オ ル ソNumber
ナ ン バ ー2 < Number
ナ ン バ ー3)
条 件 じょうけん 1 か条 件じょうけん2 が成なり立たつと言いうような場合ば あ いの条 件 式じょうけんしきは、
OrElse
オ ア エ ル ス を用もちいて、下記か きのように書かく。条 件
じょうけん1 OrElse
オ ア エ ル ス条 件
じょうけん2
OrElseオ ア エ ル スを用もちいて複数ふくすうの条 件 式じょうけんしきを組くみ合あわせると、複数ふくすうの条 件 式じょうけんしきの内うち1 つでもTrueト ゥ ル ーであれば全体ぜんたいがTrueト ゥ ル ー になる。したがって、Trueト ゥ ル ーの条 件じょうけんが出でて来くると直すぐに調しらべるのを止やめる。 パーレンの部分ぶ ぶ んを下したのように変かえてみて、確認かくにんしてみよう。
(Number
ナ ン バ ー1 = Number
ナ ン バ ー2 OrElse
オ ア エ ル スNumber
ナ ン バ ー2 = Number
ナ ン バ ー3)
これも、Numberナ ン バ ー1 が 100、Numberナ ン バ ー2 が 200、Numberナ ン バ ー3 が 300 の時ときはFalseフ ォ ル スとなり、3個こ全すべてが 100 の 時
とき
はTrueト ゥ ル ーとなる事ことが確認かくにんできるはずである。
ただし、この場合ば あ い、3個こ全すべてが 100 でなくても、3個この内うちの 2個こが同おなじであれば、Trueト ゥ ル ーとなる事ことを確認かくにんし て下ください。
また、Numberナ ン バ ー1 が 100、Numberナ ン バ ー2 が 200、Numberナ ン バ ー3 が 300 の時とき、パーレンの部分ぶ ぶ んを下したのように変かえ てみれば、1 つの条 件 式じょうけんしきがTrueト ゥ ル ーであれば、全体ぜんたいがTrueト ゥ ル ーになる事ことが確認かくにんできるはずである。
(Number
ナ ン バ ー1 < Number
ナ ン バ ー2 OrElse
オ ア エ ル スNumber
ナ ン バ ー2 > Number
ナ ン バ ー3)
条 件 じょうけん を否定する場合ば あ いの条 件 式じょうけんしきは、
Not
ノ ッ ト を用もちいて、下記か きのように書かく。Not
ノ ッ ト条 件
じょうけん 上 うえのようにすると、条 件 式じょうけんしきがTrueト ゥ ル ーであればFalseフ ォ ル スに、Falseフ ォ ル スであればTrueト ゥ ル ーになる。
パーレンの部分ぶ ぶ んを下したのように変かえてみて、確認かくにんしてみよう。
(Not Number
ナ ン バ ー1 > Number
ナ ン バ ー2)
これは、Numberナ ン バ ー1 が 100、Numberナ ン バ ー2 が 200 の時ときはTrueト ゥ ル ーとなる事ことが確認かくにんできるはずである。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今回 こんかい の課題か だ いができれば、次つぎの問題もんだいを試ためしてみよう。 問 とい 1.条 件 式じょうけんしきを組くみ合あわせるの 所ところの例題れいだいを、文字列も じ れ つでも試ためしてみよう。 問 とい 2.Hourア ワ ー(時間じ か んと言いう意味い み)と言いう整数型せいすうがたの変数へんすうを宣言せんげんし、10 を代 入だいにゅうする。 問 とい 3.下したの条 件 式じょうけんしきは、それぞれTrueト ゥ ル ーかFalseフ ォ ル スのどちらになるか確たしかめ、意味い みを 考かんがえてみよう。 (Hourア ワ ー < 10) ・ ・学校がっこうにいない時間じ か んだ (Hourア ワ ー > 17) ・ ・学校がっこうへ行ゆく前まえだ (Hourア ワ ー >= 10 AndAlsoア ン ド オ ル ソ Hourア ワ ー <= 17) ・ ・給食の時間じ か んだ (Hourア ワ ー <10 OrElseオ ア エ ル ス Hourア ワ ー >17) ・ ・学校がっこうから帰かえった後あとだ (Notノ ッ ト Hourア ワ ー = 12) ・ ・学校がっこうにいる時間じ か んだ