Vous êtes sur la page 1sur 63

29/04/2013 Aissaoui nabila

LALGORITHMIQUE

ALGORITHME

En informatique, un algorithme est une suite dinstructions permettant darriver un rsultat donn. Un algorithme est crit dans un langage humain (simple).

STRUCTURE GNRALE DUN


ALGORITHME

NOTION DE VARIABLE
Les donnes ainsi que les rsultats des calculs intermdiaires ou finaux, sont rangs dans des casesmmoires appeles variables. Une variable:

un emplacement mmoire nomm Prenant un nombre indfini de valeurs diffrentes au cours du droulement de l'algorithme.

NOTION DE VARIABLE
Pour employer une image, une variable est une bote, que le programme (lordinateur) va reprer par une tiquette. Pour avoir accs au contenu de la bote, il suffit de la dsigner par son tiquette physiquement, il y a un emplacement de mmoire, repr par une adresse binaire

DCLARATION DES VARIABLES


La partie dclarations consiste numrer toutes les variables dont on aura besoin au cours de l'algorithme. Syntaxe :

Variable nom_de_la_variable : type variables nombre, k : entier


nom : chaine a, b : boolen

Exemple :

DCLARATION DES VARIABLES


Le nom de variable peut comporter des lettres et des chiffres, mais il exclut la plupart des signes de ponctuation, en particulier les espaces Un nom de variable correct commence galement imprativement par une lettre. Quant au nombre maximal de signes pour un nom de variable, il dpend du langage utilis.

TYPES DES VARIABLES


Entier : les nombres entiers positifs ou ngatifs Rel : les nombres rels

Caractre : caractres alphabtiques et numriques Chaine : une chaine de caractre

Boolen : les expressions logiques (Vrai, Faux), pour stocker une telle information binaire, un seul bit suffit. Montaire (avec strictement deux chiffres aprs la virgule) Date(jour/mois/anne). RQ: En algorithme, on ne se tracassera pas trop avec les 8 sous-types de variables

LES CONSTANTES
Comme une variable, une constante est un emplacement mmoire, mais dont la valeur stock ne sera jamais modifie au cours du programme. Syntaxe :

Constante nom_de_la_constante = valeur Constante pi = 3.14

Exemple :

LES INSTRUCTIONS
Une

instruction est une action que l'ordinateur est capable d'excuter

Chaque

langage de programmation fournit une liste des instructions quon peut utiliser

10

LES INSTRUCTIONS : LAFFECTATION


Les

instructions de base sont:

Linstruction daffectation :
Laffectation permet daffecter une valeur une variable. Symbolise en algorithmique par ", elle prcise le sens de laffectation. Syntaxe :

Variable expression
expression peut tre soit :

Constante Identificateur (nom dune variable) Expression arithmtique Expression logique


11

LES INSTRUCTIONS : LAFFECTATION


Exemple

: Algorithme Calcul Variables A, B, C, D : entier Debut A 10 B 30 C A+B D C*A Fin


12

LES INSTRUCTIONS : LAFFECTATION


Exemple 1 T 12 TH TH+4 TT+1 Tutu =17 Exemple n2 Dbut R "Loulou" FR Fin

13

ORDRE DINSTRUCTION
Exemple 1 Variable A en Numrique Dbut A 34 A 12 Fin A=12 Exemple 2 Variable A en Numrique Dbut A 12 A 34 Fin A=34

14

LES OPERATEUR
+ : addition - : soustraction * : multiplication / : division ^: carr &:concatenation

15

OPERATEURS

LOGIQUES

16

LES INSTRUCTIONS
Linstruction

de sortie: L'instruction de sortie (dcriture) permet dafficher des informations l'utilisateur travers l'cran.

Syntaxe :

Ecrire (expression) Expression peut tre un message, le contenu d'une variable...

17

LES INSTRUCTIONS

Exemple :

