Resolver triángulos en Visual Basic. Parte 1/3



Documentos relacionados
Clasificación de triángulos: Un triángulo es un polígono de tres lados. Un triángulo está determinado por:

Resolver triángulos en Visual Basic. Parte 2/3

b 11 cm y la hipotenusa

Unidad 2: Resolución de triángulos

VALORES EXACTOS DE FUNCIONES TRIGONOMÉTRICAS (SENO Y COSENO)

Apuntes Trigonometría. 4º ESO.

RESUMEN Y EJERCICIOS DE TRIGONOMETRÍA II

7.1 RAZONES TRIGONOMÉTRICAS DE UN ÁNGULO AGUDO

CURSO CERO DE MATEMATICAS. Apuntes elaborados por Domingo Pestana Galván. y José Manuel Rodríguez García

El seno del ángulo agudo es la razón entre las longitudes del cateto opuesto al mismo y la

RAZONES TRIGONOMÉTRICAS

El radián se define como el ángulo que limita un arco cuya longitud es igual al radio del arco.

Proyecciones. Producto escalar de vectores. Aplicaciones

180º 36º 5. rad. rad 7. rad

MATEMATICAS GRADO DECIMO

rad, y rad = 360 Ejercicio 1 Realizar las conversiones de grados a radianes y de radianes a grados de los siguientes ángulos:

Teoremas del seno y el coseno: ejercicios resueltos

MUNICIPIO DE MEDELLÍN ÁREA DE MATEMÁTICAS GRADO 10

(+)ES.G.39.2, (+)ES.G.39.3 Destreza Utilizar la ley de senos ALA para hallar medidas desconocidas en triángulos rectángulos y oblicuos.

MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASE # 25

rad, y rad = 360 Ejercicio 1 Realizar las conversiones de grados a radianes y de radianes a grados de los siguientes ángulos:

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 3. Trigonometría

A.1 Razones trigonométricas de un triángulo rectángulo: Las razones trigonométricas de un triángulo rectángulo son las siguientes funciones:

94' = 1º 34' 66.14'' = 1' 6.14'' +

3. Un triángulo rectángulo es semejante a otro cuyos catetos miden 3 cm y 4 cm. Su hipotenusa vale 2,5 cm. Halla las medidas de sus catetos.

- Ángulos positivos. Los que tienen el sentido de giro en contra de la agujas del reloj.

Resolver triángulos en Visual Basic. Parte 2/3

Resolver triángulos en Visual Basic. Parte 3/3

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

Herramientas digitales de auto-aprendizaje para Matemáticas

UNIDAD IV. LEYES DE SENOS Y COSENOS.

Bloque 2. Geometría. 2. Vectores. 1. El plano como conjunto de puntos. Ejes de coordenadas

Un triangulo oblicuángulo es aquel que tiene tres ángulos agudos, o dos ángulos agudos y un ángulo obtuso.

GUIA DE TRIGONOMETRÍA

La Resolución de Triángulos Oblicuángulos usando la Calculadora Científica (Con un Apéndice sobre el cálculo del argumento de un número complejo)

Trigonometría y problemas métricos

VECTORES EN EL ESPACIO

1.4. Proporcionalidad de perímetros, áreas y volúmenes en objetos semejantes Si dos figuras son semejantes, entonces se verifica que: V = 3

Guía de Reforzamiento N o 2

Ejercicios de Trigonometría

Curso Propedéutico de Cálculo Sesión 2: Límites y Continuidad

B) dado un lado y dos ángulos,el triángulo queda determinado.

Grado en Química Bloque 1 Funciones de una variable

RESUMEN DE TRIGONOMETRÍA

OLIMPIADA COSTARRICENSE DE MATEMÁTICA UNA - UCR - TEC - UNED - MEP - MICIT. Geometría. III Nivel I Eliminatoria

MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASE #2

Tema 4: Resolución de triángulos.

circulares y trigonométricas Unidad 2:Funciones ÁNGULO DE REFERENCIA: Triángulo de referencia y ángulo de referencia

Un ángulo es una porción de plano limitada por dos semirrectas, los lados, que parten de un mismo punto llamado vértice.

