Académique Documents
Professionnel Documents
Culture Documents
CHAPITRE I Introduction
INTRODUCTION
I.Introduction
1.
Dfi nitions
a.
Linformation
Linformation est le support formel dun lment de connaissance
humaine susceptible dtre reprsente laide de conventions (codages)
afin dtre conserve, traite ou communique.
b.
La donne
Une donne est la reprsentation dune information sous une forme
conventionnelle (code) destine faciliter son traitement.
c.
Traitement de linformation
Le traitement de linformation consiste appliquer un ou plusieurs
oprations sur une information en entre pour gnrer des rsultats en
sortie
Le systme informatique
1/21
TDI
CHAPITRE I Introduction
2/21
TDI
2.
Notion dalgorithme
3.
Organigramme et pseudo-code
TDI
4.
Algorithmique et programmation
laffectation de variables
la lecture / criture
les tests
les boucles
Notion de variable
a.
Les types de donnes
Dans un programme informatique, on va avoir en permanence besoin de
stocker provisoirement des valeurs. Il peut sagir de donnes issues du
disque dur, fournies par lutilisateur (frappes au clavier), ou autres. Il
peut aussi sagir de rsultats obtenus par le programme, intermdiaires ou
dfinitifs. Ces donnes peuvent tre de plusieurs types : elles peuvent tre
des nombres, du texte, etc. On peut dire quun type de donnes est
lensemble de valeurs de mme nature quune variable peut avoir
4/21
TDI
b.
Les variables
Pour employer une image, une variable est une bote, que le programme
(lordinateur) va reprer par une tiquette (Nom de variable). Pour avoir
accs au contenu de la bote, il suffit de la dsigner par son tiquette.
Dans lordinateur, physiquement, il y a un emplacement de mmoire,
repr par une adresse binaire. Si on programmait dans un langage
directement comprhensible par la machine, on devrait dsigner nos
donnes par des chiffres binaires (0 et 1).
Les langages informatiques plus volus (ce sont ceux que presque tout le
monde emploie) se chargent prcisment, entre autres rles, dpargner
au programmeur la gestion fastidieuse des emplacements mmoire et de
leurs adresses. Il est beaucoup plus facile demployer des noms de
variables de son choix, que de devoir manier des adresses binaires.
La premire chose faire avant de pouvoir utiliser une variable est de
crer la bote et de lui coller une tiquette. Ceci se fait tout au dbut de
lalgorithme, avant mme les instructions proprement dites. Cest ce quon
appelle la dclaration des variables Le nom de la variable (ltiquette de la
bote) obit des impratifs changeant selon les langages. Toutefois, une
rgle absolue est quun nom de variable peut comporter des lettres et des
chiffres, mais quil 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.
En pseudo-code algorithmique, on est bien sr libre du nombre de signes
pour un nom de variable.
Lorsquon dclare une variable, il ne suffit pas de crer une bote (rserver
un emplacement mmoire) ; encore doit-on prciser ce que lon voudra
mettre dedans, car de cela dpendent la taille de la bote (de
lemplacement mmoire) et le type de codage utilis.
2.
Expression et oprateur
TDI
* : Multiplication
/ : Division
Mentionnons galement le ^ qui signifie puissance . 45 au carr
scrira donc 45 ^ 2.
Enfin, on a le droit dutiliser les parenthses, avec les mmes rgles quen
mathmatiques. La multiplication et la division ont naturellement
priorit sur laddition et la soustraction. Les parenthses ne sont ainsi
utiles que pour modifier cette priorit naturelle.
Cela signifie quen informatique, 12 * 3 + 5 et (12 * 3) + 5 valent
strictement la mme chose, savoir 41. Pourquoi ds lors se fatiguer
mettre des parenthses inutiles ?
En revanche, 12 * (3 + 5) vaut 12 * 8 soit 96. Rien de difficile l-dedans,
que du normal.
b.
Oprateur alphanumrique : & ou +
Cet oprateur permet de concatner, autrement dit dagglomrer, deux chanes
de caractres. Par exemple :
Variables A, B, C en Caractre
Dbut
A "Salut "
B "tout le monde"
CA&B
Fin
La valeur de C la fin de lalgorithme est "Salut tout le monde"
c.
Oprateurs logiques (ou boolens) :
Il sagit du ET, du OU, du NON et du mystrieux (mais rarissime XOR : le ou
exclusif).
3.
Laff ectation
4.
Lecture et criture
Organigramme
6/21
TDI
Pseudo-code
Organigramme
5.
Le bloc dbut et fi n
6.
Dbut
Fin
Structures alternatives
a.
Linstruction SI
Linstruction si permet de faire un traitement si la condition est vrai un autre
traitement sinon
Pseudo-code
Organigramme
Si condition alors
Bloc dinstructions
Sinon
Bloc dinstructions
Fin si
Exemple : si x>=0 alors
Ecrire (x, est positif )
Sinon
Ecrire(x, est ngatif )
Fin si
Fausse
Traitement si
condition
fausse
Condition
Vrai
Traitement si
condition vrai
b.
Linstruction SELON
Linstruction selon permet dvaluer plusieurs cas pour des valeurs dune
variable de type simple tel que caractre ou entier. Cest une structure
que lon trouve dans tous les langages de programmation et qui permet
dviter des si imbriqus
7/21
TDI
2.
Pseudo-code
Organigramme
Fausse
Condition
Vrai
Traitement de
la boucle
b.
La boucle rpter. jusqu'
La boucle Rpter jusqu permet de rpter un traitement au moins une fois
jusqu' ce que la condition est vrai la condition est vrifie la fin de la boucle
Pseudo-code
Rpter
Bloc dinstructions
Jusqu' condition
Exemple :
X10
Rpter
Xx-1
Jusqu' x=0
Organigramme
Traitement
Vrai
Condition
Fausse
c.
La boucle pour
La boucle pour est une structure qui existe dans la majorit des langages de
programmation et qui permet de rpter un traitement un certain nombre de
fois, le nombre de rptition est connu lavance. La boucle pour utilise une
variable compteur qui sera incrmente ou dcrmente automatiquement selon
la valeur du pas
Pseudo-code
8/21
TDI
Pseudo-code
Rpter
Bloc dinstructions
Tant que condition
Exemple :
X10
Rpter
Xx-1
Tant que x>0
Organigramme
Traitement
Fausse
9/21
Condition
Vrai
TDI
CHAPITRE III
Algorithmique (Les tableaux)
CHAPITRE II
20
13
95
10
T:
10/21
TDI
CHAPITRE III
Algorithmique (Les tableaux)
1. La recherche squentielle :
11/21
TDI
CHAPITRE III
Algorithmique (Les tableaux)
La recherche dichotomique est applique sur les listes tries. Elle consiste
limiter les champs de recherche successivement jusqu retrouver llment
recherch ou avoir un champ de recherche qui ne contient aucun lment. Chaque
fois on dfini un intervalle de recherche par une borne infrieure et suprieure
et on se positionne au milieu pour faire le test. Ce traitement se rpte jusqu'
trouver llment ou arriver un intervalle vide.
Dbut
Lire(x)
M1
Binf1
BsupN
Tant que Binf<=Bsup et x T(m)
ME ((Binf+Bsup)/2)
// E : reprsente la partie entire
Si x>T(m) alors
Binfm+1
Fin si
Si x<T(m) alors
Bsupm-1
Fin si
Fin Tq
Si x=T(m) alors
Ecrire ( Elment trouv )
Sinon
Ecrire ( Elment non trouv )
Fin si
Fin
Remarque : La recherche dun lment dans un tableau de 1000
lments ncessitera pour la recherche squentielle dans le cas le plus
dfavorable la rptition de la recherche pendant 1000 fois pour la
recherche dichotomique le traitement sera rpt dans le cas le plus
dfavorable moins de 10 fais.
12/21
TDI
CHAPITRE III
Algorithmique (Les tableaux)
13/21
TDI
CHAPITRE III
Algorithmique (Les tableaux)
Pour j=i+1 N
Si T(j) <T (min) alors
Minj
Fin si
Fin pour
XT(i)
T(i) T (min)
T (min) x
Fin pour
Fin
b. Tri par insertion
-Mthode :
On considre les lments les uns aprs les autres en insrant chacun sa
place
Parmi les lments dj tris.
2 6 1 3 1 7
0
6 2 1 3 1 7
0
1 6 2 3 1 7
0
1 3 6 2 1 7
0
1 1 3 6 2 7
0
1 1 3 6 7 2
0
Il faut :
1 boucle pour parcourir le tableau et slectionner llment insrer ;
1 boucle pour dcaler les lments plus grands que llment insrer ;
insrer llment.
-Algorithme
Dbut
Pour i=2 N
PT(i)
Ji
Tant que j>1 et T (j-1)>p
T(j) T (j-1)
Jj-1
Fin Tant que
T(j) p
Fin pour
Fin
c. Tri bulle
-Mthode :
En commenant du 1er lment on compare chaque lment son suivant
si cest suprieur on permute et on passe llment suivant aprs avoir
14/21
TDI
CHAPITRE III
Algorithmique (Les tableaux)
15/21
TDI
CHAPITRE IV
Algorithmique (Les procdures et les fonctions)
CHAPITRE III
16/21
TDI
CHAPITRE IV
Algorithmique (Les procdures et les fonctions)
i : entier
Dbut
Pour i = 1 jusqu' 10 Faire
Ecrire ('*')
Fin Pour
Ecrire ('\n') //retour la ligne
FinProc
Cette procdure permet d'afficher une ligne de 10 toiles puis passe la ligne.
APPEL d'une procdure
Pour dclencher l'excution d'une procdure dans un programme, il suffit de
l'appeler, c'est--dire d'indiquer son nom suivi de parenthses.
Programme RectangleEtoile
Var
nlignes: entier
cpt : entier
Dbut
Ecrire ("Ce programme dessine un rectangle d'toiles. Combien voulez-vous de
lignes ?")
Lire (nlignes)
Pour cpt=1 jusqu' nlignes Faire
ligneEtoile ( )
Appel de la procdure
ligneEtoile
FinPour
Fin
Lorsque le processeur rencontre l'appel d'une procdure, il arrte
momentanment l'excution du programme appelant pour aller excuter
les instructions de la procdure. Quand il a termin l'excution de la
procdure, le processeur reprend l'excution du programme appelant l o
il s'tait arrt.
Une procdure peut tre appele soit par un programme, soit par un autre
sous-programme (qui lui mme a t appel). Les appels de sousprogrammes peuvent s'imbriquer autant qu'on le dsire.
TDI
CHAPITRE IV
Algorithmique (Les procdures et les fonctions)
i : entier
Dbut
Pour i=1 jusqu' 10 Faire
Ecrire ('*')
FinPour
Ecrire ('\n')
FinProc
Dans notre exemple, on ne pourrait pas saisir ou afficher la variable i dans
le programme principal, car i est une variable de la procdure, utilisable
seulement dans celle -ci. Le programme principal n'a pas le droit de
l'utiliser.
Une question qui se pose alors est de savoir comment procdures et
programmes vont pouvoir communiquer des donnes. Par exemple, on
pourrait vouloir que le programme principal communique la procdure
combien d'toiles afficher par ligne. Cela est possible grce aux
paramtres.
Un paramtre est une variable particulire qui sert la
communication entre programme appelant et sous -programme.
Exemple :
Dans notre exemple, nous allons mettre le nombre d'toiles par lignes en
paramtre.
Pour cela, nous indiquons entre parenthses la dclaration du paramtre
(qui est une variable de la rocdure !). La valeur de ce paramtre est
communique l'appel, par le programme appelant.
Procdure ligneEtoile(nombre : entier ) //sous-programme
Var
Paramtre formel
cpt : entier
Dbut
Pour cpt=1 jusqu' nombre Faire
Ecrire ('*')
FinPour
Ecrire ('\n')
FinProc
TDI
CHAPITRE IV
Algorithmique (Les procdures et les fonctions)
Lire (netoiles)
Ecrire ("Combien voulez-vous de lignes ?")
Lire (nlignes)
Pour i=1 jusqu' nlignes Faire
ligneEtoile (netoiles)
FinPour
Paramtre effectif
Fin
19/21
TDI
CHAPITRE IV
Algorithmique (Les procdures et les fonctions)
Exemple :
Dclaration du
paramtre formel
Type de la valeur
retourne
20/21
TDI
CHAPITRE IV
Algorithmique (Les procdures et les fonctions)
21/21