Ecrire("bonjour") Cette instruction permettra dafficher bonjour lcran

Ecrire (A) Cette instruction permet dafficher lcran la valeur de la variable A. ou bien Ecrire ("la valeur de A est: " A)
18

LES INSTRUCTIONS

Linstruction dentre :
Linstruction dentre ou de lecture permet lutilisateur de saisir des donnes au clavier. Cette instruction assigne (affecte) une valeur entre au clavier dans une variable. Syntaxe :

Lire (variable)

19

LES INSTRUCTIONS
Exemple

: Lire (A) Cette instruction permet lutilisateur de saisir une valeur au clavier qui sera affecte la variable A. Remarque : Lorsque le programme rencontre cette instruction, lexcution sinterrompt et attend que l'utilisateur tape une valeur. Cette valeur est range en mmoire dans la variable dsigne

20

EXEMPLE
Ecrire un algorithme qui demande de saisir un nombre rel et puis lafficher.

21

SOLUTION
Algorithme Affichage Variables a : Reel Dbut Ecrire ("Donner un nombre :") Lire (a) Ecrire ("le nombre que vous avez saisi est" a) Fin
22

EXEMPLE
Ecrire un algorithme qui demande de saisir un nombre et de calculer son carre et puis lafficher.

23

SOLUTION
Algorithme Calcul_carre Variables nombre, caree : rel Dbut Ecrire (" Donner le nombre lever au carre:") Lire (nombre) caree nombre * nombre Ecrire ("le carre est :"caree) Fin
24

EXEMPLE
Ecrire un algorithme qui demande de saisir deux nombres et de calculer leur somme et puis lafficher.

25

SOLUTION
Algorithme Calcul somme Variables a,b,somme : rel Dbut Ecrire ("Entrez le premier nombre :") Lire (a) Ecrire ("Entrez le deuxime nombre :") Lire (b) Somme a + b Ecrire("la somme de " a "et " b "est " somme) Fin
26

LA STRUCTURE ALTERNATIVE
Il

est souvent ncessaire lorsque l'on crit un programme de distinguer plusieurs cas conditionnant l'excution de certaines instructions

Utilisation

dune structure alternative : si on est dans tel cas, alors on fait cela sinon on fait ceci.
27

Syntaxe

LA STRUCTURE ALTERNATIVE
:
SI (condition) Alors instructions [Sinon instructions] FinSi
Les crochets signifient que la partie Sinon est facultatif.

Si la condition prend la valeur vrai, le premier bloc dinstructions est excut; si elle prend la valeur faux, le second bloc est excut (sil est prsent, sinon, rien). 28

La structure alternative

Exemple: Ecrire un algorithme qui permet de saisir un nombre rel et dafficher sur lcran "ce nombre est positif" si le nombre introduit est positif ou "ce nombre est ngatif" dans lautre cas.

29

La structure alternative
Algorithme positif ou ngatif Variables a : Reel Debut Ecrire("Donnez-moi un nombre: ") Lire(a) Si (a >= 0) Alors Ecrire("ce nombre est positif" ) Sinon Ecrire("ce nombre est ngatif") FinSi Fin
30

La structure alternative

Les conditions: Pour exprimer les conditions on utilise les oprateurs conditionnels suivants :

Les oprateurs de comparaison


= gal < infrieur > suprieur <= infrieur ou gal >= suprieur ou gal <> diffrent

Exemple : Si (a <> 0) Alors


31

La structure alternative

Les conditions: plusieurs conditions peuvent tre combines en utilisant:

Les oprateurs logiques


ET OU NON XOR

Exemple : Si ((a>3 et b=vrai) ou (c<>x XOR d<=0))


Lorsque l'on crit de telles conditions, il est recommand de mettre toutes les parenthses afin d'viter les erreurs. Les parenthses prcisent que lon doit dabord valuer ce qui se trouve entre les 2 32 parenthses

LA STRUCTURE ALTERNATIVE

