Saltar a contenido

Triángulos

Perímetro

Tenemos un triángulo del cual conocemos las coordenadas de sus 3 vértices. Escriba un programa que calcule su perímetro. Este problema es una extensión del ejercicio de distancia.

Ejemplo

Ingrese el valor de x1: 0
Ingrese el valor de y1: 0
Ingrese el valor de x2: 1
Ingrese el valor de y2: 0
Ingrese el valor de x3: 0
Ingrese el valor de y3: 1
El perímetro del triángulo es: 3.414213562373095
Solución
# Entrada de datos
x1 = float(input("Ingrese el valor de x1: "))
y1 = float(input("Ingrese el valor de y1: "))
x2 = float(input("Ingrese el valor de x2: "))
y2 = float(input("Ingrese el valor de y2: "))
x3 = float(input("Ingrese el valor de x3: "))
y3 = float(input("Ingrese el valor de y3: "))

# Cálculos
lado1 = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
lado2 = ((x3 - x2) ** 2 + (y3 - y2) ** 2) ** 0.5
lado3 = ((x1 - x3) ** 2 + (y1 - y3) ** 2) ** 0.5
perimetro = lado1 + lado2 + lado3

# Salidas
print("El perímetro del triángulo es:", perimetro)

Área 1

Realice un programa que calcule el área de un triángulo a partir de las longitudes de sus lados. Para calcularlo utilice la fórmula de Herón:

\[ A = \sqrt{s\,(s-a)(s-b)(s-c)} \]

donde \(a\), \(b\) y \(c\) son las longitudes de cada lado y \(s=\dfrac{a+b+c}{2}\) es el semiperímetro.

Ejemplo

Ingrese longitud de lado 1: 3
Ingrese longitud de lado 2: 4
Ingrese longitud de lado 3: 5
El área del triángulo es 6.0
Solución
# Entrada de datos
l1 = float(input("Ingrese longitud de lado 1: "))
l2 = float(input("Ingrese longitud de lado 2: "))
l3 = float(input("Ingrese longitud de lado 3: "))

# Cálculos
s = (l1 + l2 + l3) / 2 # semiperímetro
d1 = s - l1 # diferencia1
d2 = s - l2 # diferencia2
d3 = s - l3 # diferencia3
prod = s * d1 * d2 * d3 # producto de diferencias y semiperimetro
area= prod ** (1 / 2) # raíz cuadrada ¿cómo se podría hacer lo mismo utilizando math.sqrt()?

# Salida de datos
print("El área del triángulo es", area)

Área 2

El área de un triángulo se puede calcular a partir del valor de dos de sus lados, \(a\) y \(b\), y del ángulo \(\theta\) que estos forman entre sí con la fórmula

\[ A=\frac12a\,b\sin(\theta). \]

Diseñe un programa que pida al usuario el valor de los dos lados (en metros), el ángulo que estos forman (en grados), y muestre el valor del área.

Triángulo

Considere que la función sin de Python trabaja en radianes, así que el ángulo que lea en grados debe convertirse a radianes. Utilice un redondeo de \(2\) decimales al cálculo final del área.

Ejemplo

Ingrese el valor del lado a (metros): 1
Ingrese el valor del lado b (metros): 2
Ingrese el valor del ángulo theta (grados): 30
El área del triángulo es: 0.5 metros cuadrados
Solución
from math import sin, pi

# Entradas
a = float(input("Ingrese el valor del lado a (metros): "))
b = float(input("Ingrese el valor del lado b (metros): "))
theta = float(input("Ingrese el valor del ángulo theta (grados): "))

# Cálculos
angulo = theta * pi / 180
area = round(a * b * sin(angulo) / 2, 2)

# Salidas
print("El área del triángulo es:", area, "metros cuadrados")