PYTHON, HTML, JAVASCRIPT, CSS, C++, Ruby….

 Quelques définitions:

INFORMATION, DONNÉE, ALGORITHME ??????  

Il est important pour tout un chacun de connaître quelques mots de « jargon » et quelques définitions dans le domaine de la programmation informatique. Cela permet de mieux comprendre et connaître les informaticiens et leur travail, mais aussi de comprendre leur façon de s’exprimer par exemple lorsqu’ils décrivent un problème à résoudre.

Commençons par brièvement parler de l’informatique. Le but de l’informatique est d’effectuer du traitement automatisé de l’information.

L’information est un ensemble d’éléments qui ont une signification dans le contexte étudié.

Les données d’un problème sont représentées par l’ensemble des informations utilisées pour résoudre ce problème en vue d’obtenir les résultats escomptés. Pour cela, l’informaticien peut commencer par écrire des algorithmes.

Un algorithme n’est pas conçu uniquement pour obtenir un résultat pour une donnée bien précise, mais constitue une méthode qui permet, à partir de n’importe quelle autre donnée du même type, d’obtenir le résultat correspondant.

Un exemple simple d’algorithme est celui qui consiste, depuis l’entrée, à trouver la sortie d’un labyrinthe.

  • Les données de l’algorithme sont le plan du labyrinthe avec en particulier l’endroit où se trouve l’entrée et la sortie.
  • L’algorithme va consister à entrer dans le labyrinthe et ensuite longer le côté gauche (ou le droit mais sans alterner) et avancer tant que possible, en faisant demi tour quand nous sommes bloqués mais en continuant à longer le côté gauche. Si le labyrinthe n’a qu’une seule entrée et une sortie sur les côtés extérieurs de celui-ci et qu’il n’a ni pont ni tunnel, cet algorithme permet de trouver la sortie.
  • Le résultat de cet algorithme sera par exemple la séquence de mouvements à réaliser pour, depuis l’entrée, trouver la sortie.

Un algorithme peut être implémenté sur un ordinateur. Celui-ci ne possède jamais qu’une quantité limitée de mémoire de stockage d’information dont la précision est limitée. De ce fait pour résoudre certains problèmes qui, en théorie, pourraient requérir un calcul trop long, ou une précision ou un stockage d’information trop important, des algorithmes ne donnant qu’une valeur approchée du résultat doivent être conçus.

Un code est un programme informatique, une partie de programme, ou une liste d’instructions ou de commandes (un “script”) pour le système de votre ordinateur.

Un programme est un ensemble d’instructions (donc du code) qui, quand il est exécuté sur un ordinateur, réalise un traitement défini. Un programme est donc vu comme la traduction en un code compréhensible par l’ordinateur d’un algorithme qui solutionne un problème.

Même si on peut faire de longs débats pour savoir si un bout de code peut être défini comme un programme, et plus important, pour savoir si quelqu’un peut être décrit comme un codeur ou un programmeur (faites par exemple une recherche sur le Web: “différence codeur programmeur”), dans notre contexte, nous supposons que c’est presque la même chose.

Un langage de programmation comme le langage Python définit les règles nécessaires pour le code ou le programme pour qu’il soit compréhensible et exécutable par un ordinateur.

Un programme appelé interpréteur ou compilateur « traduit » ce code source, c’est-à-dire dans le langage de programmation, en code machine. L’interpréteur « exécute » immédiatement chaque instruction analysée, tandis que le compilateur traduit d’abord complètement le code source en code machine qui pourra par la suite être exécuté.

Dans le contexte Python, vous pouvez voir une instruction comme un ordre que l’interpréteur Python donne à l’ordinateur qui exécute le code.

Écrire un code ou un programme ou a fortiori développer un gros logiciel demande une démarche en plusieurs étapes, appelée processus de développement d’un programme, qui peut être divisée en plusieurs phases (partiellement) successives.

  • Analyse et spécification de ce qui est requis
  • Conception
  • Implémentation
  • Tests et installation
  • Exploitation et maintenance

Chaque phase produit des résultats écrits : spécification de ce qui est requis (cahier de charges), manuel utilisateur, description du fonctionnement, description succincte ou détaillée de l’algorithme, programme dûment commenté, historique des modifications, ….

%d blogueurs aiment cette page :