Pág.67 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
TRADUCCIÓN DEL ALGORITMO EN SCRATCH
En este ejemplo se evalúa una a una las proposiciones
para determinar sí uno de los ángulos es igual a 90.
Nótese que la variable esRectángulo se inicializa con el
valor “NO”, en caso de que cualquiera de los ángulos
sea igual a 90, entonces la variable esRectangulo se
cambia a “SI”. Finalmente se evalúa el valor resultante
de esta variable para mostrar el mensaje “si” o “no” es
un triángulo rectángulo.
EJEMPLO
Escribir un procedimiento para leer los valores de dos de los tres
ángulos internos de un triángulo y mostrar en pantalla “Es un
Triángulo Rectángulo” si efectivamente es un triángulo de este tipo o,
en caso contrario, mostrar “No es un Triángulo Rectángulo”. Utilizar
operadores lógicos en la solución.
DISEÑO DEL ALGORITMO
TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS
para triangulo
local "ANGULO1
local "ANGULO2
local "ANGULO3
pregunta [Ingrese el 1er Ángulo del Triángulo]
da "ANGULO1 respuesta
pregunta [Ingrese el 2do Ángulo del Triángulo]
da "ANGULO2 respuesta
da "ANGULO3 180 - :ANGULO1 - :ANGULO2
siotro (o :ANGULO1 = 90 :ANGULO2 = 90 :ANGULO3 = 90)
[
anuncia [SI es un Triángulo Rectángulo]
]
[
anuncia [NO es un Triángulo Rectángulo]
]
fin
TRADUCCIÓN DEL ALGORITMO EN SCRATCH
Pág.68 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
Esta es una solución más simple, corta y elegante que la
hallada en el ejemplo anterior. La utilización del
operador lógico “o” permite evaluar en una sola
instrucción si alguno de los ángulos vale 90. Un
problema inesperado a plantear a los estudiantes
consiste en preguntarles ¿qué pasa si alguien digita
valores para los ángulos que sumados den más de 180?
¿cómo controlar que esto no suceda?
TIP
En un programa se pueden incluir varias cláusulas
condicionales anidadas. Los comandos si y siotro se
pueden anidar de igual manera como se anida la función
si (if) en la Hoja de Cálculo.
ACTIVIDAD
Tomando como base el ejemplo anterior, realizar las
modificaciones necesarias para que adicionalmente, el
programa muestre en pantalla “No es un Triángulo” en
caso de que cualquiera de los ángulos sea menor o
igual a cero.
Estructuras condicionales anidadas
Hay situaciones que requieren el uso de estructuras
condicionales anidadas. En estas, el resultado de la
primera proposición implica evaluar a continuación una
segunda proposición y esta a su vez requiere que se
evalúe una tercera proposición, y así sucesivamente,
hasta agotar todas las condiciones.
Plantear estructuras algorítmicas anidables (iterativa y
condicional) requiere procesos de pensamiento
asociados con el sistema operatorio de clasificación o
inclusión. Este sistema se empieza a adquirir cuando los
niños trabajan con inclusiones de clases tales como:
gatos(A) < felinos(B) < animales(C) < seres vivos(D).
Pero el sistema de clasificación está basado en cinco
operaciones: Composición (A+A'=B, B+B'=C, B-A'=A, C-
B'=B); Inversión (-A-A'=-B); Identidad (A-A=0);
Tautología (A+A=A, donde A+B=B); Asociatividad
(A+(A'+B')=(A+A')+B').
Para poder determinar rápida y efectivamente cuándo la
solución de un problema requiere estructuras anidadas,
se deben manejar sistemas de clasificación o inclusión
de clases.
El siguiente caso ilustra muy bien este punto: "Se
requiere elaborar un procedimiento que permita
determinar para un grupo de 10 personas si tienen
derecho o no a jubilarse a partir de los datos género,
edad y años de aportes; y las siguientes condiciones: si
es hombre debe tener más de 65 años de edad y más
de 60 años si es mujer, pero en todo caso se deben
haber realizado aportes por más de 20 años".
Para resolver este problema se puede plantear la
siguiente inclusión de clases: edad(A) < género(B) <
aportes(C).
.