Вы находитесь на странице: 1из 17

Algoritmos y lenguajes de programacion I- 2012

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


El proceso de resolucin de un problema con una computadora conduce a la escritura de un programa y su ejecucin en la misma. Aunque el proceso de disear programas es esencialmente un proceso creativo, se pueden considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores. Las fases de resolucin de un problema con computadora son:

Anlisis del problema Diseo del algoritmo Codificacin Compilacin y ejecucin Verificacin Depuracin Mantenimiento Documentacin
Algoritmos y lenguajes de programacion I- 2012
2

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Las dos primeras fases conducen a un diseo detallado escrito en forma de

algoritmo. Durante la tercera etapa (codificacin) se implementa el algoritmo en un cdigo escrito en un lenguaje de programacin, reflejando las ideas desarrolladas en las fases de anlisis y diseo. fases de verificacin y depuracin el programador busca errores de las etapas anteriores y los elimina. Comprobar que mientras ms tiempo se invierta en la fase de anlisis y diseo menos tiempo se perder en la depuracin del programa. Por ltimo, se debe realizar la documentacin del programa. concepto y significado de la palabra algoritmo. La palabra algoritmo se deriva de la traduccin al latn de la palabra Alkhwarzmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es un mtodo para resolver un problema mediante una serie de pasos precisos, definidos y finitos.
Algoritmos y lenguajes de programacion I- 2012
3

La fase de compilacin y ejecucin traduce y ejecuta el programa. En las

Antes de conocer las tareas a realizar en cada fase, vamos a considerar el

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Anlisis del problema

La primera fase de la resolucin de un problema con computadora es el anlisis del problema. Esta fase requiere una clara definicin, donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. Dado que se busca una solucin por computadora, se precisan especificaciones detalladas de entrada y salida. La siguiente figura muestra los requisitos que se deben definir en el anlisis,
Resolucin de un problema

Definicin del problema y requisitos

Anlisis

Diseo

Resolucin con V computador

Algoritmos y lenguajes de programacion I- 2012

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Para poder definir bien un problema es conveniente responder a las

siguientes preguntas: Qu entradas e requieren? (tipo y cantidad) Cul es la salida deseada? (tipo y cantidad) Qu mtodo produce la salida deseada?

Algoritmos y lenguajes de programacion I- 2012

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Diseo del algoritmo
En la etapa de anlisis del proceso de programacin se determina qu hace

el programa. En la etapa de diseo se determina cmo hace el programa la tarea solicitada. Los mtodos ms eficaces para el proceso de diseo en el refrn conocido divide y vencers. Es decir, la resolucin de un problema complejo se realiza dividiendo el problema en subproblemas y a continuacin subdividir estos subproblemas en otros de nivel ms bajo, hasta que pueda ser implementada una solucin en la computadora. Este mtodo se conoce tcnicamente como diseo descendente (top-down) o modular. El proceso de dividir el problema en cada etapa y expresar cada paso en forma ms detallada se denomina refinamiento sucesivo. Cada subproblema 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.
Algoritmos y lenguajes de programacion I- 2012

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Herramientas de programacin
Las dos herramientas ms utilizadas para disear algoritmos son:

diagramas de flujo y pseudocdigos. Diagramas de flujo Un diagrama de flujo (flowchart) es una representacin grfica de un algoritmo. (los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI, por sus siglas en ingls) y los ms frecuentemente empleados se muestran en la siguiente tabla:

Algoritmos y lenguajes de programacion I- 2012

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Herramientas de programacin
Smbolo Utilizacin Terminal

Subprograma

Entrada/salida

Decisin

Proceso

Conectores

Algoritmos y lenguajes de programacion I- 2012

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Pseudocdigo
El pseudocdigo es una herramienta de programacin en que las

instrucciones se escriben en palabras similares al ingls o espaol, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. recogido una notacin estndar que es muy empleada en los libros de programacin en espaol. Las palabras reservadas bsicas se representan en letras negritas minsculas. Estas palabras son traduccin libre de palabras reservadas de lenguajes como C, Pascal, etc.

Aunque no existen reglas para escritura del pseudocdigo en espaol, se ha

Algoritmos y lenguajes de programacion I- 2012

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Ejemplo 2 El pseudocdigo que resuelve el ejemplo 1 es el siguiente: Previsiones de depreciacin

