Ejercicios: 1Eva_IIT2014_T2 Triángulos aleatorios en rectángulo
Propuesta de solución en Python, también se adjunta el diagrama en pdf
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IIT2014_T2 Triángulos aleatorios en rectángulo # Propuesta de solución: edelros@espol.edu.ec import numpy as np import random as rnd import matplotlib.pyplot as plt # INGRESO n = int(input(" cuántos triángulos: ")) maxa = int(input(" rango lado a: ")) maxb = int(input(" rango lado b: ")) # PROCEDIMIENTO equilatero = 0 isosceles = 0 escaleno = 0 colineal = 0 i = 1 while (i<=n): # puntos aleatorios x1 = int(rnd.random()*maxa) +0 y1 = int(rnd.random()*maxb) +0 x2 = int(rnd.random()*maxa) +0 y2 = int(rnd.random()*maxb) +0 x3 = int(rnd.random()*maxa) +0 y3 = int(rnd.random()*maxb) +0 # distancias entre puntos a = np.sqrt((x2-x1)**2 + (y2-y1)**2) b = np.sqrt((x3-x2)**2 + (y3-y2)**2) c = np.sqrt((x1-x3)**2 + (y1-y3)**2) # realiza la gráfica de cada triángulo plt.plot([x1, x2], [y1, y2]) plt.plot([x2, x3], [y2, y3]) plt.plot([x1, x3], [y1, y3]) # clasifica triángulos s1 = a + b s2 = b + c s3 = c + a if (s1==c or s2==a or s3==b): colineal = colineal + 1 else: if (a==b and b==c): equilatero = equilatero+1 else: if (a!=b and b!=c and c!=a): escaleno = escaleno+1 else: isosceles = isosceles+1 i=i+1 # SALIDA print("equilateros: ") print(equilatero) print("escalenos: ") print(escaleno) print("isosceles: ") print(isosceles) print("colineales: ") print(colineal) # muestra la gráfica plt.show()
Resultado del algoritmo
cuántos triángulos: 100 rango lado a: 10 rango lado b: 10 equilateros: 0 escalenos: 90 isosceles: 4 colineales: 6 >>> cuántos triángulos: 100 rango lado a: 10 rango lado b: 10 equilateros: 0 escalenos: 87 isosceles: 6 colineales: 7 >>>