Sie sind auf Seite 1von 14

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(C
4=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.


triangulo equilatero todos sus lados son iguales
triangulo hisoseles cateto1 = cateto2 y la hipotenusa es mayor
triangulo escaleno todos sus lados son diferentes
para este ejemplo en un caso de un triangulo hisoseles el ladoA y el ladoB son los
catetos y el ladoC la hipotenusa

y por último el código quedaría así

Private Sub Command1_Click()

ladoA = Val(LA.Text)
ladoB = Val(LB.Text)
ladoC = Val(LC.Text)

If ladoA = ladoB And ladoA = ladoC Then


MsgBox ("Equilátero") & vbNewLine & "LadoA =" & ladoA & vbNewLine & "ladoB ="
& ladoB & vbNewLine & "ladoC =" & ladoC
End If
If ladoC > ladoA And ladoC > ladoB And ladoA = ladoB Then
MsgBox ("Isósceles") & vbNewLine & "Cateto1 =" & ladoA & vbNewLine & "Cateto2
=" & ladoB & vbNewLine & "Hipotenusa =" & ladoC
End If
If ladoC <> ladoA And ladoC <> ladoB And ladoA <> ladoB Then
MsgBox ("Escaleno") & vbNewLine & "LadoA =" & ladoA & vbNewLine & "ladoB ="
& ladoB & vbNewLine & "ladoC =" & ladoC
End If

End Sub
En ocasiones necesitamos escribir una fecha
según el limite de edad en Excel, por ejemplo
para verificar la mayoría de edad, desde la fecha
de nacimiento.

En nuestra hoja disponemos de la celda F1 del límite de edad asignado para las
fechas. En la columna B insertamos la fecha de nacimiento que deseamos
validar. En la columna C nos mostrará la edad real de la persona.

A B C D E F

1 Nombre Fecha de nacimiento Edad Limite de edad: 18

Emplearemos las siguientes funciones anidadas:

 Función SI. Comprueba si se cumple una condición y devuelve un valor si se evalúa


como VERDADERO y otro valor si se evalúa como FALSO.
 Función HOY. Devuelve la fecha actual.
 Función TRUNCAR. Convierte un número decimal a entero, quitando la parte
decimal.
 VALIDACIÓN DE DATOS
1. Seleccionar el rango B2:B3. O el rango deseado.
2. Ir a: Cinta de opciones / Pestaña: Datos / Grupo: Herramientas de datos /
Validación de datos / Validación de datos. Mostrará la ventana de
validación.

3. Ir a: Pestaña Configuración.
4. Ir a: Criterio de validación / Permitir / Seleccionar: Personalizada.
5. Ir a: Fórmula / Escribir:
= SI(B2<=(HOY() - (365*$F$1)); VERDADERO; FALSO)

 EDAD
1. Ir a: Celda C2 / Escribir:
=TRUNCAR((HOY()-B2)/365;0)

2. Copiar la celda C2 / Pegar en el rango deseado.


 VERIFICAR LA VALIDACIÓN
1. Ir a: Celda B2 / Escribir: 12/05/2006. Verificar como no permite la fecha, al
ser inferior a 18 años.
2. Ir a: Celda B2 / Escribir: 05/07/1985. Verificar como permite la escritura, al
ser superior a 18 años.
3. La celda C2 mostrará la edad correspondiente a la fecha de nacimiento.
En ocasiones necesitamos escribir una fecha
según el limite de edad en Excel, por ejemplo
para verificar la mayoría de edad, desde la fecha
de nacimiento.

En nuestra hoja disponemos de la celda F1 del límite de edad asignado para las
fechas. En la columna B insertamos la fecha de nacimiento que deseamos
validar. En la columna C nos mostrará la edad real de la persona.

A B C D E F

1 Nombre Fecha de nacimiento Edad Limite de edad: 18

Emplearemos las siguientes funciones anidadas:

 Función SI. Comprueba si se cumple una condición y devuelve un valor si se evalúa


como VERDADERO y otro valor si se evalúa como FALSO.
 Función HOY. Devuelve la fecha actual.
 Función TRUNCAR. Convierte un número decimal a entero, quitando la parte
decimal.
 VALIDACIÓN DE DATOS
1. Seleccionar el rango B2:B3. O el rango deseado.
2. Ir a: Cinta de opciones / Pestaña: Datos / Grupo: Herramientas de datos /
Validación de datos / Validación de datos. Mostrará la ventana de
validación.

3. Ir a: Pestaña Configuración.
4. Ir a: Criterio de validación / Permitir / Seleccionar: Personalizada.
5. Ir a: Fórmula / Escribir:
= SI(B2<=(HOY() - (365*$F$1)); VERDADERO; FALSO)

 EDAD
1. Ir a: Celda C2 / Escribir:
=TRUNCAR((HOY()-B2)/365;0)

2. Copiar la celda C2 / Pegar en el rango deseado.


 VERIFICAR LA VALIDACIÓN
1. Ir a: Celda B2 / Escribir: 12/05/2006. Verificar como no permite la fecha, al
ser inferior a 18 años.
2. Ir a: Celda B2 / Escribir: 05/07/1985. Verificar como permite la escritura, al
ser superior a 18 años.
3. La celda C2 mostrará la edad correspondiente a la fecha de nacimiento.
1111111111111111111111111111111111111111111111111111111111111111111111111111

Sub calcular()

Dim a As Double

Dim b As Double

Dim c As Double

Dim perimetro As Double

Dim p As Double 'semi perimetro

Dim area As Double

a = triangulo.Range("b3").Value

b = triangulo.Range("b5").Value

c = triangulo.Range("b7").Value

If (a + b) > c And (a + c) > b And (b + c) > a Then

perimetro = a + b + c

p = perimetro / 2

area = Math.Sqr(p * (p - a) * (p - b) * (p - c))

triangulo.Range("B9").Value = area

triangulo.Range("B11").Value = perimetro

If a = b And b = c And c = a Then

triangulo.Range("B13").Value = "equilatero"
End If

Else

MsgBox "triangulo no existe"

End If

End Sub

2222222222222222222222222222222222222222222222222222222222222222222222222

Sub limpiar()

'limpiar las celdas

triangulo.Range("b3").Value = ""

triangulo.Range("b5").Value = Empty

triangulo.Range("b7,b9,b11,b13").Value = ""

Das könnte Ihnen auch gefallen