Vous êtes sur la page 1sur 34

Algorithmique (suite)

DEUG Sciences conomiques

Rappel de ce qui a t vu
Notion de variable (dclaration)
Instructions
Affectation
Lecture
Lire(variable)
Ecriture
Ecrire(variable, valeur, ou
expressions)

Structures de contrle
Condition simple Si Finsi
Condition avec alternative
Si Sinon SinSinon
Rptition Tant que FinTantQue

Structure dun algorithme


2

Plan
Exemples dalgorithmes
La structure de rptition Pour
Structure de tableau une dimension
Dfinition
Dclaration
Manipulation

Quelques algorithmes
Notation Visual Basic Application
3

Algorithme 1
crire un algorithme qui permet de
Lire une note puis
affiche un message. Ce dernier sera
reu(e) si la note lue est suprieure
ou gale 10
recal(e) si la note est infrieure 10

Algorithme 1
De quelles variables a-t-on
besoin ?
On na besoin que dune seule
variable. Appelons la X

Quelle est le type de cette variable


?
A priori, une note est un rel
5

Algorithme 1
Description de lalgorithme :
On lit dabord la variable X
On teste ensuite sa valeur
Si elle est c alors on affiche reu(e)
Sinon, on affiche recal(e)

Algorithme 1
Algorithme Exemple1
Variable X: rel
Dbut
Lire(X)
Si X 10 alors
Ecrire(reu(e))
Finsi
Sinon
Ecrire(recal(e))
FinSinon
Fin
7

Algorithme 1
Algorithme Exemple1
Variable X: rel
Dbut
Ecrire (donner une note)
Lire(X)
Si X 10 alors
Ecrire(reu(e))
Finsi
Sinon
Ecrire(recal(e))
FinSinon
Fin

Algorithme 1
Algorithme Exemple1

Ecrire (donner une note)


Lire(X)
Tant que (X<0)
Ecrire(X, nest pas une note valable)
Ecrire(taper une autre valeur)
Lire(X)
FinTantQue
Si X 10 alors

Fin

Algorithme 1
Algorithme Exemple1

Ecrire (donner une note)


Lire(X)
Tant que ((X<0) OU (X > 20))
Ecrire(X, nest pas une note valable)
Ecrire(taper une autre valeur)
Lire(X)
FinTantQue
Si X 10 alors

Fin

10

Algorithme 2
crire un algorithme qui
lit deux notes puis
affiche leur moyenne

11

Algorithme 2
De quelles variables a-t-on besoin ?
Premire solution :
Deux variables pour les deux notes.
Appelons les X et Y
Une variable pour la moyenne. Appelons la M
Chacune de ces 3 variables est un rel

Deuxime solution :
On peut nutiliser que deux variables X et Y
pour les deux notes. La moyenne sera
calcule lors de laffichage

12

Algorithme 2
Description de lalgorithme
On lit dabord les deux notes
On calcule leur moyenne
On affiche la moyenne

13

Algorithme 2
Subexemple1()
DimX,YAsInteger
DimMAsDouble
X=InputBox("donnerx")
Y=InputBox("donnery")
M=(X+Y)/2
MsgBox("Moyennede"&X&"et"&Y&"est"&M)
EndSub

14

Algorithme 2
Algorithme Exemple 2
Variable X, Y, M : rel
Dbut
Lire(X)
Lire(Y)
Ecrire(moyenne de, X, et, Y , est,
(X+Y)/2)
Fin

15

Algorithme 3
Ecrire un algorithme qui
Lit 5 notes puis
Affiche leur moyenne

On peut reprendre le mme


principe:
5 variables pour les notes toutes
relles
16

Algorithme 4
Ecrire un algorithme qui
Lit 100 notes puis
Affiche leur moyenne

On peut aussi sen sortir en


utilisant l aussi 100 notes mais a
devient lourd
17

Algorithme 4
Ide :
La moyenne est calcule en faisant la
somme de toutes les notes lues
Utiliser une boucle Tant que qui nous
permet de
Lire 100 fois la mme variable X
A chaque fois quon lit une nouvelle
valeur de X, on la rajoute une
variable S

A la fin, il suffit de diviser S par 100


pour avoir la moyenne
18

Algorithme 4
De quelles variables a-t-on besoin ?
X va nous permettre de lire les notes
S va nous permettre de calculer la
somme

Nous avons aussi besoin dune


