Tu as fait une liste de taches à réaliser représentant des étapes que, selon ce que tu imagines pour l'instant, tu crois etre les étapes du programme en cours d'execution. En clair, tu penses programmer dans l'ordre où le programme doit s'executer. Mais ce n'est pas comme cela que tu dois aborder la programmation.
Tu dois programmer en avancant dans le concept de ton programme, du plus général au plus particulier.Tu as une fonction à réaliser. Commence par la définir concrètement, ensuite la programmer dans un langage symbolique, ensuite transformer en langage info, puis ecrire son environnement de fonctionnement. Voici les étapes chronologiques :
1) le prototypage de la fonction à réaliser. C'est à dire que tu commences par lui donner un nom à la fois court et représentatif de son action. C'est donc souvent un verbe d'action suivi d'un sujet.
Tu définis alors clairement les variables d'entrée. Le format des données sur lesquelles elle agit. Leur type exact et leur limitation s'il y a lieu.
Ensuite tu définis les variables de sortie. Leur type, et la forme de l'information que doit rendre la fonction à son retour. les cas particuliers (pas trouvé, pas pu, erreur d'entrée...)
Cette étape est dépendante du langage de prog choisi. A ce niveau on valide donc le choix de ce langage avant meme d'ecrire une ligne.
2) Tu peux maintenant t'occuper de l'algorithme de résolution car tu sais exactement sur quoi il agit, et ce qu'il doit répondre.
Tu commences par l'ecrire sous forme symbolique : on fait ça sur telle donnée, on teste ça, on boucle comme ça, on renvoie ça....
Tu choisis la méthode la plus simple et la plus claire algorithmiquement. Tu ne cherches pas à optimiser quoi que ce soit maintenant, car ca n'a pas de sens pour l'instant.
Tu traduis ton algo en langage info.
3) C'est alors que tu cherches à écrire un "cadre de fonctionnement" de test pour ta fonction. avec une entrée des données qui tiendra compte des formats définis précédemment. idem pour la sortie des résultats.
La fonction que tu as écrit dans les 2 premieres étapes est indépendante de ce que tu écris maintenant. Elle peut etre réutilisée ailleurs.
4) Tu optimises ton algo si necessaire. Cette optimisation est à la fois dépendante du langage mais aussi du matériel. C'est le dernier truc à faire quand tu sais que tu as déja un produit fonctionnel.
Note qu'en programmation visuelle on définit l'interface du prog en premier (avant étape 1). En fait on prototype le prog entier avant meme de s'occuper de ce qu'il fait. Car le type des fonctions doit s'adapter à l'interface, et non le contraire.
Donc commence par prototyper ton pb. (on dessine une voiture avant de fabriquer les robots qui l'assembleront plus tard).