Esta es una pregunta muy amplia, pero voy a intentar responder a la interpretación más básica de la misma. Así, para entender cómo se hace un programa, debemos saber primero por qué hay que hacerlo. Un programa de ordenador normalmente intenta resolver un problema, y ese es todo su propósito, y es por eso que en muchos contextos, un proyecto, o un conjunto de proyectos, son a menudo referidos como una «solución».
Así que, con el fin de resolver un problema, un problema debe ser identificado, y una solución factible debe ser armada. Ahora bien, para armar una solución efectiva a un problema, debemos saber, en un nivel básico, cómo funciona una computadora, es decir, qué define a una computadora. En lo que se conoce como el «modelo de Von Neumann», un ordenador se define como una máquina que toma una forma de entrada, es capaz de procesar esa entrada, puede dar una salida basada en la forma en que la entrada(s) ha sido procesada, y tiene alguna forma de almacenamiento (a corto o largo plazo) para almacenar la información necesaria.
Ahora que sabemos lo que define a un ordenador, y hemos identificado un problema, podemos dividir el problema en bloques básicos (partes separadas, si se quiere) y luego diseñar diagramas que representen, paso a paso, una solución a esa parte particular del problema. Para ello se suele utilizar lo que se denomina un diagrama de flujo (un gráfico que visualiza el proceso de realización de algo). El diagrama de flujo indica qué parte del modelo de Von Neumann se utilizará en cada paso (por ejemplo paso 1: pedir al usuario una entrada , paso 2: tomar la entrada del usuario , paso 3: almacenar la entrada del usuario en la memoria a corto plazo, paso 4: pedir al usuario otra entrada , paso 5: tomar la entrada del usuario , paso 6: almacenar la entrada del usuario en la memoria a corto plazo, paso 7: multiplicar la entrada1 por la entrada2 , paso 8: mostrar la respuesta en la pantalla ). Tenga en cuenta que hasta este punto aún no hay código, pero un diagrama de flujo puede convertirse fácilmente en código una vez que se haya diseñado correctamente.
A continuación, se selecciona un lenguaje de programación (o una combinación de ellos) -tenga en cuenta que hay muchos para elegir- que sea el más adecuado para realizar el trabajo, y los diagramas de flujo y los diagramas se traducen en código en el lenguaje o lenguajes elegidos. El código suele escribirse en un editor de texto (independiente o parte de un entorno de desarrollo integrado – IDE) y luego se compila (traduce) en código máquina, que es el código que la máquina puede ejecutar. Y de ahí salen los programas. Para mantener esta respuesta corta, voy a proporcionar un ejemplo como se pide. Espero que esto ayude.