REACTIVOS MATEMÁTICAS 3

4.- Un triángulo de hipotenusa unidad. Teorema fundamental de la trigonometría.

RAZONES TRIGONOMÉTRICAS

GEOMETRÍA Y TRIGONOMETRÍA

PROBLEMAS RESUELTOS SELECTIVIDAD ANDALUCÍA 2015 MATEMÁTICAS II TEMA 3: ESPACIO AFIN Y EUCLIDEO

Los catetos de un triángulo rectángulo miden 3 cm. y 4 cm, respectivamente. Cuánto mide el coseno del menor ángulo? 3 sin( α) = 5 4 cos( α) = 5 3 4

INTRODUCCIÓN 1. CLASIFICACIÓN DE LOS TRIÁNGULOS 2. DEFINICIÓN DE ÁNGULO 3. MEDIDAS DE ÁNGULOS 4. RAZONES TRIGONOMÉTRICAS DE UN ÁNGULO

Espacios vectoriales con producto interior

T3: TRIGONOMETRÍA 1º BCT

Tema 1. Álgebra lineal. Matrices

Funciones Trigonométricas

Ejercicios resueltos de trigonometría

LA FUNCIÓN LINEAL: Ecuaciones y aplicaciones de la línea recta.

MENORES, COFACTORES Y DETERMINANTES

Tabla de Derivadas. Función Derivada Función Derivada. f (x) n+1. f (x) y = f (x) y = ln x. y = cotg f (x) y = ( 1 cotg 2 f (x)) f (x) = f (x)

Para que un punto P(x, y) pertenezca a la circunferencia unitaria debe cumplir con la ecuación x 2 + y 2 = 1.

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 4. Números reales y números complejos

GEOMETRÍA (Selectividad 2014) 1 ALGUNOS PROBLEMAS DE GEOMETRÍA PROPUESTOS EN LAS PRUEBAS DE SELECTIVIDAD DE 2014

16. Dados los puntos A(-1,3), B(2,0) y C(-2,1). Halla las coordenadas de otro punto D para que los vectores y sean equivalentes.

Perímetro de un polígono regular: Si la longitud de un lado es y hay cantidad de lados en un polígono regular entonces el perímetro es.

La ecuación de segundo grado para resolver problemas.

RESOLUCIÓN DE TRIÁNGULOS página 119

Anexo C. Introducción a las series de potencias. Series de potencias

POLÍGONOS

Las Funciones Trigonométricas Inversas

1 ÁNGULO 2 FUNCIÓN SENO Y FUNCIÓN COSENO 3 FUNCIÓN TANGENTE 4 VALORES DE FUNCIONES TRIGONOMÉTRICAS PARA ÁNGULOS

Ecuaciones trigonométricas resueltas

SESION 5 APLICACIONES DE LA TRIGONOMETRÍA

3.5 La ley de los Senos La ley de los Cósenos

VALOR ABSOLUTO. Definición.- El valor absoluto de un número real, x, se define como:

Nota: Como norma general se usan tantos decimales como los que lleven los datos

TEMA 8: TEOREMA DE PITÁGORAS. SEMEJANZA. ÁREAS DE FIGURAS PLANAS. 1. Calcula el área de las figuras siguientes: TEOREMA DE PITÁGORAS

FUNCIONES CUADRÁTICAS. PARÁBOLAS

Funciones algebraicas

Práctica 3. CÁLCULO DE LA FUNCIÓN SENO UTILIZANDO UN DESARROLLO EN SERIE

Matemáticas I: Hoja 1

UNIDAD I. ÁNGULOS, TRIÁNGILOS, POLÍGONOS Y CIRCUNFERENCIA. Tema. Triángulos

Trigonometría, figuras planas

AREA Y PERIMETRO DE LAS FIGURAS GEOMETRICAS

Clase 9 Sistemas de ecuaciones no lineales

Recordar las principales operaciones con expresiones algebraicas.

Conceptos básicos de Geometría

SUMA Y RESTA DE VECTORES. GL: Mesa No. Fecha: INTEGRANTES (Apellidos, nombres) FIRMA SECCION NOTA

