Pág.22 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
de instrucciones, pasos o procesos que llevan a la
solución de un determinado problema. Los hay tan
sencillos y cotidianos como seguir la receta del médico,
abrir una puerta, lavarse las manos, etc; hasta los que
conducen a la solución de problemas muy complejos.
EJEMPLO
Un procedimiento que realizamos varias veces al día
consiste en lavarnos los dientes. Veamos la forma de
expresar este procedimiento como un Algoritmo:
1. Tomar la crema dental
2. Destapar la crema dental
3. Tomar el cepillo de dientes
4. Aplicar crema dental al cepillo
5. Tapar la crema dental
6. Abrir la llave del lavamanos
7. Remojar el cepillo con la crema dental
8. Cerrar la llave del lavamanos
9. Frotar los dientes con el cepillo
10. Abrir la llave del lavamanos
11. Enjuagarse la boca
12. Enjuagar el cepillo
13. Cerrar la llave del lavamanos
14. Secarse la cara y las manos con una toalla
EJEMPLO
El ejemplo de cambiar una bombilla (foco) fundida es uno de los más
utilizados por su sencillez para mostrar los pasos de un Algoritmo:
1. Ubicar una escalera debajo de la bombilla fundida
2. Tomar una bombilla nueva
3. Subir por la escalera
4. Girar la bombilla fundida hacia la izquierda hasta soltarla
5. Enroscar la bombilla nueva en el plafón hasta apretarla
6. Bajar de la escalera
7. Fin
En términos generales, un Algoritmo debe ser:
• Realizable: El proceso algorítmico debe terminar
después de una cantidad finita de pasos. Se dice
que un algoritmo es inaplicable cuando se ejecuta
con un conjunto de datos iniciales y el proceso
resulta infinito o durante la ejecución se encuentra
con un obstáculo insuperable sin arrojar un
resultado.
• Comprensible: Debe ser claro lo que hace, de
forma que quien ejecute los pasos (ser humano o
máquina) sepa qué, cómo y cuándo hacerlo. Debe
existir un procedimiento que determine el proceso
de ejecución.
• Preciso: El orden de ejecución de las instrucciones
debe estar perfectamente indicado. Cuando se
ejecuta varias veces, con los mismos datos iniciales,
el resultado debe ser el mismo siempre. La precisión
implica determinismo.
Un aspecto muy importante sobre el cual los estudiantes
deben reflexionar es la ambigüedad del lenguaje natural
que utilizan para comunicarse diariamente con sus
semejantes. La informalidad o formalidad en la
comunicación depende de elementos como vocabulario,
uso de comodines en lugar de vocablos precisos, uso de
adverbios coloquiales en lugar de adverbios formales,
etc. Es fundamental que los estudiantes aprendan a
diferenciar entre comunicación informal y comunicación
formal, cuya principal característica es la precisión. Los
algoritmos no admiten ningún tipo de ambigüedad ya
que los lenguajes de programación tienen un
vocabulario restringido y preciso. Esto exige la
utilización de un conjunto determinado de palabras,
mandos o primitivas en cualquiera de los procedimientos
que se elaboren.
ACTIVIDAD
Discutir en parejas el ejemplo de la bombilla y proponer algunas
mejoras. Luego, un voluntario pasa al tablero y escribe un Algoritmo
con participación de toda la clase.
Pensamiento Algorítmico
Cuando se habla de algoritmos, con frecuencia
aparecen tres tipos de pensamiento que generalmente
se relacionan con ellos y que se utilizan
indiscriminadamente como sinónimos: Pensamiento
Computacional, Pensamiento Algorítmico y Pensamiento
Procedimental. Por lo tanto es importante puntualizar a
qué se refiere cada uno de estos pensamientos.
Según Moursund (2006), el pensamiento computacional
hace referencia a la representación y solución de
problemas utilizando inteligencia humana, de máquinas
o de otras formas que ayuden a resolver el problema. El
pensamiento algorítmico se refiere al desarrollo y uso de
algoritmos que puedan ayudar a resolver un tipo
especifico de problema o a realizar un tipo especifico de
tarea. Por su parte, el pensamiento procedimental se
ocupa del desarrollo y utilización de procedimientos
diseñados para resolver un tipo especifico de problema
o para realizar un tipo especifico de tarea, pero que no
necesariamente, siempre resulta exitoso.
Por otra parte y de acuerdo con un reporte del Consejo
Nacional de Investigación de Estados Unidos (National
Research Council, NRC, 2004), conocido como “Being
Fluent with Information Technology”, el Pensamiento
Algorítmico incluye elementos tales como:
descomposición funcional, repetición (iteración y/o
recursión), organización de datos (registro, campo,
arreglo, lista, etc), generalización y parametrización,
diseño por descomposición de un problema en partes
más pequeñas y manejables (top-down) y refinamiento.
El Pensamiento Algorítmico está fuertemente ligado al
pensamiento procedimental requerido en la
programación de computadores; sin embargo, su
desarrollo puede conducir a los estudiantes a
aproximarse guiada y disciplinadamente a los problemas
de forma que este pueda transferirse a otros ambientes
diferentes a los de la programación. En pocas palabras,
la programación de computadores aporta al ámbito
escolar un laboratorio para desarrollar habilidades