ICTメディア編集U 2025年12月5日
プログラミング練習3(条件分岐:if文,体重判定プログラム)
ここでは、If文の条件分岐を用いたプログラミング練習として,標準体重とのズレによる体重判定のプログラム作成を行っていきます.
演習課題(条件分岐:if文;体重判定)
作成プログラム:体重判定プログラム
身長と体重を入力し,まず身長から標準体重を計算し,表示します.入力した体重が標準体重の1.1倍以上だったら「太りすぎです」と表示し,0.9倍以下だったら「やせています」と表示し,それ以外は、「標準です」と表示するようなプログラムを作成してみましょう.(標準体重は,(身長-100)*0.9という計算を使用する。)
手順:
1)まずは,入力と出力の関係を把握し,プログラムの動作を整理しましょう.
入力:身長,体重.
出力:標準体重,標準体重と体重との比較によって3種類の表示を出す.
判定ボタンを押すことで,標準体重=(身長-100)*0.9を計算し,出力を行う.
2)次に,上記の整理に従い,それぞれの入出力部分やボタンなどをフォーム作成していきます.
3)さらに,イベント(ボタン)のコードを作成し,編集して行きます.入出力の値に変数を用いる場合には,どのような記号を用いるか決定し,型宣言を行います.計算部分を作成し,さらに,今回は,3種類の表示となりますから,条件分岐は3つに分かれるように, If 文の判定が連続する Else If ( ) then をIf分の間で使用することになります.
作成:
1) まずは「新しいプロジェクト」を先ほどと同じ各自のフォルダ「X:\Documents\Visual Studio 2022\Projects」に,プロジェクト名:「t-hantei」で,「Visual Basic プロジェクト」「Windowsフォームアプリケーション」で作成します.
※皆さんが各自のPCにダウンロードしてお使いの場合には、コンピュータ上のフォルダは「C:\Users\****\source\repos」などとして作成されるかと思います(****はユーザ名など)。
ダウンロードしたソフトや場所により、フォルダの位置や名前が異なりますので、ご注意ください。
2) 「フォーム」のウインドウ左上部の表示文字を「Form1」から「体重判定プログラム」に変更します.これは,Form1のプロパティウインドウで,Textを書き変えます.

3) フォームに文字の入力部分,表示部分,判定のボタンなどを,ツールを使って配置していきます.文字入力は,「TextBox」を用い,文字表示は「Label」を用います.判定のボタンは,「Button」を用いましょう.「TextBox」や「Label」も設置方法は,Buttonと同じです.プロパティウインドウのText部分を書き変えて,以下に示すフォーム例のように作成してみましょう.このとき,この例ではLabel9が判定結果を表示するため,テキストは空白としておきます.
l 文字入力:TextBox
l 文字表示:Label
l イベントの開始など:Button
→ 
→
→ 

4) 「判定」と表示したボタン1をクリックし,コードエディタを開きます.まずは,プログラムで使用する変数の名称を決めておきます.
身長:shintyou,体重:taijyuu,標準体重:hyoujyun とします.次にサブプログラムよりも前に変数の型宣言をします.(Button1のサブプログラムの中で使用する変数ですので,サブプログラムの中で宣言してもかまいません.)
Dim shintyou, taijyuu,
hyoujyun As
Double