Para medir ángulos pueden adoptarse distintas unidades. Uno de los sistemas más usados es el:

N = {1, 2, 3, 4, 5,...}

lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas

TEMA 1: NÚMEROS REALES

= y. Así pues, el domino lo forman los números x para los cuales existe el valor de f (x)

Forman base cuando p 0 y 1.

Lógica Proposicional, Teoremas y Demostraciones

Transcripción:

Artículo Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/). Vol. 1, N o 2. Agosto Diciembre 2001. Resolver triángulos en Visual Basic. Parte 1/3 Luis Acuña P. lacuna@itcr.ac.cr Escuela de Matemática Instituto Tecnológico de Costa Rica Introducción Página 1 de 14 Uno de los últimos temas de trigonometría que se estudian en secundaria es la resolución de triángulos usando las leyes de senos y cosenos. En un triángulo cualquiera, las medidas más importantes son las longitudes de sus lados y las medidas de sus ángulos. En su forma más general, el problema de resolver un triángulo consiste en determinar las tres medidas desconocidas cuando se conocen tres. En la notación usual, las letras a, b y c denotan los lados, y las mayúsculas A, B y C denotan los respectivos ángulos opuestos:

A c b B a C No todos los casos tienen solución. Por ejemplo, conocer las medidas de los tres ángulos no da ninguna pista acerca de las longitudes de los lados. Pero por el contrario, conocer los tres lados permite encontrar los ángulos sin problema. Vamos a desarrollar un programa en Visual Basic que permita al usuario indicar tres datos cualesquiera, determine si es posible calcular las otras tres medidas, y muestre gráficamente la o las soluciones (dibujando un triángulo con los ángulos correctos y los lados en proporción a sus medidas). En esta columna vamos a abordar parte del problema matemático. En la siguiente terminaremos con ese problema y desarrollaremos la interfaz con el usuario, pero por ahora hay varios detalles de programación que resolver. Página 2 de 14 1.1 Las leyes de senos y de cosenos

La clave para resolver el problema de determinar las tres medidas faltantes en un triángulo está en usar apropiadamente las siguientes fórmulas trigonométricas (todas en la notación usual que describimos arriba). La ley de senos: En palabras, dice que los lados son proporcionales a los senos de los ángulos opuestos. La fórmula es a sen A = b sen B = c sen C. La ley de cosenos: Es una extensión del Teorema de Pitágoras a triángulos no rectángulos. Puede verse en tres formas distintas pero equivalentes: a 2 = b 2 + c 2 2bc cos A b 2 = a 2 + c 2 2ac cos B c 2 = a 2 + b 2 2ab cos C. En ninguna de las fórmulas está despejado un ángulo. Si se quiere encontrar el valor de un ángulo deberá despejarse de la fórmula apropiada (dependiendo de los datos que se conocen) y aplicar seno inverso o coseno inverso. La función coseno tiene inversa en el dominio que nos interesa para triángulos, que es [0, π] = [0, 180 ]. Pero la función seno no tiene inversa allí, sino en el dominio [ π/2, π/2] = [ 90, 90 ]. Por lo anterior, la ley de senos no es recomendable para encontrar ángulos obtusos. En un triángulo, solamente el ángulo mayor podría ser obtuso. Entonces se recomienda que, de ser posible, no se use la ley de senos para encontrar el ángulo mayor. Los casos en los que esto es inevitable comúnmente llevan a dos soluciones: un ángulo obtuso y otro agudo. Página 3 de 14