Introducir costo inicial Vida til Valor final de rescate (recuperacin) Imprimir encabezados Establecer el valor inicial del ao Calcular depreciacin mientras valor ao <= vida til hacer calcular depreciacin acumulada calcular valor actual imprimir una lnea en la tabla incrementar el valor del ao fin de mientras
Algoritmos y lenguajes de programacion I- 2012
10

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


El diagrama de flujo se muestra en la siguiente figura:

Algoritmos y lenguajes de programacion I- 2012

Fin del ejemplo 2

11

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Codificacin de un programa
Una vez que el algoritmo se ha convertido en un programa fuente, es

preciso introducirlo en memoria mediante el teclado y almacenarlo 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 (graba) en disco. proceso se realiza con el compilador y el sistema operativo que se encarga particularmente de la compilacin.

El programa fuente debe ser traducido a lenguaje mquina, este

Algoritmos y lenguajes de programacion I- 2012

12

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Codificacin de un programa
Si tras la compilacin se presentan errores (errores de compilacin) en el

programa fuente, es preciso volver a editar el programa, corregir los errores y compilar nuevamente. Este proceso se repite hasta que no se producen errores, obtenindose el programa objeto que todava no es ejecutable directamente. Suponiendo que no existen errores en el programa fuente, se debe instruir al sistema operativo para que realice la fase de montaje o enlace (link), es decir, la carga del programa objeto con las libreras del programa de compilador. El proceso de montaje produce un programa ejecutable. Cuando el programa ejecutable se ha creado, se puede ya ejecutar desde el sistema operativo con solo teclear su nombre, desde sistema operativo DOS, o bien haciendo doble clic, desde Windows.

Algoritmos y lenguajes de programacion I- 2012

13

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Verificacin y depuracin de un programa
La verificacin 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 determinarn si el programa tiene errores (bugs). Para realizar la verificacin se debe desarrollar una amplia gama de datos de test: valores normales de entrada, valores extremos de entrada que comprueben los lmites del programa y valores de entrada que comprueben aspectos especiales del programa.

La depuracin es el proceso de encontrar los errores del programa y corregir

o eliminar dichos errores.

Algoritmos y lenguajes de programacion I- 2012

14

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Verificacin y depuracin de un programa
Cuando se ejecuta un programa se pueden producir tres tipos de errores: Errores de compilacin. Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programacin y suelen ser errores de sintaxis. Si existe un error de sintaxis, la computadora ni puede comprender la instruccin, no se obtendr el programa objeto y el compilador imprimir una lista de todos los errores encontrados durante la compilacin. Errores de ejecucin. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Ejemplos tpicos son: divisin entre cero y races cuadradas de nmeros negativos. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error.

Algoritmos y lenguajes de programacion I- 2012

15

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Verificacin y depuracin de un programa
Errores de lgica. Se producen en la lgica del programa y la fuente del

error suele ser el diseo del algoritmo. Estos errores son los ms difciles de detectar, ya que el programa puede funcionar y no producir errores de compilacin ni de ejecucin, y slo puede advertir el error por la obtencin de resultados incorrectos. En este caso se debe volver a la fase de diseo del algoritmo, modificar el algoritmo, cambiar el programa fuente y compilar y ejecutar una vez ms.

Algoritmos y lenguajes de programacion I- 2012

16

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


Documentacin y mantenimiento
La documentacin de un problema consta de las descripciones de los pasos

a dar en el proceso de resolucin de un problema. La importancia de la documentacin debe ser destacada por su decisiva influencia en el producto final. Programas pobremente documentados son difciles de leer, ms difciles de depurar y casi imposibles de mantener y modificar.
documentacin interna es la contenida en lneas de comentarios. La documentacin externa incluye anlisis, diagramas de flujo, pseudocdigos, manuales de usuario con instrucciones para ejecutar el programa y para interpretar los resultados. o bien cambiar el programa. Tales cambios se denominan mantenimiento del programa. Despus de cada cambio la documentacin debe ser actualizada para facilitar cambios posteriores.
Algoritmos y lenguajes de programacion I- 2012

La documentacin de un programa puede ser interna y externa. La

La documentacin es vital cuando se desea corregir posibles errores futuros

17

Вам также может понравиться