Professional Documents
Culture Documents
de Donnes
Page 1
Cest quoi un algorithme ?
oUn algorithme peut tre assimil un raisonnement que lon peut traduire
avec un langage que toute personne peut comprendre :
oLe langage de description dalgorithme (LDA) ne doit pas tre confondu avec
le programme proprement dit.
Page 2
Chemin de la traduction de la pense
Langage traduisant la pense de manire
comprhensible pour toute personne :
Raisonnement Algorithme
logique et
chronologique LDA
Programme
C, C++,
Page 3
Structure dun Algorithme
Dclaration du nom algorithme nom de lalgorithme
de lalgorithme
const
liste des constantes
debut algorithme
action 1 // commentaire 1
action 2 // commentaire 2
Le corps de lalgorithme .
.
.
action n // commentaire n
fin algorithme
Page 4
Structure dun Algorithme
Nom de lalgorithme :
Les dclarations :
Le corps de lalgorithme :
Dans cette partie de lalgorithme, sont places les tches excuter (instructions,
oprations, ).
Les commentaires :
Page 5
Les Dclarations
Les Constantes :
Elles reprsentent des chiffres, des nombres, des caractres, des chanes de
caractres, dont la valeur ne peut pas tre modifie au cours de lexcution de
lalgorithme.
Les Variables :
Elles peuvent stocker des chiffres des nombres, des caractres, des chanes de
caractres, dont la valeur peut tre modifie au cours de lexcution de
lalgorithme.
Les Structures :
Page 6
Les Dclarations
Les constantes et les variables sont dfinies dans la partie dclarative par deux
caractristiques essentielles, savoir :
L identificateur :
Le type :
Exemples :
var age : rel ;
var sexe, adresse, ville : chaine ;
var nbr_enfants , etage : entier ; Page 7
Les types de base
De faon gnrale, pour toute objet cens contenir une ou plusieurs informations
devant tres traites par le processeur, lordinateur doit lui rserver de la mmoire
volatile (RAM). La taille mmoire ncessaire pour stocker cet objet dpend de la
nature de linformation en question.
Le boolen :
Il ne peut prendre que deux tats possibles : VRAI ou FAUX (True ou False)
Page 8
Les oprateurs
Arithmtique Comparaison
+ Addition > Suprieur stricte
- Soustraction < Infrieur stricte
* Multiplication Suprieur ou gal
/ Division Infrieur ou gal
DIV Division entire = Egal
Puissance Diffrent
Logique
ET Fonction ET
OU Fonction OU
OUX Fonction OU Exclusif
NON Fonction NON
NON ET Fonction NON ET
NON OU Fonction NON OU
Page 9
Les oprateurs : Quelques remarques
o Oprateur de concatnation Alpha-Alphanumrique ( + )
o Le signe = est utilis dans certains langages la fois comme tant oprateur de
comparaison mais aussi comme oprateur daffectation
Par exemple : a = 10 , b = 20 ;
Si (a = b) alors
c = "a est gal b" ;
Sinon
c = "a est diffrent de b" ;
Fin si
Page 10
Priorit des oprateurs usuels
Priorit croissante de bas vers le haut
* Oprateur de multiplication
/ Oprateur de division
+ Oprateur d'addition
- Oprateur de soustraction
< Oprateur d'infriorit stricte
> Oprateur de supriorit stricte
<= Oprateur d'infriorit ou d'galit
>= Oprateur de supriorit ou d'galit
== Oprateur d'galit (lang c,c++, javascript), (= VB)
!= Oprateur d'ingalit (lang c,c++, javascript), (<> VB)
&& Oprateur et logique ET (lang c,c++, javascript), (AND VB)
|| Oprateur ou logique OU (lang c,c++, javascript), (OR VB)
= Oprateur d'affectation
Page 11
Les tables de vrit : oprateurs logiques
Page 13
Les structures linaires
La structure linaire se caractrise par une suite dactions excuter dans lordre
o elles sont nonces.
Traitement 1
Traitement 2
Traitement 3
Traitement 4
Page 14
Les structures Alternatives
Une structure alternative offre la possibilit de donner des issues diffrentes la
poursuite dun algorithme.
Ces issues sexcluent mutuellement.
On peut rencontrer plusieurs formes de structures alternatives :
Traitement 4
Page 15
Les structures Alternatives
Forme alternative rduite :
dans cette structure, lexcution du traitement T2 ne dpend que la ralisation de la
condition qui le prcde :
Page 16
Les structures Alternatives : Exemples
Forme alternative linaire Forme alternative rduite
Page 17
Les structures Alternatives
Forme alternative multiple :
dans cette structure, lexcution des traitement Ti ne dpend que la ralisation de la
condition qui les prcde. Ces conditions doivent tre disjointes.
Vrai
Si Cond 1
TA Faux TAT1TB
T1
Vrai
Si Cond 2
Faux TAT2TB
T2
Vrai
Si Cond n
Faux TATnTB
Tn
Aucune Cond
TATn+1TB
T n+1
TB
Page 18
Les structures Alternatives : Exemples
Forme alternative multiple
var A, B : Entier
Saisir (A) ;
Si A < 0 Alors
B=0;
Sinon Si A >= 0 ET A < 5 Alors
B =A+ 1 ;
Sinon Si A >= 5 ET A < 10 Alors
B =A+ 2 ;
Sinon Si A >= 10 ET A < 14 Alors
B =A+ 3 ;
Sinon
B = 20 ;
Fin Si
Afficher (B) ;
Page 19
Les structures Alternatives : Exemples
Algorithme ModifierNote()
var A, B : Entier
Debut
Saisir (A) ;
Si A < 0 Alors
B=0;
Sinon
Si A < 5 Alors
B = A+ 1 ;
Sinon
Si A < 10 Alors
B = A+ 2 ;
Sinon
Si A < 14 Alors
B = A+ 3 ;
Sinon
B = 20 ;
Fin Si
Fin Si
Fin Si
Fin Si
Afficher (B) ;
Fin
Page 20
ALGO
Algorithme EleverAuCarre ()
//Cet algorithme calcule le carr du nombre que lui fournit l'utilisateur
Variables UnNombre, SonCarre : entiers ;
Dbut
afficher("Quel nombre voulez-vous lever au carr ? ") ;
saisir(UnNombre) ;
SonCarre UnNombreUnNombre ;
afficher("Le carr de " + UnNombre) ;
afficher("c'est : " + SonCarre) ;
Fin
Page 21
Lang VB
Sub EleverAuCarre()
Dim UnNombre as integer, SonCarre as integer
UnNombre = InputBox("Quel nombre voulez-vous lever au carr ? ")
SonCarre = UnNombre*UnNombre
MsgBox("Le carr de " & UnNombre & " est " & SonCarre )
End Sub
Lang C
void EleverAuCarre()
{
int UnNombre, SonCarre ;
printf("Quel nombre voulez-vous lever au carr ? ") ;
scanf("%d" , &UnNombre) ;
SonCarre = UnNombre*UnNombre ;
printf("Le carre de %d est %d" , UnNombre, SonCarre ) ;
}
Page 22
Algorithme CalculMontantTTC()
// Saisit un prix HT et affiche le prix TTC correspondant
Constantes
TVA 20.0 : rel ;
Titre "Rsultat : " : chaine ;
Variables
prixHT, prixTTC : reels ;
Debut
afficher("Donnez-moi le prix hors taxe : ") ;
saisir(prixHT) ;
prixTTC prixHT* (1+TVA/100) ; // calcul du prix TTC
afficher(Titre + prixHT + " Dh H.T. devient " + prixTTC + "Dh T.T.C.") ;
Fin
Page 23
Algorithme CaFaitQuoi()
Variables valA, valB : rels ;
Debut
afficher("Donnez-moi deux valeurs : ") ;
saisir (valA, valB) ;
afficher("Vous m'avez donn " + valA + " et " + valB) ;
valAvalB ;
valBvalA ;
afficher("Maintenant , mes donnes sont : " + valA + " et " + valB) ;
Fin
Page 24
Les structures itratives
Les structures itratives permettent de rpter lexcution dun ensemble
dinstructions une ou plusieurs fois.
Ces structures sont regroupes sous deux grandes familles selon si le nombre de
rptitions est connu ou pas.
Cas ou le nombre de rptition est connu :
POUR ALLANT DE FAIRE FIN POUR
Dans cette structure, la sortie de la boucle ditration seffectue lorsque le
nombre souhait de rptition est atteint.
On utilise donc une variable ditrations caractrise par :
sa valeur initiale,
sa valeur finale,
son pas de variation.
Page 25
Les structures itratives
Page 26
Les structures itratives : For
Algo
VB
FOR i = ValeurInitiale TO ValeurFinale STEP PasVariation
Bloc dinstructions
Next
Algo
TantQue (TestsLogiques)
Bloc dinstructions
FIN TantQue
VB
While(TestsLogiques)
Bloc dinstructions
WEnd
while(TestsLogiques)
{
Bloc dinstructions
}
Page 28
Ecrire un algorithme permettant de calculer le total ht, le total tva et le total ttc dune facture.
Page 29
Algorithme CalculFacture( )
Const tva = 0.2 : reel ;
Var mht = 0, mtva = 0, mttc = 0, puht, qt : reel ;
Var Nbr_Produits = 0 : entier ;
Var Reponse char ;
DEBUT
Afficher ( Voulez vous effectuer un achat ? : ) ;
Saisir(Reponse) ;