1.2 Los distintos casos por resolver Si los triángulos tienen seis medidas (tres ángulos y tres lados), son muchas las combinaciones de tres datos conocidos: pueden conocerse los tres ángulos, o dos de los ángulos y el lado entre ellos, o dos de los ángulos y un lado no entre ellos, etc. En total son ocho posibilidades, que por simetría se reducen a seis. Vamos a denotarlas con un código de tres letras, en el que las letras A y L denotan ángulo conocido y lado conocido, respectivamente. Los tres casos que mencionamos arriba se denotarán AAA (se conocen tres ángulos), ALA (dos ángulos y el lado entre ellos) y AAL o LAA (dos ángulos y un lado no entre ellos). Las ocho posibilidades que mencionamos pueden agruparse de la siguiente manera: 1. El caso AAA: Este es el más fácil en el sentido de que no hay nada que hacer. Como ya mencionamos, no pueden encontrarse los lados si sólo se conocen los ángulos. 2. Los casos AAL (o LAA) y ALA: Entre los casos factibles, estos son los más sencillos. Conociendo dos ángulos y un lado, puede calcularse primero el tercer ángulo sabiendo que la suma de los tres es 180, y luego usarse la ley de senos para cada uno de los lados faltantes. 3. El caso LAL: Conociendo dos lados y el ángulo entre ellos puede usarse la ley de cosenos para calcular el tercer lado, luego la ley de senos para encontrar el ángulo más pequeño entre los que faltan (recuérdese no usar la ley de senos para calcular el ángulo más grande, siempre que pueda evitarse), y finalmente determinar el tercer ángulo sabiendo que la suma de los tres es 180. 4. El caso LLL: Si se tienen las longitudes de los tres lados, puede calcularse cada uno de los ángulos con la ley de cosenos, pero esto es más trabajo del necesario, porque la ley de cosenos es más complicada Página 4 de 14

que la de senos. Para resolver el problema a mano podría empezarse usando la ley de cosenos para encontrar el ángulo mayor, luego la ley de senos para cualquiera de los otros dos ángulos (a fin de no usar la ley de senos para el ángulo mayor), y por último calcular el tercero restando de 180 las medidas de los otros dos. 5. El caso LLA (o ALL): Al conocer dos lados y un ángulo no entre ellos, debe empezarse por calcular el ángulo desconocido opuesto a un lado conocido, con la ley de senos. Pero éste puede ser obtuso o agudo (dos soluciones), recto (una solución) o puede no existir. En caso de haber solución, se encuentra el tercer ángulo restando de 180, y por último el lado faltante por ley de senos. 1.3 Las subrutinas principales Nuestro proyecto en Visual Basic tendrá un módulo estándar con los procedimientos que resolverán los distintos casos. La interfaz visual, como dijimos, queda para la próxima columna. Por ahora vamos a escribir un procedimiento para cada uno de los casos 2 4. Para crear un módulo estándar en un proyecto se usa la opción Project Add Module. En la ventana de propiedades definiremos que el nombre del módulo es Funciones. Las subrutinas que resuelven los casos tendrán un nombre de la forma CasoXXX, donde en vez de XXX usaremos las tres letras que describen el caso. Cada subrutina recibirá seis parámetros: los tres lados y los tres ángulos, pero no en ese orden. Tres de los parámetros serán datos, y los escribiremos primero. Los otros tres serán los resultados, y serán los últimos. Cada una de las subrutinas recibirá sus tres datos como parámetros por valor. En Visual Basic esto se indica con la palabra ByVal antes del nombre de cada parámetro. Por otra parte, las variables donde se retornarán Página 5 de 14

los resultados serán parámetros por referencia, indicados con la palabra ByRef. (Si no se indica ninguna de esas dos palabras, Visual Basic usa parámetros por referencia. Aquí vamos a usar las dos palabras explícitamente para dejar bien clara la intención.) La notación que vamos a usar será la siguiente: Los lados se denotarán a, b y c, y los ángulos serán anga, angb y angc. Como las funciones trigonométricas en Visual Basic trabajan en radianes, supondremos aquí que los ángulos están indicados en radianes. Las variables reales serán de tipo Double para aprovechar toda la precisión que ofrece Visual Basic. Si uno de los datos fuera inválido (como una longitud negativa o un ángulo mayor que 180 ), las subrutinas retornarán el valor 0 en los tres resultados. El encabezado del módulo Funciones contiene las siguientes dos líneas: Option Explicit Const pi = 3.141592653589793 Los casos AAL (o LAA) y ALA Aquí conocemos dos de los ángulos y un lado. Dentro del procedimiento denotaremos anga y angb los ángulos, y c el lado conocido. El método que usamos aquí funciona independientemente de que el lado conocido esté o no entre los dos ángulos. Como dijimos, empezamos por calcular el tercer ángulo, angc, restando los otros dos de π (en realidad dijimos que restaríamos de 180, pero vamos a trabajar en radianes). Luego usaremos la ley de senos dos veces: una para cada lado faltante. En notación matemática, las fórmulas son: Página 6 de 14 C = π A B