Visual Basicのコード解説):
変数:プログラム上でaaなどの記号で数値などをあつかうものは変数とよばれるもので,後で数値を入れることにより、その値が決まるものです.aaという数値が入る箱を用意してその中に計算した値を入れて置いたり,その値を指定して表示させたりすることに使います.変数の名前(変数名)は任意に付けて良いのですが、次の規則に従ってきめるとよい。
・ 頭の文字は英字とし、文字数は255字(半角)以内とします。
・ ピリオド(.)や型宣言文字は使用できません 。
・ Visual Basicで特別の意味をもつ語、たとえば、 If、Loop等は予約キーワードと呼ばれ、使用できません。
変数の型宣言:変数の型宣言は、Dimステートメントで行います。
Dim 変数1, 変数2, … As 変数の型
例)Dim taijyuu, shintyou,
As Integer '変数 taijyuu と shintyou は整数型です。
変数の型宣言は必ず,変数を使用する前に宣言をしておく必要があります.
Visual Basic で使用できる型の一部を以下に示します。
|
型名 |
サイズ |
値の範囲 |
|
整数型 Integer |
2 バイト |
-32768〜32767 |
|
長整数型 Long |
2 バイト |
-2147483648〜2147483647 |
|
単精度浮動小数点型 Single |
4 バイト |
負のとき:-3.402823E38〜-1.401298E-45 正のとき:1.401298E-45〜3.402823E38 |
|
倍精度浮動小数点型 Double |
8 バイト |
負のとき: -7.79769313486231E308〜-4.94065645841247E-308 正のとき: 4.94065645841247E-308〜7.79769313486231E308 |
|
文字型 String |
|
0〜約65,535文字までの文字列 |
|
バリアント型 Variant |
16 バイト |
日付/時間、倍精度少数点数、文字列型 |
5) 入力部分に入った数値を,変数に代入させます.ここでは,下の注意にしたがって,体重と身長が入力されるTextBoxの文字列を変数に代入する式をボタン1のクリック時のサブプログラムの中に書いていく.
l TextBox1に入力された文字列は,TextBox1.Textという名前で呼び出すことができます.
shintyou = Val(TextBox1.Text)
taijyuu = Val(TextBox2.Text)

注意:Visual Basic では、テキストボックスに数が入力されても、文字列としか認識されません。そのため、文字列を数値に変換する関数(Val)を用いて、入力したものが数値として扱えるようにすることができます。
l
Val関数: 文字列を数値に変換する関数.Val
( ):カッコ内の文字列を数値に変換する.
例)bb = Val(TextBox1.Text)
(変数bb はテキストボックス1への入力された文字列を数値に変換したものが代入される。)
代入ステートメント: Visual Basicにおける計算式の書き方は、イコール(=)の左側に計算結果を代入する変数などをおき、右側に計算式、定数、変数などを書きます.
例) aa = 5 + 12
(5+12の計算結果17がaaに代入されます.この行以降aaには17が入っていることになります.)
6) 体重と身長の変数の入力値を使って,標準体重の計算をさせます.これも標準体重を示す変数に計算値を代入する式となります.標準体重=(身長-100)*0.9です.この値は,標準体重としてTextBox3へ書き込むことになります.
hyoujyun = (shintyou - 100) * 0.9
TextBox3.Text
= hyoujyun

7) If文を用いた判定を作成していきます.整理すると,以下の3つの分岐になることがわかります.これをIf文に合わせて,また,変数と不等号をもちいて,コードを書いていきます.例では,判定を表示する部分はLabel9.Textです.
入力された体重が標準体重の1.1倍以上だったら「太りすぎです」と表示
0.9倍以下だったら「やせています」と表示
それ以外は、「標準です」と表示
If (taijyuu > hyoujyun * 1.1) Then
Label9.Text = "太りすぎです"
ElseIf (taijyuu < hyoujyun * 0.9) Then
Label9.Text = "やせています"
Else
Label9.Text = "標準です"
End If

8) 最後は終了ボタンの設定です.「終了」と表示したボタン2をクリックし,コードには,Endと入力してください.Endコードは,プログラムを入力させます.
Private Sub
Button2_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
End
End Sub

9) 身長と体重を入力し,判定ボタンを押して,きちんと判定されるかどうかを確認してください.ツールバーの開始のボタンを押して,プログラムを実行し,動作の確認をします.確認が終わったら,名前を付けて保存で「t-hantei」と名前を付けておきましょう(フォルダをはじめに作成する場合には,作成ができないこともあります).
また,実行形式のファイルもメニューバーの「ビルト」で,作成しておきましょう.



今回のプログラムはフォルダにファイルがいくつか入っていますので,保存したい場合には,フォルダごと,コピーしてください.