You are on page 1of 23

Fundamentos de algoritmia

Algoritmo
Nombre que proviene del matemtico persa del siglo IX Mohamed AlKhoWarizmi.

Alcanz gran reputacin por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir nmeros decimales; la traduccin al latn del apellido en la palabra algorismus deriv posteriormente en algoritmo.

Algoritmo - Definiciones
Brassard y Bratley(2000)
Conjunto de reglas para efectuar algn clculo, bien sea a mano o, ms frecuentemente, en una mquina

Joyanes(2003)

Mtodo para resolver problemas.

Torrealba( 2004)

Descripcin de los pasos bsicos a seguir para cumplir determinada tarea

Algoritmo - Definiciones

Para que una computadora realice una tarea es necesario

definir previamente un algoritmo

Algoritmo - Definiciones
La ejecucin de un algoritmo no debe implicar, normalmente:

Ninguna decisin subjetiva El uso de la intuicin El uso de la creatividad.

Ejemplo - Receta de cocina


Es un algoritmo si describe precisamente la forma de preparar un plato, proporcionando las cantidades exactas que deben de utilizarse y tambin instrucciones detalladas acerca del tiempo que debe guisarse.

No es un algoritmo si se incluyen nociones vagas como Sal y pimienta al gusto.

Algoritmos - Definiciones
Cuando un algoritmo debe ser ejecutado por un computador, se necesita expresar el algoritmo en instrucciones comprensibles por la computadora; para esto ltimo, se utilizan los lenguajes de programacin.

Al algoritmo expresado en un determinado lenguaje de programacin, se le denomina programa.

Algoritmos - Definiciones
Esto ndica que de un determinado problema o situacin dada, se elabora un algoritmo con los pasos necesarios para su solucin, y si se requiere sea ejecutado por un computador, se traduce el algoritmo a instrucciones editadas en un lenguaje de programacin.

Ejemplo algoritmo: Suma de dos nmeros

Algoritmos Resolucin de problemas


La principal razn para que las personas aprendan lenguajes de programacin es utilizar un computador como una

herramienta para la resolucin de problemas.

Algoritmos Fases para la resolucin de problemas

Fase de Identificacin (qu nos plantean)

Fase de resolucin del problema

Fase de implementacin (realizacin) en un lenguaje de programacin

Fase de resolucin del problema


Esta fase incluye

El anlisis del problema

El diseo

Verificacin del algoritmo.

Anlisis del problema


El primer paso para encontrar la solucin a un problema es el anlisis del mismo. Se debe examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que se solicita y determinar los datos necesarios para conseguirlo.

Diseo del algoritmo


Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigedades, que conducen a la resolucin de un problema dado y expresado en lenguaje natural, por ejemplo elespaol

Diseo del algoritmo


Preciso:
Indicando el orden de realizacin de cada uno de los pasos.

Definido:

Si se sigue el algoritmo varias veces proporcionndole los mismos datos, se deben obtener siempre los mismos resultados.

Finito:

Al seguir el algoritmo, este debe terminar en algn momento, es decir tener un nmero finito de pasos.

Diseo del algoritmo


Para Identificar las tareas disear ms importantes para un resolver el problema algoritmo Disponerlas en el se debe orden en el que han de comenzar ser ejecutadas. por:

Algoritmos - Diseo del algoritmo


Los pasos en esta primera descripcin pueden requerir una revisin adicional antes de que podamos obtener un algoritmo claro, preciso y completo. Este mtodo de diseo de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como mtodo descendente (top-down).

Diseo del algoritmo Partes de un algoritmo


Entrada
Informacin dada al algoritmo.

Proceso Salida

Operaciones o clculos necesarios para encontrar la solucin del problema.


Respuestas dadas por el algoritmo o resultados finales de los procesos realizados.

Diseo de algoritmos - Ejemplo


Supongamos que desea desarrollar un algoritmo que calcule la superficie de un rectngulo proporcionndole su base y

altura

Diseo de algoritmos - Ejemplo


Lo primero que debemos hacer es plantearnos las siguientes preguntas:
Especificaciones de entrada Que datos son de entrada? Cuntos datos se introducirn? Cuntos son datos de entrada vlidos? Especificaciones de salida Cules son los datos de salida? Cuntos datos de salida se producirn? Qu formato y precisin tendrn los resultados?

Diseo de algoritmos - Ejemplo

Paso 1. Entrada desde el teclado, de los datos de base y altura.

Paso 2. Clculo de la superficie, multiplicando la base por la altura.

Paso 3. Salida por pantalla de base, altura y superficie calculada.

Diseo del algoritmo Consideraciones


El lenguaje algortmico debe ser independiente de cualquier lenguaje de programacin particular, pero fcilmente traducible a cada uno de ellos. Alcanzar estos objetivos conducir al empleo de mtodos normalizados para la representacin de algoritmos, tales como los diagrama de flujo o pseudocdigo.

Verificacin de algoritmos
Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para las que se ha diseado y produce el resultado correcto y esperado. (este tema lo profundizaremos mas adelante)