Les programmes (S) 5ème

Une fois que la solution au problème informatique a été trouvée, il va falloir la communiquer à l'ordinateur ou au système embarqué afin qu'il puisse l'utiliser en temps que programme. Ce dernier, beaucoup plus rapide et fiable que l'être humain pourra alors montrer son intérêt en résolvant les problèmes de ses utilisateurs.

Compétences :

  • 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 programme et les types de bloc qu'il utilise.
  • Je sais traduire sous forme de programme un algorithme.

Le programme

Un programme informatique est un ensemble d'opérations normalisées destinées à être exécutées par un ordinateur. C'est la traduction de l'algorithme.

Il n'existe qu'un langage (le code machine) compréhensible par l'ordinateur. Il faudra donc un interpréteur (traduction ligne par ligne) ou un compilateur (traduction en 1 seule fois) pour passer du langage de programmation au code machine.

Les langages de programmation

Les langages de programmation sont adaptées à un type de programmation donné.

Certain langages, comme SCRATCH et ses dérivés, sont graphiques et utilisent la technique des blocs pour faciliter leur utilisation par les débutants.

Les langages textuels, se composent d'instructions, généralement dérivées de mots anglais, et utilisent une syntaxe qu'il faut respecter pour leur écriture. Ils sont plus difficiles d'utilisation mais plus performants.

Il existe de nombreux langages de programmation (Java, Python, PHP, C, SCRATCH …) utilisables par l'être humain et chacun adaptés à un type de problèmes particuliers.

Tous les langages utilisent des variables, des boucles, des conditions, des instructions générales.
Un sous-programme est une suite d'instructions spécifiées, écrit à coté du programme principal et généralement utilisé plusieurs fois dans le programme principal.

Au collège, nous programmerons avec des langages graphiques par bloc (SCRATCH, Blockly et mBloc).

Scratch

Scratch, comme tous les langages, se composent principalement de :

La traduction de notre problème

L'algorithme

  1. Mettre un compteur à 0
  2. Répéter jusqu'à ce que le compteur soit > 20
  3. …. Dire la valeur du compteur
  4. …. Faire l'opération compteur + 2
  5. Dire j'ai terminé

Le programme utilise

  • une variable : COMPTEUR
  • une boucle : répéter jusqu’à
  • des opérateurs : > et +
  • des instructions : Dire, Faire, Mettre

Exemple de programme avec Blockly

Ce programme BLOCKLY est la traduction de l'algorithme du thermostat de chauffage vu précédemment.

Préparation de la liste des broches et des variables

Traduction de l'algorithme

Le nom des capteurs, actionneurs et variables seront remplacé par leur équivalent du programme.
Le déroulement est le suivant :

  1. La chaudière (C.0) est arrêtée (désactivée).
  2. Le voyant (C.2) est éteint (désactivé).
  3. Le programme se répète à partir de là.
    1. Lecture de la CONSIGNE dans varA.
    2. Lecture de la température dans varB.
    3. En fonction du test “TEMPÉRATURE (varB) < CONSIGNE (varA)” il démarre le chauffage.
      1. La chaudière (C.0) est démarrée (activée).
      2. Le voyant (C.2) est allumé (activé).
    4. Sinon il l'arrête
      1. La chaudière (C.0) est arrêtée (désactivée).
      2. Le voyant (C.2) est éteint (désactivé).

Pour aller plus loin

Pour résoudre un problème informatique, je dois d'abord trouver et écrire l'algorithme qui convient.

Ensuite, je le traduit dans un langage de programmation que je connais pour que l'ordinateur puisse l'utiliser.

Enfin, je l'exécute directement avec l'interpréteur pour les langages tels SCRATCH et JavaScript ou je le compile en un programme exécutable (logiciel) pour les langages de haut niveau.