33

La structure alternative
SI (condition) Alors instructions [Sinon instructions] FinSi
Instructions peut tre: une simple instruction une suite d'instructions une autre alternative (Si imbriqus):
Si (condition1) Alors Si (condition2) Alors instructions FinSi FinSi
34

La structure alternative

Linstruction Selon :

Syntaxe :
Selon (variable) cas variable = valeur1 : instructions 1 cas variable = valeur2 : instructions 2 autres : instructions N

FinSelon

35

La Selon structure alternative (variable)


cas variable = valeur1 : instructions 1 cas variable = valeur2 : instructions 2 autres : instructions N FinSelon Si (variable = valeur1) Alors instructions 1 Sinon Si (variable = valeur2) Alors instructions 2 . Sinon instructions N FinSi FinSi...
36

La structure alternative

Exemple: Algorithme qui permet de saisir un nombre entre 1 et 7 et affiche le jour correspondant.

37

La structure alternative
Algorithme jour de la semaine Variables jour : Entier Debut Ecrire("Donnez le nombre de jour") Lire(jour) Si jour = 1 Alors crire ( lundi ) Sinon Si jour = 2 Alors crire ( mardi ) Sinon Si jour = 3 Alors crire ( mercredi ) Sinon Si jour = 4 Alors crire ( jeudi ) Sinon Si jour = 5 Alors crire ( vendredi ) Sinon Si jour = 6 Alors crire ( samedi ) Sinon Si jour = 7 Alors crire ( dimanche ) Sinon crire ( le numro doit tre compris entre 1 et 7 ) FinSi Fin
38

La structure alternative
Algorithme jour de la semaine Variables jour : Entier Debut Ecrire("Donnez le nombre de jour") Lire(jour) Selon (jour)
Cas jour = 1 : Ecrire ( lundi ) Cas jour = 2 : Ecrire ( mardi ) Cas jour = 3 : Ecrire ( mercredi ) Cas jour = 4 : Ecrire ( jeudi ) Cas jour = 5 : Ecrire ( vendredi ) Cas jour = 6 : Ecrire ( samedi ) Cas jour = 7 : Ecrire ( dimanche ) Autres : Ecrire ( le numro doit tre compris entre 1 et 7 ) FinSelon Fin
39

LA STRUCTURE RPTITIVE (BOUCLE)

On utilise la structure rptitive si on veut rpter des mmes actions (instructions) un certain nombre de fois Excuter ces actions jusqu' ce quune telle condition soit remplie la plupart des langages de programmation proposent trois types de structure rptitive

40

Le TantQue :

TantQue (condition) Faire instructions FTQ


Ce qui signifie : tant que la condition est vraie, on excute les instructions

41

LA STRUCTURE RPTITIVE (BOUCLE)

Exemple : algorithme qui demande lutilisateur de saisir un nombre entier positif et aprs il affiche tous les nombres entiers positifs inferieurs ou gale au nombre saisi par lutilisateur.

42

LA STRUCTURE RPTITIVE (BOUCLE)


Algorithme Affichage Variables n,i : Entier Dbut Ecrire ("Donner un nombre entier positif:") Lire(n) i0 TantQue (i<=n) Faire Ecrire (i) ii+1 FTQ Fin
43

LA STRUCTURE RPTITIVE (BOUCLE)

Le Faire TantQue :

Faire instructions TantQue condition


Ce qui signifie : on excute les instructions, tant que la condition est vraie Remarque: la suite des instructions va sexcuter au moins une fois.
44

LA STRUCTURE RPTITIVE (BOUCLE)

Exemple : algorithme qui demande lutilisateur de saisir un nombre entier positif et aprs il affiche tous les nombres entiers positifs inferieurs ou gale au nombre saisi par lutilisateur.

45

LA STRUCTURE RPTITIVE (BOUCLE)

