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:
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
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.
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")