Pág.70 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
Resultados esperados: Un aviso que reporte si el estudiante
“Aprobó” o “Reprobó” el examen.
Datos disponibles: La calificación ingresada por el usuario. Para
aprobar, la nota debe ser mayor o igual a 6.0.
Restricciones: Aplicar el criterio de aprobación.
Procesos necesarios: Solicitar al usuario que ingrese la calificación.
Evaluar si la calificación es igual o superior a 6.0; en caso de ser
verdadero, reportar “Aprobado”; en caso contrario, reportar
“Reprobado”.
DISEÑO DEL ALGORITMO
TRADUCCIÓN DEL ALGORITMO
para aprueba1
local "calificación
preguntas [Ingrese la Calificación]
da "calificación respuesta
siotro (o :calificación > 6.0 :calificación = 6.0)
[
anuncia [Aprobado]
]
[
anuncia [Reprobado]
]
fin
Obsérvese que MicroMundos arroja un mensaje de error
cuando se ejecuta el procedimiento: “No sé cómo hacer
preguntas en aprueba1”. Este error se produce porque
el comando pregunta está mal escrito, en su lugar se
escribió preguntas. El problema se soluciona al escribir
correctamente el comando indicado.
Fallas de lógica
Este tipo de falla se presenta tanto en MicroMundos
como en Scratch. Para identificar fallas de tipo lógico en
un procedimiento que no se interrumpe en ningún
momento y que arroja unos resultados, estos se deben
revisar cuidadosamente. Uno de los procedimientos más
utilizados es el que se conoce como prueba de
escritorio. Esta consiste seguir paso a paso cada una de
las instrucciones del procedimiento, asignando valores
iniciales a variables y constantes y, realizando las
operaciones indicadas en cada instrucción hasta llegar
al final del procedimiento. Luego, comparar los
resultados que produce la prueba de escritorio con los
resultados que arroja el procedimiento; ambos conjuntos
de resultados deben ser iguales. Esta metodología es
viable cuando los procedimientos son sencillos, con
pocas instrucciones.
En caso de presentarse una falla de lógica, el estudiante
debe:
• Examinar el diagrama de flujo para detectar
instrucciones que faltan, sobran o que se encuentran
en la posición incorrecta
• Asegurarse que las instrucciones representan
rigurosamente el diagrama de flujo
• Utilizar las opciones de MicroMundos y Scratch para
ver la ejecución del programa en forma lenta.
EJEMPLO 4-2
Continuamos con el mismo ejemplo: Elaborar un procedimiento que
pida al usuario una calificación, aplique el criterio de aprobación e
imprima “Aprobado” o “Reprobado”, según sea el caso. Con el fin de
ejemplificar una falla de lógica, se debe digitar en el área de
procedimientos de MMP el siguiente código que representa el
algoritmo del ejemplo 4-1.
TRADUCCIÓN DEL ALGORITMO
para aprueba2
local "calificación
pregunta [Ingrese la Calificación]
da "calificación respuesta
siotro (o :calificación < 6.0 :calificación = 6.0)
[
anuncia [Aprobado]
]
[
anuncia [Reprobado]
]
fin
Obsérvese que el procedimiento “aprueba2” se ejecuta
correctamente; no aparece ningún error de sintaxis.
Pero no funciona bien desde el punto de vista lógico. Si
lo probamos con el valor 5, el procedimiento nos reporta
que el estudiante aprobó la materia, cuando esto no es
correcto. Si lo probamos con 7, nos reporta que el
estudiante reprobó, cuando tampoco es exacto. En
cambio, cuando lo probamos con 6 nos dice que el
estudiante aprobó y este dato si es correcto. El
problema radica en que en el comando siotro se digitó
erróneamente “<” en lugar de “>”, tal como aparece en el
diagrama de flujo.
Adicionalmente, en este ejemplo se puede observar la
sintaxis en MicroMundos de los operadores lógicos (y, o,