martes, 19 de diciembre de 2017

¿Cómo clasificar triángulos algorítmicamente? ¡Elemental, querido Pitágoras!

Triángulo obtusángulo inscrito en cuadrado con proporciones entre lados

Desde la escuela básica, se enseña que en un triángulo rectángulo, la sumatoria de los cuadrados de los catetos, es igual al cuadrado de la hipotenusa. Todo ello requiere de previo saber que un triángulo rectángulo tiene un ángulo rectcto (90 grados) entre catetos 


 Aritmo-geometría del teorema de Pitágoras versus versión algebraica

Conociendo también previamente lo que es el sistema numérico sexagesimal de origen caldeo-babilónico, con grados, minutos, segundos.

 
Cálculo babilónico de la raíz cuadrada de dos a cinco decimales con precisión 

La tableta mesopotámica conocida como Yale YBC 7289, tiene un diagrama de un cuadrado con 30 en un lado, las diagonales están dibujadas y cerca del centro están escritos los números 1,24,51,10 y 42,25,35,  en el sistema sexagesimal babilónicos. 

Así, el cálculo del conocido como Teorema de Pitágoras, que el cuadrado de la hipotenusa es igual al la suma de los los cuadrados de los catetos, asume también por defecto, conocer previamente que los lados menores son los catetos y la hipotenusa el lado más largo, además que el área de la figura geométrica cuadrada proyectada por cada uno de los catetos son áreas que sumadas tienen como resultado al área de la figura geométrica cuadrada proyectada de la hipotenusa, como también, que el cálculo de cada área, es el cuadrado, resultado del producto de un lado multiplicado por sí mismo. Retornando así, a los fundamentos históricos del teorema, con la aritmogeometría pitagórica, que por lo común se ignora, cuando se representa la fórmula algebraica:   a^2 + b^2 = c^2, como enunciado del teorema.

Sumatoria de los cuadrados de los catetos (áreas) 
yuxtapuesta con cuadrado de hiptotenusa (área).

Puede parecer trivial redundar en tales conceptos, pero cómo enseñarle a operar con este teorema, a alguien o algo, que no tiene ninguno de estos conocimientos previos.  Eso sucede, cuando se pretende programar sistemas de cómputo, cada objeto, cada variable, cada procedimiento tiene que ser explícitamente definido desde cero.
 
Teorema de Pitágoras animado, en versión volumétrico-espacial

Entonces para poner a resolver el problema a un sistema de cómputo, se le deben dar las instrucciones paso a paso, como haría un buen profesor con un principiante, con la diferencia, que si el problema no es resuelto, no se culpa al alumno, sino al profesor por no dar las instrucciones correctas. 

Tres tipos de triángulos, por sus lados

Por lo que si se quiere diferenciar el triángulo rectángulo, de aquellos otros triángulos que no lo son, esto es, un acutángulo, con un ángulo menor de 90 grados, o un obtusángulo, mayor de 90 grados, debe definirse una fórmula, un algoritmo, un procedimiento algebraico explícito para cada uno. Una opción tradicional para el cálculo de "c", esto es, la hipotenusa en el triángulo rectángulo; o uno de los lados más largos o el más corto en el acutángulo; o el más largo en el obtusángulo; es el teorema de Pitágoras generalizado, asumiendo que el concepto de catetos e hipotenusa, siguen siendo privativos de los triángulos rectángulos. 


No obstante, se requiere otro procedimiento, para una resolución algorítimica de la clasificación analítica de triángulos. He aquí una estrategia alternativa simple:
  1. Triángulo  rectángulo (90 grados):  a^2 + b^2 - c^2 = 0   esto es, la suma de los cuadrados de los lados menores, menos el cuadrado de la hipotenusa es igual a cero.
  2. Triángulo obtusángulo (Mayor de 90 grado):  a^2 + b^2 - c^2 > 0  esto es, la suma de los cuadrados de los lados, menos el cuadrado del tercer lado (menor o igual a uno de los otros lados) es mayor a cero.  El resultado deber ser un número positivo.   
  3. Triángulo acutángulo (Menor de 90 grados):  a^2 + b^2 - c^2 < 0   esto es, la suma de los cuadrados de los lados, menos el cuadrado del tercer lado (mayor que los otros) es menor a cero.  El resultado debe ser un número negativo.
Estas son simples derivaciones del teorema de Pitágoras, y permiten definir de manera explícita la diferencia entre triángulos, de acuerdo a la previa clasificación, y esto también permite definir un algoritmo de resolución de este problema, es decir, se introducen los valores de los lados del triángulo en a^2+b^2-c^2 y dependiendo si el resultado es 0, positivo o negativo, se obtiene la respuesta al tipo de triángulo qué es. Luego se procede a implementarlo en cualquiera de los lenguajes de programación de alto nivel, y se tiene un programa para realizar este cálculo de manera automática, una tarea básica para programadores principiantes. 

Una forma de programar en el lenguaje C++, un algoritmo de solución al problema, de cómo a partir de los lados de un triángulo, saber si este es rectángulo, acutángulo o obtusángulo, es la siguiente:

#include
using namespace std;
int main()
{
    int a, b, c, A, B, C;
    cout <> a;
    cout <> b;
    cout <> c;
    A = (b*b+c*c-a*a);
    B = (a*a+c*c-b*b);
    C = (a*a+b*b-c*c);
    if(A == 0 || B == 0 || C == 0)
        cout < 0 && B > 0 && C > 0)
        cout << "El triangulo es acutangulo. ";
    if(A < 0 || B < 0 || C < 0)
        cout << "El triangulo es obtusangulo. ";

Debe tomarse en cuenta, que los lenguajes de programación, asumen por defecto tanto los operadores aritméticos tradicionales, como: suma: +, resta: -, multiplicación: *, división /, los relacionales como: mayor que >, menor que <, mayor o igual que >=, menor o igual que <=, igual ==, diferente !=;  y los lógicos, como los condicionales ternarios: Si…entonces (If...else), los binarios como la conjunción && (y/and), la disyunción
|| (o/or) y el unitario de negación ! (no/not); como también principios algebraicos: función o asignación de valores por medio de operaciones como: A=(b*b+c*c-a*a), argumentos (variables como A, B, C) y valores (constantes, como a, b, c).  Además, en este caso, si en cualquiera de los tres formas de tomar el teorema resulta 0 es rectángulo, por lo tanto se usa el operador disyuntivo ||. Para ser acutángulo, las tres formas del teorema deben ser mayores a 0, se usa el operador conjuntivo &&. Con una sola forma del teorema que resulte menor a 0 es obtusángulo, se usa también ||.

1 comentario:

  1. Your Affiliate Profit Machine is ready -

    And getting it running is as easy as 1-2-3!

    Follow the steps below to make money...

    STEP 1. Tell the system what affiliate products the system will push
    STEP 2. Add PUSH BUTTON traffic (this ONLY takes 2 minutes)
    STEP 3. Watch the affiliate products system explode your list and sell your affiliate products for you!

    Are you ready to make money automatically???

    Click here to make money with the system

    ResponderEliminar