Algorithme (B ->D) 4ème

Pour piloter le fonctionnement de nombreux objets techniques, on fait appel à des programmes. Mais avant de écrire un programme sur l'ordinateur, il faut réfléchir au problème à résoudre et trouver la solution à appliquer. Un programme ne pourra fonctionner correctement que s'il a été réfléchi et prévoit tous les cas de fonctionnement possible.

Compétences :

  • CT 1.3 – CT 2.5 – CT 2.7 - DIC 1.5 : Imaginer des solutions pour produire des objets et des éléments de programmes informatiques en réponse au besoin.
  • CT 3.1 - OTSCIS 2.1 : Exprimer sa pensée à l’aide d’outils de description adaptés : croquis, schémas, graphes, diagrammes, tableaux.
  • CT 4.2 – CT 5.5 - IP 2.3 : Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs.

J’ai acquis la compétence si :

  • Je sais ce qu'est un algorithme et les règles qu'il respecte.
  • Je sais écrire sous forme d'algorithme la solution d'un problème informatique simple.

Nous allons étudier ici l'algorithme qui est la parti la plus importante de la programmation. L'algorithme est la solution du problème. Il fonctionnera avec n'importe quel langage de programmation.

Les étapes de la programmation

“Programmer” n'est que la 2ème étapes qui mises bout à bout permettent à un ordinateur d'exécuter une tâche.

Pour utiliser un programme informatique afin résoudre un problème à l'aide d'un microcontrôleur ou d'un ordinateur, il faut :

Programmer comporte 3 étapes :

  • Résoudre et expliquer le problème à l'aide d'un langage textuel ou graphique dans le langage natif du programmeur : L'algorithme ou organigramme
  • Traduire l'algorithme en un des nombreux langages de programmation existant afin de le mettre sous une forme normalisée et internationale : Le programme
  • Faire effectuer à un programme une nouvelle traduction dans le langage de l'ordinateur : Le code machine

Algorithme

Une recette de cuisine est un algorithme.

Un algorithme est une méthode générale pour atteindre la solution d'un problèmes. C'est une suite finie et non ambigüe d’opérations simples permettant de résoudre le problème. Il est exprimé en langage naturel (pour nous en français) et en respectant certaines règles comme l'indentation.

Organigramme

Un algorithme peut être représenté graphiquement sous la forme d'un organigramme. Pour comprendre son déroulement, il suffit de suivre les flèches qui relient les blocs. Chaque forme de bloc correspond à un type d'instruction :

Un organigramme est aussi une méthode générale pour atteindre la solution d'un problèmes. Il est exprimé sous une forme plus graphique mais toujours en français et en respectant certaines règles.

Exemple

La méthode utilisée à la leçon précédente pour convertir un nombre décimal en nombre binaire peut être écrite sous la forme d'un algorithme.

Ci dessous sa traduction graphique (organigramme) et textuelle (algorithme).

01  Demander un nombre entre 0 et 255 inclus
02  Mettre dans la variable NOMBRE la réponse
03  Si NOMBRE < 0 ou > 255
04      Signaler l'erreur
05      Arrêter le programme
06  Mettre la variable SEUIL à 128
07  Mettre la variable RÉPONSE à vide
08  Répéter jusqu'à SEUIL < 1 
09      Si NOMBRE < SEUIL alors
10          Écrire un 0 à droite de RÉPONSE
11      Sinon
12          Écrire un 1 à droite de RÉPONSE
13          Faire NOMBRE = NOMBRE - SEUIL
14      Faire SEUIL = SEUIL / 2
15  Lire RÉPONSE
  • variables : Lignes 6, 7, 14 … je note une valeur, le résultat d'un calcul, une information à me rappeler plus tard
  • répétitions : Les lignes 9 à 14 sont répétées 8 fois avant d'exécuter la ligne 15.
  • conditions : Si NOMBRE < SEUIL j'exécute la ligne 10 puis la 14 ; Si NOMBRE >= SEUIL j'exécute les lignes 12 et 13 avant d'aller à 14

Pour aller plus loin

Si j'ai correctement pensé la solution de mon problème informatique et si je l'ai correctement rédigé, n'importe qui qui lit mon algorithme ou organigramme doit arriver à un résultat correct quelles que soit les données.