Vous êtes sur la page 1sur 7

Module : Algorithmique et structure de donnes - Anne universitaire : 2017-2018

Universit Stif 1
Facult des Sciences
Dpartement dinformatique
Filire : Licence Acadmique
Module : Algorithmique et structure de donnes
Anne universitaire : 2017-2018

Chapitre 1 : Rappel

I - NOTION DALGORITHME
1) Exemple :
On veut calculer la moyenne des notes dun lve dans une matire donne.
On suppose que le nombre de notes est gal 3 (donnes).

Var
Nom, Matire : chane
Moyenne, Note1, Note2, Note3 : rel
Dbut
1 : Saisir Nom, Matire, Note1, Note2, Note3
2 : Calculer la moyenne : Moyenne (Note1+Note2+Note3)/3
3 : Afficher Nom, Matire, Moyenne
Fin

Cette suite doprations qui permet de passer des donnes de base aux rsultats correspond un algorithme.

2) Dfinition de la notion dalgorithme.


Cest une suite finie doprations lmentaires constituant un schma de calcul ou de rsolution dun
problme.
Il sert dcrire sous une forme quelconque (schma ou langage naturel) un ensemble de rgles
opratoires propres un traitement de donnes.

Tout algorithme est caractris par :


Un ensemble dactions ou doprations excuter.
Un ordre dexcution de ces diffrentes oprations dtermin par la logique
denchanement et conditionn par les structures mises en uvre.
Un dbut et une fin.

3) Reprsentation dun algorithme : Programmer.


Pour un ordinateur, lalgorithme est dcrit par un programme informatique. Cest dire une suite
dinstructions exprimes dans un langage de programmation.

Ce langage nest pas trs adapt la communication entre gestionnaires et informaticiens.


Cest pourquoi on utilise au pralable le langage algorithmique (proche du langage naturel), afin de dcrire
pas pas une solution au problme pos.

4) mise au point
La mise au point d'un programme informatique se fait en plusieurs tapes :
Il s'agit de fournir la solution un problme, la premire tape consiste donc analyser le problme, c'est--
dire en cerner les limites et le mettre en forme dans un langage descriptif, on parle gnralement d'analyse
1
Module : Algorithmique et structure de donnes - Anne universitaire : 2017-2018

pour dcrire le processus par lequel le problme est formalis. Le langage de description utilis pour crire le
rsultat de l'analyse est appel algorithme. L'tape suivante consiste traduire l'algorithme dans un langage
de programmation spcifique, il s'agit de la phase de programmation.

Le langage de programmation est l'intermdiaire entre l'humain et la machine, il permet d'crire dans un
langage proche de la machine mais intelligible par l'humain les oprations que l'ordinateur doit effectuer.
Ainsi, tant donn que le langage de programmation est destin l'ordinateur, il doit donc respecter une
syntaxe stricte. Un algorithme peut toutefois aboutir plusieurs programmes.

Le programme est ensuite transform en langage machine lors d'une tape appele compilation. La
compilation est une phase ralise par l'ordinateur lui-mme grce un autre programme appel compilateur.
La phase suivante s'appelle l'dition de liens, elle consiste lier le programme avec tous les lments
externes (gnralement des librairies auxquelles il fait rfrence).

5) Caractristiques d'un algorithme


L'algorithme est un moyen pour le programmeur de prsenter son approche du problme d'autres personnes.
En effet, un algorithme est l'nonc dans un langage bien dfini d'une suite d'oprations permettant de
rpondre au problme. Un algorithme doit donc tre :
lisible: l'algorithme doit tre comprhensible mme par un non-informaticien
de haut niveau: l'algorithme doit pouvoir tre traduit en n'importe quel langage de programmation, il
ne doit donc pas faire appel des notions techniques relatives un programme particulier ou bien un
systme d'exploitation donn
prcis: chaque lment de l'algorithme ne doit pas porter confusion, il est donc important de lever
toute ambigut
concis: un algorithme ne doit pas dpasser une page. Si c'est le cas, il faut dcomposer le problme en
plusieurs sous-problmes
structur: un algorithme doit tre compos de diffrentes parties facilement identifiables

II - LES DONNEES ELEMENTAIRES.

Tout algorithme utilise des objets ou donnes lmentaires comme par exemple des littraux, des constantes
ou des variables.

1) Littral.
Cest une valeur de type numrique ou alphanumrique.
2
Module : Algorithmique et structure de donnes - Anne universitaire : 2017-2018

