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
Created with BuildVu