Algorithme Affichage Variables n,i : Entier Dbut Ecrire ("Donner un nombre entier positif:") Lire(n) i0 Faire Ecrire (i) ii+1 TanQue (i<=n) Fin
46

LA STRUCTURE RPTITIVE (BOUCLE)

Le Pour :

POUR variable DE valeur initiale A valeur finale FAIRE instructions FinPour


structure rptitive avec un compteur et on s'arrte lorsque le compteur a atteint sa valeur finale

47

LA STRUCTURE RPTITIVE (BOUCLE)

Exemple : algorithme qui demande lutilisateur de saisir un nombre entier positif et aprs il affiche tous les nombres entiers positifs inferieurs ou gale au nombre saisi par lutilisateur.

48

LA STRUCTURE RPTITIVE (BOUCLE)


Algorithme Affichage Variables n,i : Entier Dbut Ecrire ("Donner un nombre entier positif:") Lire(n) Pour i De 0 A n Faire Ecrire(i) FinPour Fin
49

LA STRUCTURE RPTITIVE (BOUCLE)


le traitement ne doit pas modifier la variable de boucle: pour cpt de 1 N faire si () alors cpt N Interdit!!!!! Finpour

50

LA STRUCTURE RPTITIVE (BOUCLE)

Choisir PourTantQueFaire TantQue

Faire TanQue

51

LA STRUCTURE RPTITIVE (BOUCLE)


Le problme dune boucle : il faut en sortir tant que A faire B Faire B tant que A quelque chose dans la suite dinstructions B doit amener A prendre la valeur Faux

val1 2 val2 3 TantQue val1 < 100 faire val2 val2 val1 FTQ

Boucle infinie

52

LA STRUCTURE RPTITIVE (BOUCLE)

Exercice :

algorithme qui permet de saisir un nombre entier et de calculer son factorielle et puis lafficher .

53

LA STRUCTURE RPTITIVE (BOUCLE)

Exercice :

algorithme qui permet de saisir des nombres et s'arrter ds que lutilisateur introduit 0.

54

LES TABLEAUX

Regroupement de plusieurs variables de mme type sous un mme nom. Un tableau peut tre un ensemble de valeurs entires, relles, boolennes, caractres

55

LES TABLEAUX

Dclaration :

Tableau nom_du_tableau[longueur] : Type

Exemples :
Tableau mot[10] : Caractere Tableau notes[25] : Entier

56

LES TABLEAUX

Tableau tab[8] : Entier

Indices: 1
tab

le ime lment de ce tableau sera adress par tab[i].


Exemple: tab[4] 13 tab[7] -4 1 2 3 4 tab

57

13

-4

LES TABLEAUX

Ecrire(tab[4]) : le contenu du tableau lindice 4 est affich l cran

Lire(tab[2]) : la valeur entre par lutilisateur est enregistre dans le tableau lindice 2
Attention :

tab 7

INTERDIT

58

LES TABLEAUX

Exemple : Ecrire un algorithme qui permet de saisir les lments dun tableau des entiers de taille 10

59

LES TABLEAUX
Algorithme Saisie dun tableau Variables i : Entier Tableau tab[10] : Entier Dbut pour i de 1 A 10 Faire Ecrire("Donner llment" i) Lire(tab[i]) FinPour Fin
60

LES TABLEAUX
Algorithme Saisie dun tableau Variables i : Entier Tableau tab[10] : Entier Dbut Ecrire("Donner 10 entiers") pour i de 1 A 10 Faire Lire(tab[i]) FinPour Fin
61

LES TABLEAUX

Tableaux deux dimensions : Gnralement on fait

des tableaux une dimension, mais il existe galement des tableaux deux dimensions

Exemple: Tableau mots[3][7] : Caractere

1
1 2 3

mots
62

LES TABLEAUX

Llment de la ime ligne et la jme colonne est reprsent par mots[i][j]

Exemple:
mots[2][5] r

1
1 2 3

mots

r
63