Está en la página 1de 13

PAY1101 PROGRAMACIN DE ALGORITMOS

Unidad de Aprendizaje 1
Elementos y estructuras de algoritmos
EA 1: Encuentro cercano con el algoritmo
Aprendizaje Esperado:
Analizar posibles soluciones algortmicas
para soportar los requerimientos de la
organizacin
Entender el problema antes de
enfocarnos en la solucin

Inconscientemente y en forma automtica las


personas efectuamos una serie de pasos,
procedimientos o acciones que permiten
resolver un problema, sin tener consciencia
de ello.
Algoritmo

Esto, se produce cuando el problema que se tiene


enfrente se ha resuelto con anterioridad un gran nmero
de veces, por lo que no nos detenemos a enumerar los
pasos para resolverlo. Por ejemplo, si se quiere hacer una
llamada telefnica por celular, slo se hace, no nos
preguntamos qu algoritmo estamos utilizando para
resolver este problema, porque ya se ha aplicado ste de
manera automtica en varias ocasiones.
Conjunto de pasos que nos permiten resolver
un problema
Por ello, debemos tener claro que un algoritmo es un conjunto de
pasos, procedimientos o acciones que nos permiten alcanzar un
resultado o resolver un problema. Si se toma el mismo ejemplo de
realizar una llamada telefnica por celular a una persona conocida,
los pasos para lograr el objetivo, es decir, el algoritmo para
resolver el problema seran:
1. Desbloquear el celular si est bloqueado
2. Buscar el contacto telefnico
3. Marcar el nmero para realizar la llamada
4. Hablar con el contacto
5. Colgar
6. Y finalmente bloquear el celular si se quiere
Entonces, Cul sera el problema?

El problema es hacer una


llamada telefnica por celular a
un contacto conocido

Y Cul sera la solucin?


El algoritmo, es decir, el
conjunto de pasos que
soluciona el problema, previo
entendimiento del mismo.
El anlisis del problema es vital para definir el
algoritmo de solucin.

En este ejemplo, el algoritmo se realiza en forma


automtica sin previo anlisis y entendimiento del
problema, ya que es una accin realizada
frecuentemente. En un problema empresa, el
entendimiento debe realizarse previo al
algoritmo de solucin, ya que es un proceso vital
para la resolucin de ste.
Entender el problema antes de enfocarnos en
la solucin
Para el entendimiento del problema se deben distinguir los mdulos de un
algoritmo, o sea, la entrada, el proceso y la salida:

-En el ingreso de los datos de entrada


del problema, se encuentra
la persona a quien se va a llamar.
En el procesamiento se
debe:

En el procesamiento se debe:

1. Desbloquear el celular si est bloqueado


2. Buscar el contacto telefnico
3. Y marcar el nmero para realizar la llamada
4. Hablar con el contacto
5. Colgar
6. Y bloquear el celular si se quiere

. Y la salida se representa con el logro de haber realizado la llamada


telefnica.
Fases de un Algoritmo
Por otro lado, debemos tener presentes las diversas fases de un
algoritmo, las cuales son:
Anlisis del Problema
En el Anlisis del Problema, se requiere una clara definicin de lo
que debe hacer el programa y el resultado deseado. Para poder
definirlo, se recomienda resolver las siguientes preguntas:
Qu entradas se requieren?
Cules son las salidas esperadas?
Qu mtodo produce la salida deseada?
Diseo del Algoritmo

Diseo del Algoritmo


En el Diseo del Algoritmo se determina cmo
hace el programa la tarea solicitada. Es comn
utilizar tcnicas en la cual el problema se va
dividiendo en problemas ms pequeos para
aplicar el diseo del algoritmo, para esto,
considera la frase divide y vencers.
Codificacin
En la Codificacin se implementa el algoritmo en
un cdigo escrito y en un lenguaje de
programacin.
Compilacin y Ejecucin

La fase de Compilacin y Ejecucin


traduce el programa fuente a lenguaje
de mquina y lo ejecuta.
Verificacin y Depuracin

En las fases de Verificacin y


Depuracin el programador busca
errores de las etapas anteriores y los
corrige. Para realizar la verificacin se
deben probar una amplia gama de
datos. Se comprobar que mientras
ms tiempo se invierta en la fase de
anlisis y diseo menos tiempo se
perder en la depuracin del
Documentacin
La Documentacin consta de las
descripciones de los pasos en la resolucin
del problema. Programas pobremente
documentados son difciles de leer, de
depurar, de mantener y modificar.
Esta documentacin puede ser interna y
externa. La interna es la contenida en lneas
de comentarios. La externa por su parte,
incluye anlisis, diagramas de flujo,
pseudocdigos y manuales de usuario.
La documentacin es vital cuando se desea
corregir posibles errores futuros o bien
cambiar el programa.
Mantencin
Tales cambios se denominan Mantencin del
programa. Despus de cada cambio la
documentacin debe ser actualizada.

Con esto, podemos entender que los