Pág.65 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
En este ejemplo, la proposición se puede expresar de
dos formas equivalentes:
(matemáticas > 8.0)
(matemáticas <= 8.0)
La primera forma es más fácil de manipular por los
estudiantes, ya que si la proposición es verdadera
entonces “Si come helado” y si la proposición es falsa
entonces “NO come helado”; además, utiliza el operador
relacional mayor que (>).
La segunda forma (utilizada en el algoritmo) es más
compleja. En ella, si la proposición es verdadera
entonces “NO come helado” y si la proposición es falsa
entonces “SI come helado”. En esta forma se presenta
un “contrasentido” que puede desorientar a los
estudiantes. Además, hay que usar el operador
relacional menor o igual que, el cual se traduce en
MicroMundos [4] así:
(o :matemáticas < 8.0 :matemáticas = 8.0)
la relación de igualdad no se menciona explícitamente
en el enunciado del problema.
EJEMPLO
La profesora Ángela Cristina necesita calcular la nota definitiva para
cada uno de los 22 alumnos que asisten a su curso de geometría,
con el fin de saber quiénes aprobaron y quiénes reprobaron (para
aprobar hay que obtener una nota igual o superior a 6.5). Ella realizó
a todos sus estudiantes, en el primer periodo del año lectivo, dos
exámenes y asignó un trabajo de investigación. ¿Cómo puedes
ayudarle?
R/.
ANÁLISIS DEL PROBLEMA
Formular el problema: Se requiere calcular un promedio de tres
notas para cada uno de los 22 alumnos.
Resultados esperados: La nota definitiva de cada uno de los 22
alumnos y un aviso que indique si aprobó o no.
Datos disponibles: El número de alumnos: 22. Las notas de cada
alumno las debe digitar la profesora.
Restricciones: Cada una de las tres notas tienen el mismo
porcentaje en la nota definitiva. Tres notas por alumno y 22 alumnos.
Todas las notas deben ser mayores o iguales a 1 y menores o
iguales a 10. Para aprobar hay que tener un promedio igual o
superior a 6.5.
Procesos necesarios: Para cada uno de los 22 alumnos: Leer las
tres notas, verificar que estén en el rango permitido (entre 1 y 10),
sumarlas, calcular el promedio, verificar si aprobó o no. Mostrar el
promedio y un aviso que informe si aprobó o no.
DISEÑO DEL ALGORITMO
TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS
para notasDos
cumpleveces [estudiante 22]
[
pregunta [Ingrese la nota del primer examen ]
da "examenUno respuesta
pregunta [Ingrese la nota del segundo examen ]
da "examenDos respuesta
pregunta [Ingrese la nota del trabajo de investigación ]
da "trabajo respuesta
siotro (o :examenUno < 1 :examenUno > 10 :examenDos < 1
:examenDos > 10 :trabajo < 1 :trabajo > 10)
[
anuncia [Datos no validos ]
]
[
da "sumatoria :examenUno + :examenDos + :trabajo
da "promedio :sumatoria / 3
siotro (:promedio < 6.5)
[
da "aprobar [ -> NO aprobó el primer periodo de
Geometría ]
]
[
da "aprobar [ -> SI aprobó el primer periodo de
Geometría ]
]
Pág.66 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
muestra (frase [El promedio del estudiante ] :estudiante + 1
[ es ]
:promedio :aprobar)
]
]
fin
TRADUCCIÓN DEL ALGORITMO EN SCRATCH
Nótese que en este ejemplo se evalúa si la proposición
compuesta es verdadera entonces los datos no son
validos. Como se utiliza el operador lógico “o”, basta con
que una de las proposiciones sea verdadera para que
toda la proposición compuesta también lo sea.
Adicionalmente, en la traducción a Scratch se utilizan
estructuras condicionales anidadas (ver la sustentación
educativa del uso de estructuras anidadas al final de
esta sección).
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”.
DISEÑO DEL ALGORITMO
TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS
para triangulo
local "ANGULO1
local "ANGULO2
local "ANGULO3
local "EsRectangulo
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
da "EsRectangulo "NO ;inicializa la variable TIPO en NO
;si uno de los ángulos es igual a 90 cambia el valor de TIPO a
SI
si :ANGULO1 = 90 [da "EsRectangulo "SI]
si :ANGULO2 = 90 [da "EsRectangulo "SI]
si :ANGULO3 = 90 [da "EsRectangulo "SI]
;dependiendo del valor de EsRectangulo, muestra que tipo de
triángulo es
siotro :EsRectangulo = "SI
[
anuncia [SI es un Triángulo Rectángulo]
]
[
anuncia [NO es un Triángulo Rectángulo]
]
fin