Académique Documents
Professionnel Documents
Culture Documents
Informatique de Gestion
hf
2
2014/2015
Programme
2014/2015
3
Langages informatiques
Un langage informatique est un code de communication, permettant
un tre humain de dialoguer avec une machine en lui soumettant
des instructions et en analysant les donnes matrielles fournies par
le systme.
Le langage informatique est lintermdiaire entre le programmeur et
la machine.
Il permet dcrire des programmes (suite conscutive dinstructions)
destins effectuer une tache donne
Langages de programmation
Deux types de langages :
2014/2015
Notion dalgorithme
Algorithme informatique
Un algorithme est une suite dinstructions ayant pour but de
rsoudre un problme donn.
Ces instructions doivent tre excutes de faon automatique
par un ordinateur.
Exemples:
2014/2015
8
Algorithme et programme
Llaboration dun algorithme prcde ltape de programmation
Algorithmique
algorithme = mthode de rsolution
algorithme vient du nom du clbre mathmaticien
arabe Al Khawarizmi (Abu Ja'far Mohammed Ben Mussa
Al-Khwarismi)
Lalgorithmique dsigne aussi la discipline qui tudie les
algorithmes et leurs applications en Informatique
Une bonne connaissance de lalgorithmique permet
dcrire des algorithmes exacts et efficaces
2014/2015
10
Algorithmique
Conception
comment dvelopper un algorithme ?
quelles techniques produisent de bons algorithmes ?
Analyse
Processus de dveloppement :
analyse
codage
2014/2015
test
fin
11
dcouverte derreurs
demandes damliorations
Algorithmique
2014/2015
14
Notions et Instructions de
base
Instructions de base
Un programme informatique est form de quatre types
dinstructions considres comme des petites briques de base :
laffectation de variables
la lecture et/ou lcriture
les tests
les boucles
2014/2015
15
Notion de variable
Chaque emplacement mmoire a un numro qui permet d'y faire
rfrence de faon unique : c'est l'adresse mmoire de cette cellule.
Rgle : La variable doit tre dclare avant dtre utilise, elle doit
tre caractrise par :
un nom (Identificateur)
un type qui indique lensemble des valeurs que peut prendre la variable
(entier, rel, boolen, caractre, chane de caractres, )
Une valeur
2014/2015
16
Identificateurs : rgles
Le choix du nom dune variable est soumis quelques rgles qui
varient selon le langage, mais en gnral:
Identificateurs : conseils
Conseil: pour la lisibilit du code choisir des noms significatifs
qui dcrivent les donnes manipules
exemples: NoteEtudiant, Prix_TTC, Prix_HT
Remarque: en pseudo-code algorithmique, on va respecter
les rgles cites, mme si on est libre dans la syntaxe
2014/2015
18
20
Variables : remarques
pour le type numrique, on va se limiter aux entiers et rels sans
considrer les sous types
Pour chaque type de variables, il existe un ensemble d'oprations
correspondant.
Une variable est l'association d'un nom avec un type, permettant
de mmoriser une valeur de ce type.
2014/2015
21
Constante
Une constante est une variable dont la valeur ne change pas
au cours de l'excution du programme, elle peut tre un
nombre, un caractre, ou une chaine de caractres.
En pseudo-code, Constante identificateur=valeur : type,
(par convention, les noms de constantes sont en majuscules)
Exemple : pour calculer la surface des cercles, la valeur de pi
est une constante mais le rayon est une variable.
Constante PI=3.14 : rel, MAXI=32 : entier
Une constante doit toujours recevoir une valeur ds sa
dclaration.
2014/2015
22
Affectation
Laffectation consiste attribuer une valeur une variable
(Cest--dire remplir ou modifier le contenu d'une zone mmoire)
En pseudo-code, l'affectation est note par le signe
Var e : attribue la valeur de e la variable Var
- e peut tre une valeur, une autre variable ou une expression
- Var et e doivent tre de mme type ou de types compatibles
- laffectation ne modifie que ce qui est gauche de la flche
Exemples : i 1 j i k i+j
Affectation
Les langages de programmation C, C++, Java, utilisent le signe
gal = pour laffectation .
Remarques :
Affectation : exercices
Donnez les valeurs des variables A, B et C aprs excution des instructions
suivantes ?
Variables A, B, C: Entier
Dbut
A7
B 17
AB
B A+5
CA+B
CBA
Fin
2014/2015
27
Affection : exercices
Donnez les valeurs des variables A et B aprs excution des
instructions suivantes ?
Variables A, B : Entier
Dbut
A6
B2
AB
BA
Fin
28
0.
1.
A
2.
B
3.
A
B
A
2014/2015
B
A
B
29
Fiche 2.6
Affectation : changes
crire un algorithme permettant dchanger les valeurs
de deux variables A et B ?
Rponse :
On utilise une variable auxiliaire C et on crit les instructions
suivantes :
2014/2015
30
A;
A B; BC;
Expressions et oprateurs
Une expression peut tre une valeur, une variable ou une
opration constitue de variables relies par des oprateurs
exemples: 1, b, a*2, a+ 3*b-c,
L'valuation de l'expression fournit une valeur unique qui est le
rsultat de l'opration
Les oprateurs dpendent du type de l'opration, ils peuvent tre :
Expression : remarques
On ne peut pas additionner un entier et un caractre
Toutefois dans certains langages on peut utiliser un
oprateur avec deux oprandes de types diffrents, cest
par exemple le cas avec les types arithmtiques (4 + 5.5)
La signification dun oprateur peut changer en fonction du type
des oprandes
Expression : remarques
Pour le langage C, si x et y sont entiers, x/y est une division entire
alors que si lun des deux ne lest pas la division est relle
x+y/z : est une expression arithmtique dont le type dpend des types
de x, y et z
(x>y) | | !(x=y+1) : est une expression boolenne (| | dnote loprateur
logique ou et ! Dnote la ngation)
Avant dutiliser une variable dans une expression, il est ncessaire
quune valeur lui ait t affecte.
La valeur de lexpression est value au moment de laffectation
x 4
y 6
z x+y
Ecrire(z)
y 20
Ecrire(z)
10
10 la modification de y aprs affectation na
aucun effet sur la valeur de z
33
2014/2015
^ : (lvation la puissance)
* , / (multiplication, division)
% (modulo)
+ , - (addition, soustraction)
exemple: 9 + 3 * 4 vaut 21
exemple: (9 + 3) * 4 vaut 48
35
Tables de vrit
C1
Vrai
Vrai
Faux
Faux
C2
Vrai
Faux
Vrai
Faux
C1
Vrai
2014/2015
C1 et C2
Vrai
Faux
Faux
Faux
Non C1
Faux
C1 ou C2
Vrai
Vrai
Vrai
Faux
Faux
Vrai
Vrai
Faux
Faux Vrai
36
C1 XOR C2
37
41
Instructions conditionnelles
Test
Faux
Vraie
Suite dinstructions 1
Suite dinstructions 2
2014/2015
42
Instructions conditionnelles
Remarques :
la condition ne peut tre que vraie ou fausse
si la condition est vraie alors seules les instructions1 sont
excutes
si la condition est fausse seules les instructions2 sont excutes
la condition peut tre une expression boolenne simple ou une
suite compose dexpressions boolennes
43
SiAlorsSiAlorsSinon : exemple
Algorithme ValeurAbsolue1
Rle : affiche la valeur absolue dun entier
Donnes : la valeur calculer
Rsultat : la valeur absolue
Variable x : rel
Dbut
Ecrire (" Entrez un rel : ")
Lire (x)
Si x < 0 alors
Ecrire ("la valeur absolue de ", x, "est:",-x)
Sinon
Ecrire ("la valeur absolue de ", x, "est:",x)
Finsi
Fin
2014/2015
44
SiSiAlors : exemple
Algorithme ValeurAbsolue2
Variable x, y : rel
Dbut
Ecrire (" Entrez un rel : " )
Lire (x)
y x
Si x < 0 alors
y -x
Finsi
Ecrire ("la valeur absolue de ", x, "est:",y)
Fin
2014/2015
45
Exercice (tests)
crire un algorithme qui demande un nombre entier l'utilisateur, puis qui
teste et affiche s'il est divisible par 7 ou non
Algorithme Divsible_par7
Variable n : entier
Dbut
Ecrire (" Entrez un entier : ")
Lire (n)
Si (n%7=0) alors
Ecrire (n," est divisible par 7")
Sinon
Ecrire (n," n'est pas divisible par 7")
Finsi
Fin
2014/2015
46
Conditions composes
Une condition compose est une condition forme de plusieurs
conditions simples relies par des oprateurs logiques:
ET, OU, OU exclusif (XOR) et NON
Exemples :
x compris entre 2 et 6 : (x >= 2) ET (x < =6)
n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
deux valeurs et deux seulement sont identiques parmi a, b et c :
(a=b) XOR (a=c) XOR (b=c)
L'valuation d'une condition compose se fait selon des rgles prsentes
gnralement dans ce qu'on appelle tables de vrit
2014/2015
47
Tests imbriqus
Les tests peuvent avoir un degr quelconque d'imbrications
Si condition1 alors
Si condition2 alors
instructionsA
Sinon
instructionsB
Finsi
Sinon
Si condition3 alors
instructionsC
Finsi
Finsi
2014/2015
48
49
50
Tests : remarques
Un sinon se rapporte toujours au dernier si qui na pas encore de
sinon associ
Il est recommand de structurer le bloc associ si et celui associ
sinon
Exemple :
Lire(a)
x 1
Si (a>= 0) alors
si (a==0) alors x 2
sinon x 3
finsi
finsi
ecrire(x)a : -1
affichage : 1
0
2
1
3
2014/2015
53
L'instruction cas
Lorsque lon doit comparer une mme variable avec plusieurs
valeurs, comme par exemple :
si a=1 alors instruction1
sinon si a=2 alors instruction2
sinon si a=4 alors instruction4
sinon . . .
finsi
finsi
finsi
On peut remplacer cette suite de si par linstruction cas
2014/2015
54
L'instruction cas
Sa syntaxe en pseudo-code est :
cas o v vaut
v1 : action1
v2 : action2
...
vn : actionn
autre : action autre
fincas
v1,. . . ,vn sont des constantes de type scalaire (entier, naturel,
numr, ou caractre)
action i est excute si v = vi (on quitte ensuite linstruction cas)
action autre est excute si quelque soit i, v vi
2014/2015
55
Variables c : caractre
Dbut
Ecrire(entrer un caractre)
Lire (c)
Si((c>=A) et (c<=Z)) alors
cas o c vaut
A,E, I, O, U, Y : ecrire(c,est une voyelle majuscule)
autre : ecrire(c, est une consonne majuscule )
fincas
sinon ecrire(c,nest pas une lettre majuscule)
Finsi
Fin
2014/2015
56
correction
i1
TantQue i <100
i i+1
FinTantQue
59
Variable C : caractre
Debut
crire (" Entrez une lettre majuscule ")
Lire (C)
TantQue (C < 'A' ou C > 'Z')
Ecrire ("Saisie errone. Recommencez")
Lire (C)
FinTantQue
Ecrire ("Saisie valable")
Fin
2014/2015
60
FinTantque
Fin
2014/2015
61
64
Vrai
instructions
ii+pas
Faux
2014/2015
68
69
70
71
74
Boucles : exercice
Ecrire un algorithme qui compte le nombre de 1 dans la reprsentation
binaire de lentier n.
Solution :
Variables i, n, poids : entiers
Debut
Ecrire(" Entrer la valeur de n :")
lire(n)
in
nbits0
TantQue(i<>0) faire
si (i mod 2 = 1) alors poidspoids + 1
ii/2
FinTantQue
Ecrire("Pour lentier",n," le poids est : ",poids)
Fin
2014/2015
76
Boucles imbriques
Les instructions d'une boucle peuvent tre des instructions
itratives. Dans ce cas, on aboutit des boucles imbriques
Exemple:
Pour i allant de 1 5
Pour j allant de 1 i
crire("O")
FinPour
crire("K")
FinPour
Excution
OK
OOK
OOOK
OOOOK
OOOOOK
2014/2015
77
2014/2015