ISN : 2017-2018

Introduction

Un ordinateur muni d'un programme adéquat traite une information. Il sait calculer (d'où le nom computer), compter, trier ou rechercher l'information, dans la mesure où un programmeur lui a donné les ordres à exécuter et la marche à suivre pour arriver au résultat.

Cette marche à suivre s'appelle un algorithme (nom qui vient du mathématicien perse Al Khwarizmi).

Déterminer un algorithme, c'est trouver une suite logique finie d'opérations ou d'instructions à fournir à l'ordinateur pour qu'il les exécute permettant ainsi de résoudre le problème posé

En fonction de la difficulté du problème qu'on a, la tâche consistant à décrire comment résoudre ce problème n'est pas simple. Elle dépend en partie du niveau de difficulté et réclame un savoir-faire : la façon de procéder pour découper un problème en actions élémentaires.

Pour aborder dans les meilleurs conditions possibles la tâche d'élaboration d'un algorithme, on doit tout d'abord :

  • Déterminer les objets utiles à la résolution du problème.
  • Construire et ordonner la liste de toutes les actions nécessaires à cette résolution.
  • Pour cela, il est nécessaire :

  • d'analyser en détail la tâche à résoudre ;
  • de fractionner le problème en actions distinctes et élémentaires.

Ce fractionnement est réalisé en tenant compte du choix des hypothèses de travail. Ces hypothèses imposent un ensemble de contraintes, qui permettent de savoir si l'action décrite est élémentaire et ne peut plus être découpée.

Cela fait, on a construit un algorithme.

Un programme est un texte qui décrit un algorithme que l’on souhaite faire exécuter par un ordinateur. Ce texte est écrit dans un langage particulier, appelé un langage de programmation. Il existe plusieurs milliers de langages de programmation, parmi lesquels Java, C, Python, Caml, Fortran, Cobol, etc. Il n’est cependant pas nécessaire d’apprendre ces langages les uns après les autres, car ils sont tous plus ou moins organisés autour des mêmes notions : affectation, séquence, test, boucle, fonction, etc. Ce sont ces notions qu’il importe de comprendre. L’objectif de ce cours est d’établir les bases de la programmation et de l’algorithmique, en utilisant le langage Python version3. A ces cours sont couplés des séances de travaux dirigés et pratiques qui sont beaucoup plus qu’un complément au cours, puisque c’est en écrivant des programmes que l’on apprend l’informatique.