Aborder un problème informatique

Temps de lecture5 min

En bref

Résumé de l’article

Dans cet article, vous apprendrez à passer d’un problème, décrit en langage naturel, à un algorithme, puis à un programme qui résout ce problème.

À retenir

  • Pour résoudre un problème, il est préférable de le formaliser, puis de spécifier sa solution, et enfin de coder cette solution.

  • La formalisation consiste à réexprimer le problème avec des termes et concepts adaptés.

  • La spécification consiste à décrire une solution algorithmique en utilisant ce formalisme.

  • Le codage traduit l’algorithme en un programme.

Contenu de l’article

1 — Vidéo

Veuillez consulter la vidéo ci-dessous (en anglais, affichez les sous-titres si besoin). Nous fournissons également une traduction du contenu de la vidéo juste après, si vous préférez.

Information

Introduction

Bienvenue dans cette première leçon, où nous parlerons de la manière d’aborder un problème informatique, et des étapes nécessaires pour le résoudre.

Les trois étapes

Face à un problème informatique complexe, il est parfois tentant de commencer à programmer immédiatement.

Bien que de nombreux étudiants puissent avoir l’impression de ne pas progresser s’ils ne rédigent pas des lignes de code, ce n’est tout simplement pas vrai. Si vous vouliez construire une maison, commenceriez-vous à empiler des briques immédiatement ? Je ne pense pas.

Ainsi, chaque fois que vous êtes confronté à un problème informatique, trois étapes consécutives doivent être suivies :

  • Formaliser.
  • Spécifier.
  • Coder.

Formaliser

Formaliser signifie “exprimer un problème en utilisant une terminologie et des concepts adaptés”.

Dans ce cours, nous allons programmer une IA pour jouer à un jeu dans un labyrinthe. La première étape consistera donc à comprendre comment représenter et manipuler les labyrinthes.

Pour ce faire, nous nous référerons à la théorie des graphes, qui est un cadre mathématique commun permettant de formaliser de nombreux problèmes.

Les programmeurs qui négligent cette étape de formalisation risquent de rencontrer des problèmes inattendus. Dans les cas simples, cela pourrait simplement retarder leur travail. Mais dans les cas plus graves, cela pourrait signifier que tout le travail produit jusqu’à présent est inutile, et qu’il faut tout recommencer à zéro.

Spécifier

Une fois qu’un problème a été correctement formalisé, il est temps de spécifier une solution.

Spécifier signifie "identifier des algorithmes ou méthodes bien adaptés pour résoudre le problème formalisé".

Par exemple, dans ce cours, l'IA que vous implémenterez devra se déplacer dans le labyrinthe. Nous discuterons donc des méthodes pour trouver un chemin le plus court dans un graphe. De telles méthodes peuvent être utilisées pour identifier une solution.

La spécification est d’une importance capitale, et permet de faire les bons choix en tenant compte du problème à résoudre.

La spécification révèle également la structure globale de la solution, ce qui facilite le travail en équipe, car chaque individu sait exactement ce qu’il doit faire.

Coder

Enfin, une fois le problème spécifié, il est temps de commencer à coder. Le codage devrait toujours être la dernière étape pour résoudre un problème informatique.

Le codage devrait être assez simple si les étapes de formalisation et de spécification ont été correctement réalisées, et devrait s'enchaîner naturellement après l'étape de spécification.

Conclusion

Cela conclut la leçon d’aujourd’hui. Vous avez appris aujourd’hui qu’il est préférable, lors du développement, de ne pas commencer à coder immédiatement, mais de réfléchir d’abord à la manière dont le problème est formalisé, et comment une solution est spécifiée.

Dans la prochaine vidéo, vous apprendrez la théorie des graphes. À bientôt !

Pour aller plus loin

Il semble que cette section soit vide !

Y a-t-il quelque chose que vous auriez aimé voir ici ? Faites-le nous savoir sur le serveur Discord ! Peut-être pouvons-nous l’ajouter rapidement. Sinon, cela nous aidera à améliorer le cours pour l’année prochaine !

Pour aller encore plus loin