Vous êtes sur la page 1sur 4

INTRODUCTION A L’ALGORITHMIQUE

Algorithme  : notion

L’algorithmique est une science très ancienne. Son nom vient d’un mathématicien arabe du 9 e siècle
EL KHAWRISMI. Des mathématiciens grecs dont EUCLIDE ou ARCHIMEDE en ont été les précurseurs
(calcul de PGCD, calcul de π).

Un problème concret ne peut être résolu par un ordinateur que si les opérations nécessaires à cette
résolution peuvent être décomposées en un nombre fini d’étapes élémentaires dont chacune peut-
être traitée individuellement. En d’autres termes on doit indiquer à l’ordinateur de façon précise et
détaillée comment un problème donné doit être résolu. Un tel procédé de résolution est appelé
algorithme.

La notion d’algorithme est difficile à préciser formellement. Diverses définitions sont possibles.

_Un algorithme est une suite de règles, d’opérations ou de raisonnement, transformant les
grandeurs données (donnée d’entrée ; input) en d’autres grandeurs (données de sortie ; output)

_Un algorithme est une spécification d’un schéma de calculs sous forme d’une suite finie
d’opérations élémentaires obéissant à un enchainement déterminé.

Exemples d’algorithmes élémentaires

1) Prise d’un médicament contre la toux

En cas de toux, prendre sauf avis contraire du médecin un comprimé toutes les quatre heures jusqu’à
la disparition des symptômes. Pour les enfants, un comprimé toutes les 8 heures suffit.

2) Tri d’un jeu de cartes suivant la couleur


1) Prendre la 1ère carte
2) Couleur de la carte ? Si oui, posez sur le 1er tas sinon sur le 2e tas
3) Carte restante ? Si oui, prendre une 2e carte et continuer sous 2) sinon, fin du tri

Propriétés d’un algorithme

Un algorithme doit être :

_précis : il doit indiquer l’ordre des étapes qui la constituent, à quel moment il faut cesser une action,
à quel moment il faut en commencer une autre et comment choisir entre différentes possibilités

_déterministe : une suite d’exécutions à partir des mêmes données doit produire des résultats
identiques

_fini dans le temps ; c’est-à-dire s’arrêter au bout d’un temps fini

Place d’un algorithme dans la résolution d’un problème

Un algorithme doit être exprimé dans un langage de programmation pour être compris et exécuté
par un ordinateur. Le programme constitue le codage d’un algorithme dans un langage de
programmation donné, et il peut être traité par une machine donnée. L’écriture d’un programme
n’est qu’une étape dans le processus de programmation comme le montre le schéma précédent.

Notion de pseudo langage


En informatique, on distingue généralement les langages de bas niveaux (proches de la machine :
assembleur) et les langages évolués (dits de haut niveau). Un algorithme n’a d’intérêt que s’il peut
être compris et utilisé par un grand nombre de programmeurs. Il a donc fallu élaborer un langage de
description suffisamment formel, pour permettre des implantations dans différents langages trop
fastidieuses et d’un niveau suffisant pour qu’il soit un outil de communication efficace.

Un tel langage s’appelle pseudo langage. En résumé, l’avantage du pseudo langage est qu’il permet
d’écrire tout algorithme de façon formelle c’est-à-dire suffisamment précise, tout en restant
compréhensible pour l’ensemble des informaticiens.

Programmation

Il arrive fréquemment que l’on doive concevoir soi-même un logiciel ou une tâche spécifique, inédite.
Il est alors indispensable de programmer. On utilise dans ce cas un langage de programmation.
Aujourd’hui il existe de nombreux langages informatiques dédiées à la programmation. Les plus
connus sont : Langage C, C++, Java, python, pascal, html, css, php, javascript, ….

Dans le cadre de ce cours, nous utiliserons le langage C


Objets simples, types et actions élémentaires
Type d’objet

En informatique, les objets manipulés doivent appartenir à un type connu au moment de leur
utilisation. Tout objet peut être caractérisé par un type qui indique :

_les ensembles de valeurs que peut prendre un objet

_les actions autorisées sur cet objet

Généralement, on considère les types simples suivant :

_les entiers : prend ces valeurs dans un sous-ensemble des entiers relatifs. C’est un ensemble fini
dans lequel chaque élément possède un successeur et un prédécesseur

_les réels : prend ses valeurs dans un sous-ensemble des réels décimaux signes. Dans la plupart des
langages, cet ensemble n’est pas fini. On ne peut trouver de successeur ou de prédécesseur à un
réel.

_Caractère : prend ses valeurs dans l’ensemble des caractères de la table ASCII (American Standard
Code for Information Interchange)

A------65

B------66

C-------67

_Chaîne de caractère : se compose d’une suite de symboles de type caractère

_Booléen : type logique qui peut prendre les valeurs vraies ou faux

Les objets

Pour désigner ces différents objets, on utilisera des chaines de caractères qui seront appelés des
identificateurs d’objet. Pour différencier un identificateur d’un nombre, un identificateur commence
par une lettre et ne comporte pas d’espace.

Un objet peut être : une variable, une constante ou un sous-programme (fonction ou procédure).

_ Notion de variable

Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des


valeurs issues du disque, fournies par l’utilisateur, résultats intermédiaires ou définitifs. Dans
l’ordinateur, physiquement, il y’a un emplacement de mémoire, repéré par une adresse binaire,
réservé à chaque variable détaillée.

Une variable est un objet dont la valeur peut évoluer tout au long du programme.

Syntaxe de la déclaration d’une variable :

_ Notion de constante

Une constante est un objet dont la valeur n’évolue pas tout au long du programme.
Nom constante=valeur

Ex------- Constante PI=3,14

Actions élémentaires

Les actions élémentaires sur une donnée dépendent évidemment du type de cette donnée et de sa
catégorie.

_ opérateurs arithmétiques

Addition

L’affectation a pour rôle d’attribuer une valeur, résultat d’une évaluation à un objet. La valeur doit-
être compatie avec le type de la valeur à gauche de l’affectation. Le symbole utilisé pour l’affectation
est

Lecture et écriture

Il existe des instructions qui permettent à la machine de dialoguer avec l’utilisateur :

Dans un sens, ces instructions permettent à l’utilisateur de rentrer des valeurs au clavier pour
qu’elles soient utilisées par le programme : cette opération est la lecture. Dans l’autre sens, d’autres
instructions permettent de communiquer des valeurs à l’utilisateur en les affichant à l’écran : cette
opération est l’écriture.
Lecture : on utilise la fonction lire

Lire (nomvariable)

Exple : lire (x)

lire (y ; z)

Ecriture :

On utilise la fonction Ecrire

Ecrire (« Message »)

Ecrire (nomvariable)

Structures générales d’un algorithme

Algorithme : Nom algorithme

% Déclaration type %

Type

% Déclaration de constantes %

Constantes

% Déclaration de variable %

variables

Vous aimerez peut-être aussi