Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

Imports System.

Math Public Class Form1 Dim LADO_A, LADO_B, lADO_C, ANG_A, ANG_B, ANG_C, pi, MAYOR, RESTO As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.E ventArgs) Handles Button1.Click If TextBox1.Text = "" Then LADO_A = 0 Else LADO_A = TextBox1.Text End If If TextBox2.Text = "" Then LADO_B = 0 Else LADO_B = TextBox2.Text End If If TextBox3.Text = "" Then lADO_C = 0 Else lADO_C = TextBox3.Text End If If TextBox4.Text = "" Then ANG_A = 0 Else ANG_A = TextBox4.Text End If If TextBox5.Text = "" Then ANG_B = 0 Else ANG_B = TextBox5.Text End If If TextBox6.Text = "" Then ANG_C = 0 Else ANG_C = TextBox6.Text End If pi = 3.1415926535897931 'Convertir grados a radianes, en caso que el usuario introdusca datos en grados If RadioButton2.Checked = True Then ANG_A = ANG_A * pi / 180 ANG_B = ANG_B * pi / 180 ANG_C = ANG_C * pi / 180 End If 'Estructura en caso que el usuario introdusca valor de los tres lados If (LADO_A > 0) And (LADO_B > 0) And (lADO_C > 0) Then ANG_A = (LADO_B ^ 2 + lADO_C ^ 2 - LADO_A ^ 2) / (2 * LADO_B * lADO_ C) ANG_A = Acos(ANG_A) ANG_B = (LADO_A ^ 2 + lADO_C ^ 2 - LADO_B ^ 2) / (2 * LADO_A * lADO_ C) ANG_B = Acos(ANG_B) ANG_C = pi - ANG_A - ANG_B Else 'EStructura para resolver el problema cuando se dan dos angulos y un lado If (ANG_A > 0 And ANG_B > 0) Or (ANG_A > 0 And ANG_C > 0) Or (ANG_B > 0 And ANG_C > 0) Then If ANG_A > 0 Then If ANG_B > 0 Then

ANG_C = pi - ANG_A - ANG_B Else If ANG_C > 0 Then ANG_B = pi - ANG_A - ANG_C End If End If Else If (ANG_B > 0) And (ANG_C > 0) ANG_A = pi - ANG_B - ANG_C End If End If If LADO_A > 0 Then LADO_B = LADO_A * Sin(ANG_B) / lADO_C = LADO_A * Sin(ANG_C) / End If If LADO_B > 0 Then LADO_A = LADO_B * Sin(ANG_A) / lADO_C = LADO_B * Sin(ANG_C) / End If If lADO_C > 0 Then LADO_A = lADO_C * Sin(ANG_A) / LADO_B = lADO_C * Sin(ANG_B) / End If Else 'Estructura dados dos lados y un angulo If (LADO_A > 0 And LADO_B > 0 And ANG_A > 0) Then ANG_B = LADO_B * Sin(ANG_A) / LADO_A ANG_B = Asin(ANG_B) ANG_C = pi - ANG_A - ANG_B lADO_C = LADO_A * Sin(ANG_C) / Sin(ANG_A) Else If (LADO_A > 0 And LADO_B > 0 And ANG_B > 0) Then ANG_A = LADO_A * Sin(ANG_B) / LADO_B ANG_A = Asin(ANG_A) ANG_C = pi - ANG_A - ANG_B lADO_C = LADO_B * Sin(ANG_C) / Sin(ANG_B) Else If LADO_A > 0 And lADO_C > 0 And ANG_A > 0 Then ANG_C = lADO_C * Sin(ANG_A) / LADO_A ANG_C = Asin(ANG_C) ANG_B = pi - ANG_A - ANG_C LADO_B = LADO_A * Sin(ANG_B) / Sin(ANG_A) Else If (LADO_A > 0 And lADO_C > 0 And ANG_C > 0) Then ANG_A = LADO_A * Sin(ANG_C) / lADO_C ANG_A = Asin(ANG_A) ANG_B = pi - ANG_A - ANG_C LADO_B = lADO_C * Sin(ANG_B) / Sin(ANG_C) Else If LADO_B > 0 And lADO_C > 0 And ANG_B > 0 Then ANG_C = lADO_C * Sin(ANG_B) / LADO_B ANG_C = Asin(ANG_C) ANG_A = pi - ANG_B - ANG_C LADO_A = LADO_B * Sin(ANG_A) / Sin(ANG_B) Else If (LADO_B > 0 And lADO_C > 0 And ANG_C > 0) Then ANG_B = LADO_B * Sin(ANG_C) / lADO_C ANG_B = Asin(ANG_B) ANG_A = pi - ANG_B - ANG_C Then

Sin(ANG_A) Sin(ANG_A) Sin(ANG_B) Sin(ANG_B) Sin(ANG_C) Sin(ANG_C)

LADO_A = lADO_C * Sin(ANG_A) / Sin(ANG_C ) Else If (LADO_A > 0 And LADO_B > 0 And ANG_C > 0) Then lADO_C = LADO_A ^ 2 + LADO_B ^ 2 - 2 * LADO_A * LADO_B * Cos(ANG_C) lADO_C = Sqrt(lADO_C) ANG_A = LADO_A * Sin(ANG_C) / lADO_C ANG_A = Asin(ANG_A) ANG_B = pi - ANG_A - ANG_C Else If (LADO_A > 0 And lADO_C > 0 And AN G_B > 0) Then LADO_B = LADO_A ^ 2 + lADO_C ^ 2 - 2 * LADO_A * lADO_C * Cos(ANG_B) LADO_B = Sqrt(LADO_B) ANG_A = LADO_A * Sin(ANG_B) / LA DO_B ANG_A = Asin(ANG_A) ANG_C = pi - ANG_A - ANG_B Else If (LADO_B > 0 And lADO_C > 0 An d ANG_A > 0) Then LADO_A = LADO_B ^ 2 + lADO_C ^ 2 - 2 * LADO_B * lADO_C * Cos(ANG_A) LADO_A = Sqrt(LADO_A) ANG_B = LADO_B * Sin(ANG_A) / LADO_A ANG_B = Asin(ANG_B) ANG_C = pi - ANG_A - ANG_B End If End If End If End If End If End If End If End If End If End If End If 'Convertir radianes a grados If RadioButton2.Checked = True Then ANG_A = ANG_A * 180 / pi ANG_B = ANG_B * 180 / pi ANG_C = ANG_C * 180 / pi End If If LADO_A > LADO_B And LADO_A > lADO_C Then MAYOR = LADO_A RESTO = LADO_B + lADO_C Else If LADO_B > LADO_A And LADO_B > lADO_C Then MAYOR = LADO_B RESTO = LADO_A + lADO_C Else If lADO_C > LADO_A And lADO_C > LADO_B Then MAYOR = lADO_C RESTO = LADO_A + LADO_B End If

End If End If If MAYOR <= RESTO Then TextBox1.Text = LADO_A TextBox2.Text = LADO_B TextBox3.Text = lADO_C TextBox4.Text = ANG_A TextBox5.Text = ANG_B TextBox6.Text = ANG_C Else MsgBox("Los datos ingresados no pertenecen a un triangulo, por favor revise sus datos") End If If MAYOR = RESTO Then MsgBox("Los datos ingresados no pertenecen a un triangulo, por favor revise sus datos") End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.E ventArgs) Handles Button2.Click TextBox1.Clear() TextBox2.Clear() TextBox3.Clear() TextBox4.Clear() TextBox5.Clear() TextBox6.Clear() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.E ventArgs) Handles Button3.Click End End Sub End Class

You might also like