Cours - 4ème - Les programmes

Les programmes

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.

Les langages de programmation

Il existe de nombreux langages de programmation (Basic, Java, Python, PHP, C, SCRATCH ...) utilisables par l'être humain et chacun adaptés à un type de problème particuliers. Tous les langages utilisent des variables, des boucles, des conditions, des instructions générales. Un sous-programme est une suite d'instruction spécifiées à part et généralement utilisées plusieurs fois dans le programme principal.

Le BASIC en 1964 et SCRATCH aujourd'hui ont été inventés pour les débutants

JAVA en 1990 est destiné à permettre à un programme de fonctionner sur tout type de plateforme (Windows, Linux, Android ...)

PHP en 1994 est un langage spécialisé pour créer des sites Internet dynamiques.

C en 1970 pour écrire les systèmes d'exploitation des ordinateurs. Avec ses dérivés, il est très utilisé pour les automatismes et microcontrôleurs utilisant directement les entrées sorties machine.

Certain langages, comme SCRATCH, peuvent être graphiques et utiliser la technique des blocs pour faciliter leur utilisation par les débutants.

Le programme

Un programme informatique est un ensemble d'opérations 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 faut 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 programmes se composent d'instructions, généralement dérivées de mots anglais, et utilisent une syntaxe qu'il faut respecter pour leur écriture. Certains langages utilisent une programmation par blocs graphiques (SCRATCH, BLOCKLY ...).

Ils se composent principalement de :

variables (entité mémoire) destinée à stocker une information modifiable.

boucles qui répètent (un nombre de fois ou jusqu'à ce qu'une condition soit validée) une série d'instructions,

conditions (vrai ou faux) qui exécutent ou pas une série d'instruction,

d'instruction de traitement sur des variables (données ou informations),

d'instruction d'entrée sortie (lecture ou écriture) d'information vers les périphériques (claviers, écran ...).

sous-programme qui permettent d'écrire une seule fois une partie de code utilisée plusieurs fois dans le programme ou une partie ayant un fonctionnement indépendant.

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

Exemple 1

Ce programme SCRATCH est la traduction de l'algorithme convertissant un nombre décimal en nombre binaire.

Il nécessite 3 variables (NOMBRE, SEUIL et RÉPONSE) pour manipuler les données utiles :

NOMBRE = nombre décimal à convertir

SEUIL = valeur décimale de la colonne du tableau binaire

RÉPONSE = nombre binaire calculé

Le déroulement est le suivant :

Il demande la saisie du nombre à convertir et le range dans la variable NOMBRE. Il contrôle si la valeur saisie est dans les limites d'un octet sinon il signale l'erreur et arrête tout.

Il initialise les 2 autres variables utiles à leur valeur de départ.

Il répète la séquence d'instructions principale 8 fois.

En fonction du test “NOMBRE < SEUIL” il met à jour RÉPONSE et NOMBRE.

Il met à jour SEUIL pour traiter la colonne suivante.

Il affiche le résultat lorsque les 8 boucles ont été effectuées.

Exemple 2

Ce programme JavaScript est la traduction du même algorithme dans un langage textuel.

Les variables sont définies avec “var”. En plus des opérateurs arithmétiques classiques, il existe un opérateur pour incrémenter “++” (+1) et un pour concaténer “.” (ajouter à la suite).

Les boucles le sont avec “for” (on indique la condition de départ, de fin et à chaque répétition).

Les conditions avec “if ... else ...”.

Il existe des fonctions (bloc d'instructions prédéfinies) comme “prompt (...)” entrer une valeur et “print (...)” sortir une valeur.

La syntaxe impose des “;” en fin d'instruction et des crochet pour les regrouper en bloc (l'indentation n'est pas nécessaire en JavaScript mais rend le programme plus lisible).

Les lignes commençant par 2 barres obliques à gauche sont des commentaires sans effets sur le programme mais très utiles pour les programmeurs.

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.

Liste de langages de programmation existant ou obsolète sur Wikipédia