a sen A = b sen B = c sen C a = c sen A sen C c sen C b = c sen B sen C Los datos serán válidos mientras A + B < 180 y c > 0. En Visual Basic, el procedimiento es así: Public Sub CasoAAL(ByVal anga As Double, ByVal angb As Double, ByVal c As Double, _ ByRef a As Double, ByRef b As Double, ByRef angc As Double) Resuelve el caso de ángulo-ángulo-lado conocidos. Calcula primero el ángulo desconocido y luego los dos lados por la ley de senos. Recibe los datos anga, angb y c, y calcula los resultados a, b y angc. validar los datos: debe ser anga+angb<pi y c>0 If anga + angb >= pi Or c <= 0 Then a = 0: b = 0: angc = 0 Exit Sub End If Página 7 de 14 calcular el ángulo C por diferencia a pi angc = pi - anga - angb calcular el lado a por ley de senos

a = c * Sin(angA) / Sin(angC) calcular el lado b por ley de senos b = c * Sin(angB) / Sin(angC) End Sub El caso LAL Conociendo dos lados y el ángulo entre ellos, se empieza por calcular el tercer lado por la ley de cosenos. En segundo lugar, se calcula el ángulo más pequeño (entre los dos restantes) por la ley de senos. Y por último, el tercer ángulo se calcula restando los dos primeros de π. Denotemos los datos a, B, c (lado, ángulo, lado). Suponiendo que el ángulo menor entre A y C es A (lo cual se reconoce porque a < c), calculamos: b 2 = a 2 + c 2 2ac cos B b = a 2 + c 2 2ac cos B sen A = sen B ( ) a sen B A = arcsen a b b C = π A B Los datos serán válidos si a, c > 0 y 0 < B < 180. En Visual Basic, denotando los datos a, angb y c, y los resultados anga, b y angc, escribimos: Public Sub CasoLAL(ByVal a As Double, ByVal angb As Double, ByVal c As Double, _ ByRef anga As Double, ByRef b As Double, ByRef angc As Double) Resuelve el caso de lado-ángulo-lado conocidos. Calcula primero el lado desconocido, luego el Página 8 de 14

ángulo menor por la ley de senos. Recibe los datos a, angb y c y calcula los resultados anga, b y angc. validar los datos: debe ser a,c>0 y 0<angB<pi If a <= 0 Or c <= 0 Or angb <= 0 Or angb >= pi Then anga = 0: b = 0: angc = 0 Exit Sub End If calcular el lado b por ley de cosenos b = Sqr(a ^ 2 + c ^ 2-2 * a * c * Cos(angB)) calcular el lado menor por ley de senos y el otro por diferencia a pi If a < c Then anga = ArcSen(a * Sin(angB) / b) angc = pi - anga - angb Else angc = ArcSen(c * Sin(angB) / b) anga = pi - angb - angc End If End Sub Página 9 de 14

Hay una trampita en el código anterior: se hace referencia inocentemente a una función ArcSen, que no es parte del lenguaje Visual Basic. Luego, en la sección, definiremos las funciones arcsen y arccos. El caso LLL Cuando se conocen los tres lados, dijimos arriba que usar la ley de cosenos para encontrar cada ángulo era más trabajo del necesario, porque la ley de cosenos es más complicada que otros métodos. Cuando un problema se resuelve manualmente, es recomendable usar la ley de cosenos para encontrar el ángulo mayor, luego la de senos para cualquiera de los otros dos ángulos, y por último calcular el tercero restando de π las medidas de los otros dos. Recuérdese no usar, siempre que pueda evitarse, la ley de senos para encontrar el ángulo mayor. Pero para una computadora no es mucho trabajo usar la ley de cosenos tres veces. Más bien sería mucho el trabajo del programador si nos ocupáramos de que el primer ángulo sea el mayor. Preferimos la siguiente solución, manteniendo la recomendación del párrafo anterior cuando el problema se resuelve manualmente. a 2 = b 2 + c 2 2bc cos A cos A = b2 + c 2 a 2 ( a B = 2 + c 2 b 2 ) arccos 2ac ( a C = 2 + b 2 c 2 ) arccos 2ab 2bc ( b A = 2 + c 2 a 2 ) arccos 2bc Página 10 de 14

