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
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,
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
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")