Pág.21 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
UNIDAD 2: ALGORITMOS, CONCEPTOS BÁSICOS
¿QUÉ ES UN ALGORITMO?
Ilustración 2-1: Segunda fase del ciclo de programación.
Luego de analizar detalladamente el problema hasta
entenderlo completamente, se procede a diseñar un
algoritmo (trazar un plan) que lo resuelva por medio de
pasos sucesivos y organizados en secuencia lógica. El
concepto intuitivo de algoritmo (procedimientos y reglas)
se puede encontrar en procesos naturales de los cuales
muchas veces no se es conciente. Por ejemplo, el
proceso digestivo es un concepto intuitivo de algoritmo
con el que se convive a diario sin que haga falta un
definición “matemática” del mismo. Tener claro el
proceso digestivo, no implica que los alimentos
consumidos nutran más. La familiaridad de lo cotidiano
impide a las personas ver muchos algoritmos que se
suceden a su alrededor. Procesos, rutinas o biorritmos
naturales como la gestación, las estaciones, la
circulación sanguínea, los ciclos cósmicos, etc, son
algoritmos naturales que generalmente pasan
desapercibidos.
La rama del saber que mayor utilización ha hecho del
enfoque algorítmico es las matemáticas. Durante miles
de años el ser humano se ha esforzado por abstraer la
estructura de la solución de problemas con el fin de
determinar claramente cuál es el camino seguro, preciso
y rápido que lleva a esas soluciones. Son abundantes
los ejemplos: máximo común divisor, teorema de
Pitágoras, áreas de figuras geométricas, división, suma
de números fraccionarios, etc. Todos estos algoritmos
matemáticos independizan los datos iniciales del
problema de la estructura de su solución, lo que permite
su aplicación con diferentes conjuntos de datos iniciales
(variables).
EJEMPLO
Consideremos el algoritmo de Euclides para hallar el Máximo Común
Divisor (MCD) de dos números enteros positivos dados. Obsérvese
que no se especifica cuáles son los dos números, pero si se
establece claramente una restricción: deben ser enteros y positivos.
ALGORITMO EN SEUDOCÓDIGO
Paso 1: Inicio.
Paso 2: Leer los dos números (“a” y “b”). Avanzar al paso 3.
Paso 3: Comparar “a” y “b” para determinar cuál es mayor. Avanzar
al paso 4.
Paso 4: Si “a” y “b” son iguales, entonces ambos son el resultado
esperado y termina el algoritmo. En caso contrario, avanzar al paso
5.
Paso 5: Si “a” es menor que “b”, se deben intercambiar sus valores.
Avanzar al paso 6; si “a” no es menor que “b”, avanzar al paso 6.
Paso 6: realizar la operación “a” menos “b”, asignar el valor de “b” a
“a” y asignar el valor de la resta a “b”. Ir al paso 3.
Investigaciones realizadas en Educación Básica (en
ambientes constructivistas) recomiendan incluir la
solución de problemas en el currículo de matemáticas
de forma que provea oportunidades a los estudiantes
para crear sus propios algoritmos y generalizarlos a un
conjunto específico de aplicaciones (Wilson, Fernández
& Hadaway, 1993). Los estudiantes deben reflexionar
sobre sus habilidades de planificación y sobre cómo
pueden utilizar esas habilidades en diferentes contextos.
Por otra parte, en un estudio sobre Logo (Clements &
Meredith, 1992), se concluye que cuando los maestros
enfatizaron en la elaboración de un plan para desarrollar
un procedimiento matemático (este incluía el uso de
estrategias como dividir conceptos grandes en otros
más pequeños) encontraron que los estudiantes
empezaron a utilizar con mayor frecuencia estrategias
de planificación y de dibujo para resolver problemas
matemáticos en los cuales no utilizaban Logo.
Dato Curioso
La palabra Algoritmo tiene su origen en el nombre del matemático
Persa "Mohamed ibn Musa al Khwarizmi" (825 d.C.). Su apellido fue
traducido al latín como Algorismus y posteriormente paso al español
como Algoritmo. Khwarizmi fue bibliotecario en la corte del califa al-
Mamun y astrónomo en el observatorio de Bagdad. Sus trabajos de
álgebra, aritmética y tablas astronómicas adelantaron enormemente
el pensamiento matemático y fue el primero en utilizar la expresión
al-yabr (de la que procede la palabra álgebra). Su trabajo con los
algoritmos introdujo el método de cálculo utilizando la numeración
arábiga y la notación decimal.
En el ámbito de la computación, los Algoritmos son una
herramienta que permite describir claramente un
conjunto finito de instrucciones, ordenadas
secuencialmente y libres de ambigüedad, que debe
llevar a cabo un computador para lograr un resultado
previsible. Vale la pena recordar que un programa de
computador consiste de una serie de instrucciones muy
precisas y escritas en un lenguaje de programación que
el computador entiende (Logo, Java, Pascal, etc).
En resumen, un Algoritmo es una secuencia ordenada