Un programa de computadora es un conjunto de instrucciones –órdenes dadas a la máquina- que producirán la ejecución de una determinada tarea. En pocas palabras, un programa es un medio para conseguir un fin. El proceso de programación es básicamente un proceso de solución de problemas.
El desarrollo de un programa requiere las siguientes fases:
Definición y análisis del problema
Diseño de algoritmos
Codificación del programa
Depuración y verificación del programa
Documentación
Mantenimiento
El programador debe establecer el conjunto de especificaciones que debe contener el programa: entrada, salida y algoritmos de resolución, donde estos últimos incluirán las técnicas para obtener las salidas a partir de las entradas.
Para ilustrarlo mejor:
Problema: Tengo mucha sed y decido ir a comprar usa cerveza a una barra. Una vez estando en la barra me propongo comprarla y surgen las interrogantes: ¿Qué necesito? ¿Qué pasos debo seguir para llevar a cabo mi objetivo? ¿Qué voy a recibir?
Objetivo: Obtener una cerveza comprándola en una barra.
Entradas: Para comprar una cerveza necesito dinero, y un vendedor.
Salidas: Cerveza.
Solución del problema:
INICIO
Me acerco al vendedor
Le solicito al vendedor una cerveza
El vendedor me solicita dinero
Le entrego el dinero al vendedor
El vendedor me entrega la cerveza
FIN
Ahora quiero beberme la cerveza
Objetivo: calmar mi sed bebiendo una cerveza.
Entradas: una cerveza (asumamos que es una botella con cerveza), una boca y una mano.
Salida: ninguna
Solución del problema:
INICIO
Tomo la cerveza con la mano
Acerco la cerveza a la boca
Abro la boca
Inclino la botella dejando que el líquido entre en la boca
FIN
Aunque parezca tonto, la programación es así, se necesita tener en cuenta hasta el más mínimo detalle.