sábado, 26 de marzo de 2016

Practica No. 8 Verificando tipo de triángulo

Tutorial Verificando tipo de triángulo

A través del presente te enseñaremos como distinguir un triángulo Equilatero, Isósceles y Escaleno mediante el uso de las funciones de Excel 2013.

Iniciamos, teclea los datos que a continuación se muestran, respetando sus ubicaciones:


Para las celdas "Longitudes" vamos a emplear la función "ALETORIO.ENTRE(valor inicial, valor final)", esta función permite generar de manera aleatoria un número, el cual estará comprendido entre los valores que se especifiquen, es decir si queremos que se generen valores del 1 al 5 en la celda C3, entonces tecleamos la siguiente fórmula en la celda mencionada:

                     =ALEATORIO.ENTRE(1,5)

y enseguida la copiamos hacia las dos celdas inferiores.    Para la generación de dichos números en las celdas C3, C4 y C5 simplemente oprime la tecla F9, y obtendremos algo semejante a lo siguiente:




En base a los valores mostrados en las celdas mencionadas previamente, emplearemos una fórmula que nos permita distinguir el tipo de triángulo de que se trata, es decir si es un EQUILATERO (tres lados iguales), o un ISÓSCELES (dos lados iguales) o un ESCALENO (tres lados distintos).

Cabe aclarar que esto no es nada rigorista, es decir simplemente comparamos los tres números entre si, nada más,  sin llegar a la verificación si realmente estos tres lados con las longitudes mostradas realmente formarían un triángulo, por ejemplo los lados 1, 1 y 3 si sólo nos fijamos en los valores se trataría de un triángulo ISÓSCELES, sin embargo si quisiéramos validar si efectivamente estos lados forman un triángulo, pues sencillamente NO, esto se debe a un teorema de la Geometría Euclidiana que dice:

"En todo triángulo la suma de las longitudes de dos lados cualquiera es siempre mayor a la longitud del lado restante"


Entonces empezamos con la solución sencilla, tecleamos la siguiente fórmula que nos permitirá distinguir el tipo de triangulo en la celda D6:

=SI(C3=C4,SI(C4=C5,"equilatero","isósceles"),SI(C3=C5,"isósceles",SI(C4=C5,"isósceles","escaleno")))

Quizá para aclarar un poco esta fórmula les presento el diagrama de flujo que la representa:



Ya introducida la fórmula, entonces procedemos a probar su efectividad, oprimimos varias veces la tecla F9, y obtenemos los cinco siguientes casos:

Caso (1):


Caso (2)



Caso (3):



Caso (4):


Caso (5):



Como valor agregado introduciremos un botón que al oprimirlo realizará la misma acción que al oprimir la tecla F9, entonces empleamos la opción de "Botón de comando (control ActiveX)" del comando "Insertar" del grupo "Controles" de la ficha "Desarrollador", colócalo en la parte inferior y asociale la siguiente programación (una sola instrucción), tal como se aprecia enseguida:


esto mismo se aplico en el tutorial "Simulación del lanzamiento de un dado", la programación debe ser:



no olvides desactivar el modo "Diseño" para que puedas emplear el botón, así como no olvides guardar el archivo con el tipo: "Libro de Excel habilitado para macros (*.xlsm)" y listo, hemos terminado con la Solución Uno (la sencilla).

La Solución Dos (la compleja) la realizaremos con el apoyo del lenguaje VBA, para ello podemos emplear la misma interface de usuario de la solución sencilla, sólo que eliminamos las fórmulas de las celdas "C3", "C4", "C5" y "D6" y además le cambiamos el texto que muestra el botón por "Genera números, valida y clasifica":


Te sugiero, primero salva tu archivo y después emplea la opción "Guardar como" y llamale de diferente forma (para que no pierdas la solución uno).

La solución será pura programación, así que para ello emplearemos la programación modular es decir, establecemos cuatro módulos, de la siguiente jerarquía:

  
El módulo principal sólo llamará a los módulos "generaNumeros" y "validaTeoremaGeometrico" cada vez que hagamos clic al botón "Genera numeros. valida y clasifica".

El módulo "generaNumeros" su única función será el de generar los números aleatorios del 1 al 5 y asignarlos a las celdas: "C3", "C4" y "C5" respectivamente.

El módulo "validaTeoremaGeometrico", su función como su nombre lo indica realizara una validación del teorema geométrico  que es validar las siguientes expresiones:
                       (a + b) > c,   (a + c) > b y (b + c) > a

es decir que la suma de dos lados del triángulo siempre será mayor que la longitud del tercer lado.

Cuando no cumpla alguna de éstas tres expresiones entonces se colocara el mensaje "No procede" en la celda "D6" y en caso contrario, es decir si cumple las tres expresiones, entonces llamará al modulo "checaTipoTriangulo". 

El módulo "checaTipoTriangulo" como su nombre lo indica, definirá el tipo de triángulo, así si los tres lados son iguales entonces colocará el mensaje "Equilatero", o si únicamente dos lados son iguales, el mensaje "Isósceles" o si los lados son diferentes entre si, el mensaje: "Escaleno" en la celda "D6".

La programación que deberás de asociar al botón mencionado es:


En esta programación emplee dos tipos de subrutinas: Sub y Function, la subrutina Sub es simplemente un conjunto de instrucciones que realizan una acción en particular, sin embargo la subrutina Function también realiza un acción en particular pero con la diferencia que regresa un resultado, es decir recibe datos y a cambio regresa un resultado, que en este caso regresa el texto "Equilatero" o "Isósceles" o "Escaleno").

Hemos terminado, no olvides guardar correctamente el archivo y además deshabilitar el modo "Diseño" para poder emplear el botón.

Hasta la próxima, espero que todo esto te sea de utilidad, saludos...



Tutorial "Creando Marcos en HTML"

Tutorial para crear Marcos (Frames) en HTML. Los marcos o  frames  nos permiten dividir una página web en varias ventanas que pueden cargar ...