variable i qui nous permet de
compter le nombre de fois quon lit X
X et S sont de type rel, alors que i
est de type entier
19

Algorithme 4
Algorithme exemple4
Variable X, S : rel
Variable i : entier
Dbut
i 1
initialisation de i
S0
initialisation de S
Tant que i 100
Lire (X)
SS+X
ii+1
FinTantQue
Ecrire (la moyenne est, S/100)
Fin

20

La structure de rptition
Pour

Permet de rpter lexcution


dune suite dinstructions un
certain nombre de fois
Syntaxe:
Pour variable=val1 val2
Instructions
FinPour

21

La structure de rptition
Pour
Exemple:
Pour i = 1 100
Ecrire( donner une note )
Lire (X)
FinPour
La premire valeur de i est 1
A chaque itration, on ajoute 1 i
22

La structure de rptition
Pour
Pour i=10 8
Ecrire(i)
FinPour

Cette boucle ne sera excute


aucune
fois car Val1 > Val2
On peut toujours remplacer une
boucle Pour par une boucle
TantQue. Linverse nest pas vrai.
23

La structure de rptition
Pour

Algorithme exemple4
Variable X, S : rel
Variable i : entier
Dbut
i 1
initialisation de i
S0
initialisation de S
Tant que i 100
Pour i = 1 100
Lire (X)
SS+X
ii+1
FinTantQue
FinPour
Ecrire (la moyenne est, S/100)
Fin

24

La structure de rptition
Pour

Ecrire un algorithme qui affiche le


produit de tous les nombres
compris entre 1 et 10
Ide 1:
Utiliser deux variables entires i et j
i et j prennent leurs valeurs dans
lintervalle [1..10]
A chaque nouvelle valeur, on affiche
i*j

25

Structure de rptition
Pour

Algorithme exemple5
Variable i, j : entier
Dbut
Pour i = 1 10
Pour j = 1 10
Ecrire(i, * , j, = , i * j)
FinPour
i=1, j= 1..10
FinPour
i= 2, j=1 .. 10
Fin

i=10, j=1 .. 10

26

Structure de rptition
Pour

Ide 2:

Utiliser deux variables entires i et j


i prend ses valeurs dans lintervalle
[1..10]
j prend ses valeurs dans lintervalle
[i..10]
Ceci nous permettra dviter de
calculer deux fois le mme produit

27

Structure de rptition
Pour

Algorithme exemple5
Variable i, j : entier
Dbut
Pour i = 1 10
Pour j = i 10
Ecrire(i, * , j, = , i * j)
FinPour
i=1, j= 1..10
FinPour
i= 2, j=2 .. 10
Fin

i=10, j=10 .. 10

28

Structure de tableau une


dimension
Dfinition
On lappelle aussi vecteur.
Il est compos dun certain nombre
de cases
Chaque case peut prendre une valeur
Toutes les cases ont le mme type
Une case est repre par son indice
8
1

1
2

3
3

5
4

0
5

7
8

Contenu
Indices
29

Structure de tableau une


dimension
Dclaration:
Variable nom_var :Tableau[nb] de
Type
Exemple:
Variable T : Tableau[5] dentiers
Ceci va crer une variable T qui est
un tableau contenant 5 cases
30

Structure de tableau une


dimension
Manipulation:
Un tableau est lue case pas case
Lire (T[10]) revient lire la case dont
lindice est 10
Si T est un tableau, alors Lire(T) est une
instruction errone

Ainsi, chaque case du tableau est


manipulable comme si ctait une
variable simple classique

31

Structure de tableau une


dimension
Ecrire un algorithme qui
Lit un tableau de 10 entiers puis
Affiche la variance de ces 10 entiers
Rappel: variance= (xi M)2/n o
M est la moyenne
N est le nombre de valeurs

32

Structure de tableau une


dimension
Algorithme Exemple6
Variable T : Tableau[10] dentiers
Variable i : entier
Variable M, V : rel
Dbut
M0
V0
Pour i = 1 10
Lire(T[i])
M M + T[i]
FinPour
M M/10
Pour i = 1 10
V V + (T[i] M)2
FinPour
Ecrire (V/10)
Fin

33

Notation Visual Basic


Variable NomV : Type
Dim NomV As Type (integer, long,
double, string,

Nom expression
Nom = expression

Lire (NomV)
NomV = InputBox()

Ecrire (expression)
MsgBox(expression)
34