Você está na página 1de 18

ING.

RAFAEL ISRAEL COBIAN BUENO

La resolucin de un problema con una computa-dora s e hace escribiendo un programa, que exige al menos los siguientes pasos: 1. Definicin o anlisis del problema. 2. Diseo del algoritmo. 3. Transformacin del algoritmo en un programa. 4. Ejecucin y validacin del programa.
Uno de los objetivos fundamentales es el aprendizaje y diseo de los algoritmos.

El proceso de resolucin de un problema conduce a la escritura de un programa y a su ejecucin. Las fases de resolucin de un problema con computador a son: Anlisis del problema. Diseo del algoritmo. Codificacin. Compilacin y ejecucin. Verificacin. Depuracin. Mantenimiento y documentacin.

La palabra algoritmo se deriva de la traduccin al latn de la pala bra Alkho-warizmi, nombre de un matemtico Persa que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el s iglo IX. Un algoritmo es un mtodo para resolver un problema una serie de pasos, definidos y finitos.
Caractersticas de un algoritmo preciso (indicar el orden de realizacin en cada paso) definido (si se sigue 2 veces, obtiene el mismo resultado) finito (tiene fin; un nmero determinado de pasos). Los algoritmos se pueden expresar por frmulas, diagramas de fluj o y pseudocdigos

mediante

Esta fase requiere una clara definicin, donde se conte mple exactamente lo que debe hacer el programa y el re sultado o solucin deseada. El problema se analiza teniendo presente la especificac in de los requisitos dados por el cliente de la empresa o por la persona que encarga el programa.

Para poder definir bien un problema es conveniente res ponder a las siguientes preguntas: Qu entradas se requieren? (tipo y cantidad). Cul es la salida deseada? (tipo y cantidad). Qu mtodo produce la salida deseada?.
Resolucin de un problema Resolucin mediante computadora

Anlisis del problema

Diseo del algoritmo

En la etapa de diseo se determina como hace el programa la tarea solicitada. Los mtodos ms eficaces para el proceso de diseo se basa n en el conocido por divide y vencers.

Este mtodo se conoce tcnicamente como diseo descende nte (top-down) o modular.
Cada subprograma es resuelto mediante un mdulo (subprograma) que tiene un solo punto de entrada y un solo punto de salida.

Cualquier programa bien diseado consta de un programa principal (el mdulo de nivel ms alto) que llama a subprogramas (mdulos de nivel ms bajo) que a su vez pueden llamar a otros subprogramas. 1. Programar un mdulo. 2. Comprobar el mdulo. 3. Si es necesario, depurar el mdulo. 4. Combinar el mdulo con los mdulos anteriores.

El diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a codificar posteriormente

Las dos herramientas ms utilizadas comnmente para disear algoritmos son: diagramas de flujo y pseudocdigos: Diagramas de flujo Un diagrama de flujo es una representacin g rfica de un algoritmo.

Pseudocdigo Es una herramienta de programacin en la que las instrucciones se escriben en palabras similares al ingls o espaol, que facilita n tanto la escritura como la lectura de programas.

Codificacin es la escritura en un lenguaje de programaci n de la representacin del algoritmo desarrollada en las etapas precedentes. Dado que el diseo de un algoritmo es independiente del lenguaje de programacin utilizado para su implementacin, el cdigo puede ser escrito con igual facilidad en un lenguaje o en otro.

Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y almacena rlo posteriormente en un disco. Esta operacin se realiza con un programa editor, posteriormente el programa fuente se convierte en un archivo de programa que se guarda en disco. El programa fuente debe ser traducido a lenguaje mquina, este proceso se realiza con el compilador y el sistema operativo que se encarga prcticamente de la compilacin.

La verificacin o compilacin de un programa es el proceso de ejecucin del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba, que determinar n si el programa tiene errores. La depuracin es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores.

La documentacin de un programa puede ser interna y externa. La documentacin interna es la contenida en lneas de comentarios. La documentacin externa incluye anlisis, diagramas de flujo y/o pseudocdigos. La documentacin es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Tales cambios se denominan mantenimiento del programa.

Elabora el diagrama de flujo: Qu hacer para ver la pelcula Avengers?

Analizamos el problema Qu entradas se requieren? Logstica, monetaria y motivac ional. Cul es la salida deseada? Distraccin y relajacin.

Qu mtodo produce la salida deseada? La toma de decisiones y eleccin de pelcula.

Tenemos un algoritmo general: Ir al cine Comprar una entrada Ver la pelcula Regresar a casa

1. Inicio 2. Revisar cartelera online 3. Si no proyectan Avengers entonces 3.1 decidir otra actividad 3.2 bifurcar al paso 7 Si_no 3.3 ir al cine Fin_Si 4. si_cine hay fila entonces 4.1 formarse 4.2 mientras haya personas delante hacer 4.2.1 avanzar en la fila Fin_mientras Fin_si_cine 5. hay_boletos disponibles

entonces 5.1 comprar un boleto 5.2 pasar a la sala de cine 5.3 localizar la butaca a utilizar 5.4 por_lo_tanto proyectan la pelicula hacer 5.4.1 ver la pelicula fin_por_lo_tanto 5.5 abandonar el cine Fin hay_boletos Regresar Si_no 5.6 molestarse Regresar 6. Volver a casa 7. Fin

Bibliografa: Programacin en C: Metodologa, algoritmos y est ructura de datos, Luis Joyanes, McGraw Hill, 2005