金曜日, 6月 04, 2021

Visual Studio Basic_21 
簡単なプログラム(ピタゴラスの定理)

質問がありましたので・・・

Visual Studio Basicの計算のサンプルとして、

任意の直線の長さを求めることにします。


Illustratorで任意の角度のある適当な線の長さはプロパティーの値から直接求めることはできません(ものさしツールで測れます)が、幅と高さは表示されるので、ピタゴラスの定理(三平方の定理)で直線の長さを求めてみることにします。


まず、デザイン設計は上のようにしました。ここで、[計算]で[TextBox1]と[TextBox2]に入力した値で求める計算結果を[Label4]に表示します。[終了]でプログラム終了。[クリア]で[TextBox1]と[TextBox2]および[Label4]の値をクリアします。

メインの計算はピタゴラスの定理なので、お復習いですプログラムにはそのままwidth, height, lengthを使用してみます。

[計算]ボタンをダブルクリックし、ソースモードに入ったら、

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

-----------------

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        ' width、height、lengthをInteger変数宣言

        Dim width, height, length As Integer

        ' TexBox1に入力した値を二乗してwidthへ代入

        width = Val(TextBox1.Text) * Val(TextBox1.Text)

        ' TexBox2に入力した値を二乗してheightへ代入

        height = Val(TextBox2.Text) * Val(TextBox2.Text)

        ' widthにheightを加えた値をlengthへ代入

        length = width + height

        ' lengthの値を平方根として展開してLabel4に表示

        Label4.Text = Math.Sqrt(length)

    End Sub

End Class

-----------------

ただし、べき乗の記述があるので、ソレを使い、さらに計算結果に少数が発生する場合は3けたまでにすることにしました。Illustratorの数値は少数2桁までが有効なので。

 -----------------

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        ' width、height、lengthをInteger変数宣言

        Dim width, height, length As Integer

        ' TexBox1に入力した値を二乗してwidthへ代入

        width = Val(TextBox1.Text) ^ 2

        ' TexBox2に入力した値を二乗してheightへ代入

        height = Val(TextBox2.Text) ^ 2

        ' widthにheightを加えた値をlengthへ代入

        length = width + height

        ' lengthの値を平方根として展開してLabel4へ少数3桁で表示

        Label4.Text = Format(Math.Sqrt(length), "0.000")

    End Sub

End Class

-----------------

あとは[終了]と[クリア]の処理を記述して完成です。

 -----------------

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim width, height, length As Integer

        width = Val(TextBox1.Text) ^ 2

        height = Val(TextBox2.Text) ^ 2

        length = width + height

        Label4.Text = Format(Math.Sqrt(length), "0.000")

    End Sub

-----------------

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

        ' Button3がクリックされたらTextBox1、TextBox2とLabe4をクリア

        TextBox1.ResetText()

        TextBox2.ResetText()

        Label4.ResetText()

    End Sub

-----------------

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

      ' Button2がクリックされたらプログラムを終了

        End

    End Sub

End Class

-----------------

ということでWindows用ですが、プログラムを作ってみました。

LineLength1.0.0 for Windows クリックすると直ぐにダウンロードが始まります。
Windows版です。