Pág.53 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
psicólogos han llegado a sugerir que la programación
alienta el estudio de las matemáticas, facilita la
comprensión de conceptos de esta disciplina, admite
explorar activamente campos de conocimiento, permite
desarrollar habilidades y ofrece un lenguaje que permite
describir la forma personal de resolver problemas.
EJEMPLO 3-9
Calcular el valor de la sumatoria: 1 + 2 + 3 + 4 +5 + … + 100.
R/.
ANÁLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente formulado.
Resultados esperados: El resultado de la suma de los números
entre 1 y 100.
Datos disponibles: El rango de números dado.
Restricciones: Ninguna.
Procesos necesarios: guardar el número 0 en una variable e
incrementarla en 1 cada vez que se ejecute el ciclo repetitivo.
Guardar 0 en otra variable e ir acumulando en ella su propio valor
más el valor de la primera variable.
DISEÑO DEL ALGORITMO
Este algoritmo utiliza una operación muy útil en programación:
sumatoria = sumatoria + contador
Consiste en almacenar en una variable sumatoria el valor de ella
misma (sumatoria) más otro valor variable (contador). Es muy
utilizada para acumular valores.
TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS
Con el Mando repite:
para suma100a
bnombres
da "contador 0
da "sumatoria 0
repite 100
[
da "contador :contador + 1
da "sumatoria :sumatoria + :contador
muestra nombres
]
muestra frase
[El valor de la suma 1 + 2 + 3 + . . . + 100 es ] :sumatoria
fin
Ahora el mismo algoritmo pero con el Mando cumpleveces de
MicroMundos:
para suma100b
bnombres
da "sumatoria 0
cumpleveces [contador 100 ]
[
da "sumatoria :sumatoria + :contador + 1
muestra nombres
]
muestra frase
[El valor de la suma 1 + 2 + 3 + . . . + 100 es ] :sumatoria
fin
Los procedimientos suma100a y suma100b son
equivalentes, realizan la misma tarea. La primitiva de
MicroMundos cumpleveces utilizada en el
procedimiento suma100b tiene una ventaja adicional
con respecto a repite : incorpora una variable que
aumenta en uno su valor cada vez que se ejecuta un
ciclo de la estructura iterativa. La variable, que en este
caso se llama contador inicia en 0 y termina en 99,
para un total de 100 ciclos. Por este motivo se necesita
sumarle uno a contador para que tome valores entre 1
y 100.
TRADUCCIÓN DEL ALGORITMO EN SCRATCH
EJEMPLO 3-10
La profesora Ángela Cristina necesita calcular la nota definitiva para
cada uno de los 22 alumnos que asisten a su curso de geometría.
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/.
Pág.54 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
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.
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.
Procesos necesarios: Para cada uno de los 22 alumnos: Leer las
tres notas, sumarlas, calcular el promedio y mostrar el promedio.
DISEÑO DEL ALGORITMO
TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS
para notas
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
da "sumatoria :examenUno + :examenDos + :trabajo
da "promedio :sumatoria / 3
muestra (frase [El promedio del estudiante ] :estudiante + 1 [ es
]
:promedio)
]
Fin
TRADUCCIÓN DEL ALGORITMO EN SCRATCH
El procedimiento notas realiza la misma tarea 22 veces:
leer tres notas, sumarlas, promediarlas y mostrar el
promedio. La manera más eficiente de resolver este
problema es mediante una estructura iterativa. Nótese
que los valores de las notas que ingresa el usuario no se
validan, esto puede ocasionar que alguien digite una
nota de, por ejemplo, 960; lo que dará como resultado
un promedio fuera del rango permitido. Este aspecto se
atiende con la siguiente estructura, la condicional.
Los ejemplos anteriores ilustran la solución de
problemas mediante la utilización de estructuras
repetitivas. En ellos se puede apreciar claramente la
forma como esta estructura simplifica algunas
soluciones, en comparación con soluciones cuya
estructura es secuencial.
Por otro lado, la estructura repetitiva es muy apropiada
para explorar los conceptos de multiplicación (suma
cuyos sumandos son iguales) y potenciación
(multiplicación de factores iguales).
EJEMPLO 3-11
Elaborar un procedimiento para calcular tablas de multiplicar. El
usuario debe ingresar qué tabla de multiplicar desea.
R/.
ANÁLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente formulado.
Resultados esperados: La tabla de multiplicar que el usuario
indique.
Datos disponibles: El número de la tabla (indicada por el usuario).
Restricciones: Ninguna.
Procesos necesarios: pedir al usuario que ingrese la tabla de
multiplicar que desea. Guardar ese valor en una variable (tabla).
Multiplicar cada uno de los valores entre 0 y 9 por la variable tabla.
Mostrar el resultado de cada multiplicación.