C'est une question très large, mais je vais tenter d'y répondre dans son interprétation la plus basique. Ainsi, pour comprendre comment un programme est fait, il faut d'abord savoir pourquoi il doit être fait. Un programme informatique tente généralement de résoudre un problème, et c'est là toute sa raison d'être, et c'est pourquoi dans de nombreux contextes, un projet, ou un ensemble de projets, sont souvent désignés comme une "solution".
Donc, pour résoudre un problème, il faut identifier un problème, et mettre en place une solution réalisable. Or, pour mettre en place une solution efficace à un problème, nous devons savoir, à un niveau de base, comment fonctionne un ordinateur - c'est-à-dire ce qui définit un ordinateur. Dans ce qui est connu comme le "modèle de Von Neumann", un ordinateur, est défini comme une machine qui prend une forme d'entrée, est capable de traiter cette entrée, peut donner une sortie basée sur la façon dont l'entrée ou les entrées ont été traitées, et a une certaine forme de stockage (à court ou à long terme) pour stocker les informations nécessaires.
Maintenant que nous savons ce qui définit un ordinateur, et que nous avons identifié un problème, nous pouvons diviser le problème en blocs de base (parties séparées, si vous voulez) et ensuite concevoir des diagrammes qui décrivent, étape par étape, une solution à cette partie particulière du problème. Pour ce faire, on utilise généralement ce que l'on appelle un organigramme (un graphique qui visualise le processus d'accomplissement de quelque chose). L'organigramme indique quelle partie du modèle de Von Neumann sera utilisée à chaque étape (par ex. étape 1 : demander une entrée à l'utilisateur <énoncé de sortie>, étape 2 : prendre l'entrée de l'utilisateur <énoncé d'entrée>, étape 3 : stocker l'entrée de l'utilisateur dans la mémoire à court terme, étape 4 : demander une autre entrée à l'utilisateur <énoncé de sortie>, étape 5 : prendre l'entrée de l'utilisateur <énoncé d'entrée> étape 6 : stocker l'entrée de l'utilisateur dans la mémoire à court terme étape 7 : multiplier l'entrée1 par l'entrée2 , étape 8 : afficher la réponse sur l'écran <énoncé de sortie>). Notez que jusqu'à ce point, il n'y a pas encore de code, mais un organigramme peut être facilement converti en code une fois qu'il a été correctement conçu.
Puis, un langage de programmation (ou une combinaison de ceux-ci) - notez qu'il y en a beaucoup à choisir - qui permettrait de mieux accomplir le travail est/sont sélectionné(s), et les organigrammes et diagrammes sont ensuite traduits en code dans le(s) langage(s) choisi(s). Le code est généralement écrit dans un éditeur de texte (autonome ou faisant partie d'un plus grand environnement de développement intégré - IDE), puis compilé (traduit) en code machine, qui est le code que la machine peut exécuter. Et c'est de là que viennent les programmes ! Pour que cette réponse soit courte, je vais fournir un exemple comme demandé. J'espère que cela vous aidera!