Exemple : 11 ; 20.6 ; ''Bonjour''

2) Constante et variable.
Une constante est un objet qui ne peut pas tre modifi par lalgorithme.

Une variable est un objet appel subir des transformations au sein de lalgorithme.
Constante et variable se caractrisent par :
Un identificateur : nom de lobjet ou de la donne qui ne doit pas contenir d espace.
Une valeur : contenu de lobjet.
Un type : domaine ou lobjet puise sa valeur.

Exemples :
Const
Pi=3.1416
Var
Diamtre, circonfrence : rel

3) Types dobjets existants.

Types dobjets Ensemble de valeurs possibles oprations


BOOLEEN Vrai,Faux Comparaison(=,<,>,..),NON,
ET,OU.
CARACTERE ''A'' Comparaison, conversion
ENTIER 45 123 +,-,/,*,DIV, Comparaison.
REEL 12,345 Comparaison,arithmtique.
CHANE ''Bonjour monsieur'' Comparaison, longueur,
extraction, concatnation.

III - LES STRUCTURES DE BASE

1) Linstruction daffectation.
Elle permet daffecter ou dinitialiser une variable partir du contenu dune autre variable, dune constante,
dun littral, dune expression arithmtique ou logique.
Le symbole utilis est : ou :=
Exemples daffectation :
Total :=826 ou Total 226
PRIX Total
Somme Total+8
Somme Somme+50

2) Instructions dentre-sortie.
Linstruction dentre autorise la saisie de linformation partir du clavier.
Les instructions de sortie autorisent :
Laffichage des informations lcran.
Limpression des informations sur papier.

Instruction dentre :
Saisir Nom_variable
Consiste affecter une valeur saisie partir du clavier une variable.

3
Module : Algorithmique et structure de donnes - Anne universitaire : 2017-2018

Instruction de sortie :
Ecrire( Nom_variable)
Permet dcrire la valeur dune variable sur un support externe.

Exemples :
Ecrire( '' Taper deux nombres : '')
Lire( A,B)
Somme A+B
Ecrire( '' la somme est de : '',Somme)

Remarque :
Les messages afficher sont dfinies entre '' ''.
On peut saisir plusieurs variables en une seule fois, spares par une virgule.
A la rencontre dune instruction Lire/saisir, le programme est interrompu.
Lutilisateur doit alors entrer la donne.
La saisie est termine par lappui sur la touche entre.
Le droulement du programme se poursuit.

IV - LES STRUCTURES CONDITIONNELLES OU ALTERNATIVES.

La structure conditionnelle permet un aiguillage des traitements.


Selon la valeur dune expression boolenne, on pourra excuter une suite dactions I ou une suite dactions II.

1) La structure alternative.
Syntaxe
SI <expression logique>
ALORS action1
SINON action2
Fin Si

Le rsultat de lexpression logique (ou condition) est un boolen.


Quand lexpression logique est vraie alors la suite dactions situe aprs le mot ALORS (action1) est
excute.
Si le rsultat est faux, on excute la suite dactions situe aprs le mot SINON (action2).

Exemple : une remise de 5 % est accorde si la somme des achats dpasse 100 Euros.

SI Montant>100
ALORS Rem :=Montant*0,05
SINON Rem :=0
Fin Si

Remarque :
- Lexpression logique peut effectuer une comparaison entre plusieurs grandeurs. Elle utilise alors les
oprateurs de comparaison :>,>=,<,<=,<>.

- Lexpression logique peut tre complexe et peut faire intervenir les oprateurs logiques : ET, OU.
Exemple : (a>b) ET (a>c).
Parfois la structure alternative peut tre simple, et ne comporte pas la clause SINON.
4
Module : Algorithmique et structure de donnes - Anne universitaire : 2017-2018

SI <expression logique>
ALORS action
Fin Si

Si lexpression logique est vraie alors on excute la suite dactions sinon on poursuit la suite du traitement.

- On peut emboter plusieurs structures alternatives dans certains cas de figure.


SI exp_log1
ALORS SI exp_log2
ALORS action1
SINON action2
Fin Si
SINON action 3
Fin Si

Le mot cl FSI permet de lever toute ambigut.

Exemple : Afficher le plus grand de deux nombres.


