Diseño de Programas: Fases, Algoritmos y Optimización

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,67 KB

El diseño de programas es una tarea fundamental en la programación. Este proceso creativo implica la creación de algoritmos y la organización de la lógica del programa. No existe un conjunto completo de reglas, pero sí una serie de pasos y consideraciones clave.

Fases de Resolución de un Programa

Las fases de resolución de un programa con computadora son:

  • Análisis del programa
  • Diseño del algoritmo
  • Codificación
  • Compilación y ejecución
  • Verificación
  • Depuración
  • Documentación

Diseño y Verificación de Algoritmos

Un programa bien diseñado consta de un programa principal o módulo principal, que llama a otros subprogramas. Estos subprogramas, a su vez, pueden llamar a otros subprogramas. Los programas estructurados de esta forma se dice que tienen un diseño modular, y el método de fragmentar el programa en módulos más pequeños se llama programación modular.

Pasos en el Proceso de Programación Modular

El proceso implica la ejecución de los siguientes pasos hasta que el programa se termina:

  • Programar un módulo
  • Comprobar el módulo
  • Si es necesario, depurar el módulo
  • Combinar el módulo con módulos anteriores

Verificación de Algoritmos

Una vez descrito el algoritmo, es necesario asegurarse de que este realiza las tareas para las que ha sido diseñado y que, por tanto, produce el resultado correcto y esperado.

Herramientas de Programación: Lenguajes Algorítmicos

Las herramientas de programación utilizadas como lenguajes algorítmicos son:

  • Diagramas de flujo
  • Pseudocódigos
  • Diagramas de Nassi-Schneiderman

Diagramas de Flujo

Es un diagrama que utiliza símbolos estándar y en el que cada paso del algoritmo se visualiza dentro de un símbolo adecuado, y el orden en que estos pasos se ejecutan se indica conectándolos con flechas llamadas líneas de flujo porque indican el flujo lógico del algoritmo.

Tipos de Diagramas de Flujo

  • Del sistema
  • Del programa

Funciones de Entrada y Salida

  • Lectura de una cinta
  • Impresión de una línea
  • Subprogramas

Los subprogramas tienen entidad propia y pueden ser diseñados con independencia del sistema principal. Se representan en los diagramas de flujo con el símbolo de módulo en su interior.

Codificación

Es la escritura en lenguaje de programación de alto nivel de la representación del algoritmo desarrollada en las etapas precedentes.

Para realizar la codificación de un algoritmo en programa, se deben sustituir las palabras reservadas en castellano por sus homónimos en inglés.

Documentación

Se clasifica en interna y externa.

La documentación interna también se complementa con la utilización de identificadores significativos que indiquen o se adecuen más a la finalidad de los distintos componentes dentro del programa.

La documentación externa se compone de un manual de usuario y de un manual de mantenimiento, sobre todo en grandes aplicaciones.

Compilación y Ejecución

Precisa modificar la codificación del programa de forma que esta se adapte a las reglas de sintaxis del lenguaje elegido, con el fin de corregir los errores. Este proceso continúa hasta que ya no se produzcan errores.

Verificación y Depuración

La verificación y la depuración son procesos sucesivos mediante el cual se comprueba un programa con una amplia variedad de datos de entrada, llamados test, que determinan si el programa tiene errores (bugs).

Programación Modular

Es uno de los métodos de diseño más flexibles y potentes para mejorar la productividad de un programa. El programa se divide en módulos, cada uno de estos se analiza y codifica independientemente de otros módulos.

Programación Estructurada

Se debe escribir un programa de acuerdo a las siguientes reglas:

  • El programa tiene un diseño modular
  • Los módulos son diseñados de modo descendente
  • Cada módulo se codifica usando las 3 estructuras de control básicas: secuencia, selección y repetición.

Objetivos de la Programación Estructurada

El objetivo de la programación estructurada es proporcionar una disciplina de programación que permita las siguientes tareas:

  • Mejorar la fiabilidad y legibilidad de los programas
  • Minimizar su complejidad
  • Simplificar su mantenimiento
  • Incrementar la productividad del programador
  • Suministrar una metodología de programación disciplinada

Entradas relacionadas: