programacion
2
RESOLUCIÓN DE PROBLEMAS
CON COMPUTADORA
Y HERRAMIENTAS
DE PROGRAMACIÓN
CONTENIDO
2.1. Fases en la resolución de problemas.
2.2. Programación modular.
2.3. Programación estructurada.
2.4. Concepto y características de algoritmos.
2.5. Escritura de algoritmos.
ACTIVIDADES DE PROGRAMACIÓN RESUELTAS.
'
REVISIÓN DEL CAPÍTULO.
Conceptos clave.
Resumen.
EJERCICIOS.
Estecapítulo le introduce a la metodología a seguir para la resolución de problemas con computadoras y con un lenguaje de programación como C.
L.a resolución de un problema con una computadora se hace escribiendo un programa, que exige al menos los siguientes pasos:
1.
Definición o análisis del problema.
2. Diseño del algoritmo.
3. Transformación del algoritmo en un programa.
4.
Ejecución yvalidación del programa.
Uno de los objetivos fundamentales de este libro es el aprendizaje y diseño de los algoritmos.
Este capítulo introduce al lector en el concepto de algoritmo y de programa, así como los herramientas que permiten «dialogar» al usuario con la máquina: los lenguajes de programación.
•
39
-
40
Fundamentos de programación
2. • FASES EN LA RESOLUCIÓN DEPROBLEMAS
El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es -esencialmente- un
proceso creativo, se puede considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores.
Las fases de resolución de un problema con computadora son:
'\
•
••
•
•
Anáhsis del problema.
Diseño del algoritmo.
Cod1ficac16n,
Compilación y ejecución.
Ver1ficac1ón.
Depuración.
Mantenimiento.
Documentación.
Constituyen el ciclo de vida del software y las fases o etapas usuales son:
• Análisis. El problema se analiza teniendo presente la especificación de los requisitos dados por
el cliente de la empresa o por la persona que encarga elprograma.
• Diseño. Una vez analizado el problema, se diseña una solución que conducirá a un algoritmo
que resuelva el problema.
• Codificación (implementación). La solución se escribe en la sintaxis del lenguaje de alto nivel
(por ejemplo, C) y se obtiene un programa.
• Compilación, ejecución y verificación. El programa se ejecuta, se comprueba rigurosamente y
se eliminan todos los errores(denominados < bugs», en inglés) que puedan aparecer.
• Depuración y mantenimiento. El prograffia se actualiza y modifica cada vez que sea necesario,
de modo que se cumplan todas las necesidades de cambio de sus usuarios.
• Documentación. Escritura de las diferentes fases del ciclo de vida del software, esencialmente
el análisis, diseño y codificación, unidos a manuales de usuario y dereferencia, así como normas para el mantenimiento.
11
Las dos primeras fases conducen a un diseño detallado escrito en forma de algoritmo. Durante la
tercera etapa (codificaci6n) se implementa 1 el algoritmo en un código escrito en un lenguaje de programación, reflejando las ideas desarrolladas en las fases de análisis y diseño.
La fase de compilación y ejecución traduce y ejecuta el programa. Enlas fases de verificación y
depuración el programador busca errores de las etapas anteriores y los elimina. Comprobará que mientras más tiempo se gaste en la fase de análisis y diseño menos se gastará en la depuración del programa. Por último, se debe realizar la documentación del programo..
Antes de conocer las tareas a realizar en cada fase, vamos a considerar el concepto y significado
de lapalabra algoritmo. La palabra algoritmo se deriva de la traducción al latín de la palabra Alkhówañzmi2, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de
números y ecuaciones en el siglo IX. Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definidos y finitos.
1 En la penúllima edición (21.") del DRAE (Diccionario...
Regístrate para leer el documento completo.