Algo PlusGrand
Var
a,b :entier
Dbut
ECRIRE/AFFICHER (''Entrez deux nombres : '')
LIRE/SAISIR (a,b)
Si a>b
Alors AFFICHER( '' Le plus grand des deux est : '', a)
Sinon Si a=b
Alors AFFICHER ('' Les nombres '',a,'' et '',b,'' sont gaux'')
Sinon AFFICHER ('' Le plus grand des deux est : '',b)
Fin Si
Fin Si
Fin

2) Structure choix multiples.


Un nombre important de choix est envisager selon les valeurs prises par une variable ou expression.
Cette structure permet une prsentation plus claire dun ensemble dalternatives imbriques.
Selon variable ou exp
Cas Valeur1 : action1
Cas Valeur2 : action2
Cas Valeur3 :action3
Cas Sinon action par dfaut
Fin Selon

Exemple :
Selon mois
Cas 1 :AFFICHER('' JANVIER'')
Cas 2 :AFFICHER('' FEVRIER'')
Cas 3 :AFFICHER('' MARS'')

5
Module : Algorithmique et structure de donnes - Anne universitaire : 2017-2018

Fin selon

V - LES STRUCTURES ITERATIVES.

Un ensemble dactions qui se rpte toujours dans un ordre prcis, un nombre dtermin de fois constitue un
traitement itratif.
Un tel traitement est dfini par une structure itrative qui dfinit la suite des oprations effectuer ainsi que le
nombre de rptitions.
Dans la plupart des cas, on ne connat pas le nombre de rptitions, on prcise alors la nature de lvnement
qui doit mettre un terme litration.

1) Structure Tant que .Faire..


Syntaxe :
Tant que <expression logique> faire
Actions
Fin Tant Que

Lensemble dactions doit tre excut tant que lexpression logique est vraie. Lorsque lexpression logique
est fausse, le processus itratif sarrte.

Phases dexcution :
-1. Evaluation de lexpression logique.
-2. Rsultat vrai : Excuter les actions.
Reprise de ltape prcdente 1.
-3. Rsultat faux :Arrt de litration et le programme poursuit son excution aprs FTQ.

Remarque :
La condition darrt doit tre ralisable : sa valeur doit passer faux aprs un nombre fini de tours de boucle.
Cette condition est compose dune variable dont la valeur change chaque tour de boucle. Cette variable
est appele variable de contrle ou ditration. Elle doit tre modifie par une action dans la boucle
Exemple : Calculer la somme des N premiers nombres entiers.

Algo Somme
Var La variable S est utilise
S,I,N : Entier pour additionner les
Dbut diffrentes valeurs. Elle est
Afficher (''Entrer la valeur de N'') initialise 0.
Lire (N)
S 0
La variable I est appele
I 1
variable ditration. Elle
Tant que I<=N faire
passe en revue les nombres
S S+I
de 1 N
I I+1
Fin Tant Que Cette instruction permet
de faire voluer I la
Ecrire (''La somme des '',N,'' premiers entiers est : '', S) valeur suivante.
Fin

2) La structure Rpterjusqu..
6
Module : Algorithmique et structure de donnes - Anne universitaire : 2017-2018

Syntaxe :
Rpter

Actions

Jusqu <expression logique>
-1. Le bloc dactions est excut.
-2. Lexpression logique est teste
-3. Dans le cas o elle est gale faux, on recommence au point 1.
-4. Dans le cas o elle est gale vrai. Le programme poursuit son excution aprs linstruction ''jusqu''.

Dans ce cas la suite dactions est excute au moins une fois, car le test de lexpression logique est effectu
aprs excution de lensemble dactions.

Exemple : Traduire lalgorithme prcdent en utilisant la structure : RpterJusqu.


Expression logique(I>N).
Comparaison des deux structures :
-Dans la structure rpter .., le test est plac en fin ditration, par consquent les actions rptitives sont
excutes au moins une fois.
-Dans la structure Tant que.., le test est plac avant le corps de la boucle. Dans certains cas, il est possible
de ne pas excuter une seule fois les oprations rptitives.

3) La structure Pour Fin pour.


Cette structure permet de rpter un ensemble dactions un nombre connu de fois.
Syntaxe :
Pour Nom_var de valeur-initiale valeur-finale [pas de incrmentation]
Actions
Fin pour
Nom_var est la variable dnumration des rptitions. Elle sera initialise la valeur de dbut, lensemble
des actions sera excut, elle passera automatiquement la valeur suivante jusqu la valeur finale.
Exemple :
S 0
Pour I de1 10
S S+I
Fin pour