Pages - Menu

INTRODUCTION A L'ALGORITHME

Chapitre 1

INTRODUCTION A L'ALGORITHME

 

Objectif :Ce cours d'informatique Introduction à l'algorithme à pour objectif de faire connaître le but du cours d'algorithmique
Éléments de contenu :
  • Qu'est ce qu'une application informatique ?
  • Comment arriver d'un problème réel à un programme pouvant être exécuté par ordinateur
  • Liens entre ALGORITHMIQUE et STRUCTURES DE DONNEES

Intérêt de l'algorithmique

Informatiser une application, facturation de la consommation d'eau, par exemple, c'est faire réaliser par ordinateur, une tâche qui était réalisée par l'Homme.
Pour faire exécuter une tâche par ordinateur, il faut tout d'abord, détailler suffisamment les étapes de résolution du problème, pour qu'elle soit exécutable par l'homme. Ensuite, transférer la résolution en une suite d'étapes si élémentaire et simple à exécuter, pouvant être codée en un programme dans un langage compréhensible par ordinateur.
Toute suite d'étapes si élémentaire et simple à exécuter s'appelle un ALGORITHME.
Un programme c'est un algorithme codé dans un langage compréhensible par ordinateur à l'aide d'un compilateur (traducteur).

Définitions

L'algorithme est le résultat d'une démarche logique de résolution d'un problème pour la mise en œuvre pratique sur ordinateur et afin d'obtenir des résultats concrets il faut passer par l'intermédiaire d'un langage de propagation.
Un algorithme décrit une succession d'opérations qui, si elles sont fidèlement exécutées, produiront le résultat désiré.
Un algorithme est une suite d'actions que devra effectuer un automate pour arriver en un temps fini, à un résultat déterminé à partir d'une situation donnée. La suite d'opérations sera composée d'actions élémentaires appelées instructions.

1-a)           Qu'est ce que l'Algorithmique ?

C'est la logique d'écrire des algorithmes. Pour pouvoir écrire des algorithmes, il faut connaître la résolution manuelle du problème, connaître les capacités de l'ordinateur en terme d'actions élémentaires qu'il peut assurer et la logique d'exécution des instructions.

Les étapes de résolution d'un problème

1.      Comprendre l'énoncé du problème
2.      Décomposer le problème en sous-problèmes plus simple à résoudre
3.      Associer à chaque sous problème, une spécification :
  • Les données nécessaires
  • Les données résultantes
  • La démarche à suivre pour arriver au résultat en partant d'un ensemble de données.
4.      Elaboration d'un algorithme.

Structure d'un algorithme

ALGORITHME nom_de_l'algorithme
CONST {Définition des constantes}
TYPE {Définition de types}
VAR   {Déclaration de variables}
DEBUT
            {Suite d'instructions}
FIN

1-b)           Rappel des notions de :

·    Constante,
·    Type,
·    Variable.      

1-c)           Exemple 1

ALGORITHME afficher
DEBUT
            Ecrire("La valeur de 3*5 est ", 3*5)
FIN
Cet algorithme permet d'afficher sur l'écran la phrase suivante :
La valeur de 3*5 est 15
Exemple 2
On veut écrire l'algorithme qui permet de saisir 3 notes d'un étudiant dans trois matières, étant donnés les coefficients respectifs 2, 3 et 1.
Résolution
A partir de l'énoncé du problème, nous recherchons la solution par une démarche en 2 phases.

  • On doit comprendre comment le résoudre manuellement,
  • Définir ce qu'on a besoin comme données, quelles est la démarche à suivre (formules de calcul) pour arriver aux résultats.
Pour notre problème, nous connaissons les coefficients et la formule de calcul (åNi*Ci / åCi), nous avons besoins des notes de chaque matière dans l'ordre, et enfin nous pouvons communiquer le résultat à l'utilisateur.
ALGORITHME MOYENNE
CONST C1=2
             C2=3
             C3=1
VAR
            N1, N2, N3 : REEL
            MOY : REEL
DEBUT
{Affichage message : Invitation de l'utilisateur à introduire des données}
ECRIRE(" Donner trois valeurs réelles ")
{Saisie des notes}
LIRE(N1, N2, N3)
{Calcul de la moyenne}
MOY¬ (N1*C1+N2*C2+N3*C3) / le du résultat sur l'écran}
ECRIRE(" La moyenne est = ", MOY)
FIN
Remarque : Le texte entre les accolades est purement explicatif, il sert à rendre l'algorithme plus lisible.