§3 トレース(2) プログラミング実習
 back next 

 トレース方法を復習する。また、条件によって処理する部分を変える制御文である「If」についても学習する。

利用するオブジェクト等
テキストボックス(TextBox)


【1】 プログラム作成の準備

 入力した整数データが奇数か偶数かを判定するプログラムを作成する。データの入力にはテキストボックス オブジェクト、判定結果はラベル オブジェクトに表示する。

操作 1 新しいプロジェクトを「実習3トレース」という名前で作成する。フォーム(Form1)のプロパティを次のように設定する。

Text 実習3トレース

操作 2 フォームに次のオブジェクトを1つずつ重ならないように配置する。配置場所、大きさは適当でよい。

・テキストボックス(TextBox1)   ・ボタン(Button1)   ・ラベル(Label1)

操作 3 プログラムを保存する。 ( [ファイル(F)] → [すべてを保存(L)] )

操作 4 [Button1]ボタンのクリックイベントに対応するメソッドを次のように作成する。

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim kg As Integer
        kg = Val(TextBox1.Text) Mod 2
        Label1.Text = "結果=" & Str(kg)
    End Sub

結果 実行後、整数データを入力して[Button1]ボタンをクリックすると、データが奇数なら「結果=1」、偶数なら「結果=0」とラベルに表示される。

データ型の変換等

 Val(文字列 ) Microsoft.VisualBasic.Val()
 CDbl(文字列 )
 数字の文字列 を数値(実数)に変換する。
 文字列 を整数値に変換するには、CInt関数を使う。
 データ型変換を行う関数はほかにもある。Convert.ToDoubleメソッドやDouble.Parseメソッドがある。
 Str(数値 ) Microsoft.VisualBasic.str()
 数値.ToString
 数値 を文字列に変換する。
'CDbl関数とToStringメソッドを使った例
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim kg As Integer
        kg = CDbl(TextBox1.Text) Mod 2
        Label1.Text = "結果=" & kg.ToString
    End Sub
 数値1 Mod 数値2
 数値1数値2 で割った余り(剰余)を求める演算子である。

 判定結果を示すメッセージをもっとわかりやすくするため、奇数なら「奇数です。」、偶数なら「偶数です。」とラベルに表示されるようにプログラムを変更する。



条件分岐

 If 条件式 Then 〜 Else 〜 End If    ←基本の形
 条件式 の状態(「真」または「偽」)によって、処理する部分を変える制御文である。

If文の書き方
If 条件式1 Then
  条件式1 が真の時
ElseIf 条件式2 Then
  条件式2 が真の時
Else
  条件式1,2 が偽の時
End If
If 条件式1 Then
  条件式1 が真の時
ElseIf 条件式2 Then
  条件式2 が真の時
End If
If 条件式1 Then
  条件式1 が真の時
Else
  条件式1 が偽の時
End If
 
  (基本の形)
If 条件式1 Then
  条件式1 が真の時
End If
 条件式が成立したときを「真(True)」、成立しなかったときを「偽(False)」という。

条件式に利用する演算子
意味 記号 使用例
等しい A = B   AとBは等しい。
等しくない <> A <> B  AとBは等しくない。
小さい A < B AはBより小さい(AはB未満である)。
大きい A > B AはBより大きい(AはBを超えている)。
以下 <= A <= B AはB以下である。
以上 >= A >= B AはB以上である。
かつ And
A > B And A < C AはBより大きく、
かつ、
AはCより小さい。
または Or
A > B Or A < C AはBより大きい、
または、
AはCより小さい。
否定 Not Not A > B   AはBより大きい ことはない。

操作 5 [Button1]ボタンのクリックイベントに対応するメソッドを次のように変更する。

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim kg As Integer
        kg = Val(TextBox1.Text) Mod 2    '#1
        If kg = 1 Then                   '#2
            Label1.Text = "奇数です。"     '#3
        Else                             '#4
            Label1.Text = "偶数です。"     '#5
        End If                           '#6
    End Sub                              '#7
結果 実行後、整数データを入力して[Button1]ボタンをクリックすると、データが奇数なら「奇数です。」、偶数なら「偶数です。」とラベルに表示される。

操作 6 プログラムの #1 の行にブレークポイントを設定する。

【設問】実行後、13と入力して[Button1]ボタンをクリックしたとき、実行される順番と変数kgの値を答えよ。
#1 → (@ #2 ) → (A #3 ) → (B #6 ) → #7
#1の行を実行した後の変数kgの値 (   )
【設問】実行後、14と入力して[Button1]ボタンをクリックしたとき、実行される順番と変数kgの値を答えよ。
#1 → (@ #2 → #4 → #5 → #6          ) → #7
#1の行を実行した後の変数kgの値 (   )


 back next 
 §3 トレース(2) Copyright©2008,2009 Hiroshi Masuda 

 

 

inserted by FC2 system