Algorithme (S) 5è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

“Écrire un algorithme” est la 1ère étape de ce qui mis bout à bout permettra à 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
  • Compiler le programme dans la langue des ordinateurs (0 et 1) : Le code machine

Algorithme

Une recette de cuisine est un algorithme.

Problème exemple

Je veux compter de 0 à 20, 2 par 2 (+2)

  1. Mettre un compteur à 0 (condition de début)
  2. Répéter jusqu'à ce que le compteur soit >20 (condition de fin). [20 fait parti du comptage d'où compteur>20 pour que le comptage s'arrête]
  3. …. Dire la valeur du compteur (communiquer les résultats)
  4. …. Faire l'opération compteur + 2 (Comptage 2 par 2)
  5. Dire “J'ai fini !”

Tout ce qui est décalé “indenté” (3 et 4) doit être répété jusqu'à la fin.

Un algorithme est une méthode générale pour atteindre la solution d'un problème. 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.

Problème exemple

Je veux compter de 0 à 20, 2 par 2 (+2)


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.

Autre exemple

L'algorithme du thermostat qui régule le chauffage peut être écrit de la manière suivante.

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

01  Mettre la chaudière à l'arrêt pour des raisons de sécurité
02  Éteindre le voyant de chauffage
03  Répéter indéfiniment
04      Lire la valeur de CONSIGNE
05      Lire la sonde de TEMPÉRATURE 
06      Si TEMPÉRATURE < CONSIGNE alors
07          Mettre la chaudière en marche
08          Allumer le voyant de chauffage
09      Sinon
10          Arrêter la chaudière
11          Éteindre le voyant de chauffage
  • variables : Lignes 4 et 5 la valeur de la CONSIGNE et de la TEMPÉRATURE sont rangées dans 2 variables.
  • répétitions : Lignes 3 le programme est répété indéfiniment à partir d'ici jusqu'à son arrêt (coupure énergie).
  • conditions : Si TEMPÉRATURE < CONSIGNE j'exécute les lignes 07 et 08 ; Sinon j'exécute les lignes 10 et 11. Après la ligne 8 ou 11 le programme continuerai à la ligne 12 qui n'existe pas, il reprend donc à la boucle ligne 3 qu'il a mémorisé.

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.