algoritme I. INTRODUCTION 1) Définition Un algorithme est une suite finie d’instructions, à appliquer dans un ordre donné, amenant à la résolution d’un problème. Exemples d’algorithme déjà rencontrés : - L’algorithme de la division euclidienne qui calcule le quotient et le reste de la division de deux entiers. - L’algorithme d’Euclide : c’est une suite de divisions euclidiennes aboutissant au calcul du PGCD de deux entiers. 2) langage et structure d’un algorithme Un algorithme peut être décrit en langage « naturel », mais on utilise dans la plupart des cas un langage plus précis adapté aux instructions utilisées : on parle de langage de programmation. De façon générale, on peut considérer 3 étapes dans un algorithme : - L’entrée des données - Le traitement des données : c’est le cœur du programme. Il est constitué d’une suite d’instructions qui seront appliquées aux données. - La sortie des résultats. - II. LES INSTRUCTIONS 1) Variables et affectation Tout algorithme commence par le stockage des données d’entrée qui seront utilisées lors des étapes de traitement. Chacune de ces données est stockée dans la mémoire de la calculatrice ou de l’ordinateur, à un emplacement nommé variable et repéré par un nom. Les valeurs prisent par les variables sont, par exemple, des nombres entiers, des nombres décimaux, des listes… Les instructions de base que l’on peut pratiquer à une variable sont les suivantes : - la saisie : on demande à l’utilisateur de donner une valeur à une variable - l’affectation : l’algorithme donne à la variable une valeur qui peut être le résultat d’un calcul - l’affichage : on affiche la valeur de la variable. ► Exemple : afficher l’image d’un nombre x par la fonction Variables : Début : Entrer . réels Afficher Fin 2) Instruction conditionnelle La résolution de certains problèmes nécessite la mise en place d’un test pour effectuer une tâche : - Si le test est positif, on effectue la tâche ; - Sinon, c’est-à-dire si le test est négatif, on est négatif, on effectue une autre tâche. En algorithmique, on traduit ces situations à l’aide des instructions : Si condition Alors tâche 1 Sinon tâche 2 Fin Si Le « sinon » n’est pas obligatoire. Si on ne met pas le « sinon », lorsque le test est négatif, la tâche n’est pas effectuée et l’algorithme passe à l’instruction suivante. ► Exemple : Considérons l’algorithme en langage naturel : Entrée : Traitement : un entier naturel a. Si a est pair alors on affiche la valeur a 2 Si a est impair alors on affiche la valeur 3a+1 Variables : a entier Début : Entrer a Si le reste dans la division euclidienne de a par 2 est nul Alors a 2 a Sinon 3a+1 a Fin Si Afficher a Fin 3) La boucle itérative Pour effectuer un programme, il est parfois nécessaire d’exécuter plusieurs fois de suite la même tâche. En algorithmique, on dit alors qu’on exécute une boucle et on utilise l’instruction suivante : Pour i de 1 jusqu’à N Faire tâche Fin Pour Avec cette instruction, on répète un nombre connu de fois la même tâche : ici , de 1 à N donc N fois. ► Exemple : Calculer la somme des N premiers nombres entiers. Variables : N, S, i entiers Début : Entrer N 0 S Pour i de 1 jusqu’à N S+i S Fin Pour Afficher S Fin Variables : N est le nombre de termes de la somme S est la somme i est le compteur On initialise la variable S à 0. A chaque tour, on ajoute, à la somme déjà obtenue S, le nombre suivant contenu dans le compteur i. On affiche la dernière valeur de S.