Para que los datos sean válidos es necesario que cada lado sea menor que la suma de los otros dos. Public Sub CasoLLL(ByVal a As Double, ByVal b As Double, ByVal c As Double, _ ByRef anga As Double, ByRef angb As Double, ByRef angc As Double) Resuelve el caso de lado-lado-lado conocidos. Calcula cada ángulo por la ley de cosenos. Recibe los datos a, b y c y calcula los resultados anga, angb y angc. validar los datos: cada lado menor que la suma de los otros If a >= b + c Or b >= a + c Or c >= a + b Then anga = 0: angb = 0: angc = 0 Exit Sub End If calcular cada ángulo por ley de cosenos anga = ArcCos((b ^ 2 + c ^ 2 - a ^ 2) / (2 * b * c)) angb = ArcCos((a ^ 2 + c ^ 2 - b ^ 2) / (2 * a * c)) angc = ArcCos((a ^ 2 + b ^ 2 - c ^ 2) / (2 * a * b)) End Sub Página 11 de 14 La función arccos no existe en Visual Basic. Luego la definiremos.

El caso LLA (o ALL) Este es el caso más complejo, ya que dos lados y un ángulo no entre ellos no determinan completamente un triángulo. Vamos a dejar este caso para la próxima columna. 1.4 Visual Basic no define las funciones arcsen ni arccos. Lo más cercano es la función Atn(x As Double) As Double, que calcula el arcotangente de x, en radianes. Las otras dos funciones pueden definirse a partir de ésta. Para arcsen, empecemos por plantear y = sen x. El objetivo es escribir x en términos de y y de la función arctan. Nótese que cos 2 x = 1 y 2, por lo que tan 2 x = y 2 /(1 y 2 ). Entonces tan x = y/ 1 y 2 para x ] π/2, π/2[ y y ] 1, 1[. Finalmente, x = arctan(y/ 1 y 2 ); es decir, arcsen y = arctan y 1 y 2. Las dos excepciones, y = ±1, deben tratarse por aparte: arcsen ±1 = ±π/2. La función Sgn en Visual Basic retorna el signo del argumento: 1 si el argumento es positivo, 1 si es negativo, ó 0 si es 0. Entonces: Public Function ArcSen(y As Double) As Double Calcula el seno inverso de y Página 12 de 14 If y = 1 Or y = -1 Then

ArcSen = pi / 2 * Sgn(y) Else ArcSen = Atn(y / Sqr(1 - y ^ 2)) End If End Function El arccos es un poco más complicado porque su dominio no es igual al de arctan, como sí era el de arcsen. Si y = cos x entonces sen 2 x = 1 y 2 y de aquí tan 2 x = (1 y 2 )/y 2. Entonces tan x = ± 1 y 2 /y. Si y > 0 es porque x [0, π/2[, y entonces x = arctan( 1 y 2 /y). Pero si y < 0 debe ser x ]π/2, π], por lo que x = π + arctan( 1 y 2 /y). Entonces 1 y 2 arctan si y > 0 y arccos y = 1 y 2 π + arctan si y < 0. y El caso y = 0 no cabe dentro de lo anterior. Para ese caso, arccos 0 = π/2. En resumen: Public Function ArcCos(y As Double) As Double Calcula el coseno inverso de y Dim a As Double Página 13 de 14 If y = 0 Then ArcCos = pi / 2 Else a = Atn(Sqr(1 - y ^ 2) / y) If y > 0 Then ArcCos = a Else ArcCos = pi + a End If

End Function 1.5 Como dijimos, falta resolver el caso LLA, que puede tener cero, una o dos soluciones. Y también falta algo importantísimo: la interfaz con el usuario! Eso queda para la próxima columna, pero ya avanzamos mucho en el desarrollo del motor matemático del programa. Página 14 de 14