Professional Documents
Culture Documents
Sommaire
Chapitre 1
Systme de numration
I.
II.
Introduction -------------------------------------------------------------------------- 2
a. Codage binaire --------------------------------------------------------- 2
b. Reprsentation des informations ------------------------------------ 4
1. Instructions ------------------------------------------------------ 4
2. Les donnes ----------------------------------------------------- 4
3. Donnes numriques ------------------------------------------- 5
c. Problme de logique -------------------------------------------------- 5
Algbre de Boole --------------------------------------------------------------------- 6
a. Variables et fonctions boolennes ---------------------------------- 6
b. Tableau de vrit ------------------------------------------------------ 7
c. Oprateurs logiques --------------------------------------------------- 7
d. Thorie de Morgan ---------------------------------------------------- 8
e. Simplification d'une fonction logique ------------------------------ 9
Chapitre2
Algorithme
I.
II.
III.
IV.
V.
VI.
Dfinition ----------------------------------------------------------------------------- 10
a. Squences d'instructions ----------------------------------------------- 10
b. L'affectation ------------------------------------------------------------- 10
c. Les oprations ----------------------------------------------------------- 10
d. Dialogue avec l'utilisateur --------------------------------------------- 11
Les structures alternatives -------------------------------------------------------- 12
Les structures rptitives --------------------------------------------------------- 13
i. Le tant que --------------------------------------------------------------- 13
ii. Faire jusqu' ------------------------------------------------------------- 14
iii. Pour ----------------------------------------------------------------------- 14
Les tris -------------------------------------------------------------------------------- 15
a.
Tri par slection ------------------------------------------- 15
b.
Tri par boule ----------------------------------------------- 15
c.
Tri par permutation --------------------------------------- 16
d.
Recherche dichotomique--------------------------------- 16
Dclarations des variables -------------------------------------------------------- 16
a.
Les types --------------------------------------------------- 16
b.
Les tableaux ----------------------------------------------- 17
c.
Procdure et fonction ------------------------------------- 18
d.
Rgles d'critures ----------------------------------------- 19
Exercice ------------------------------------------------------------------------------ 20
2004/2005
Chapitre1
SYSTEME DE NUMERATION
I.
Introduction:
Quelque soit les informations manipules par lordinateur, celles-ci sont cods en binaire ..d
base de 0 ou 1. Un chiffre de 0 ou 1 est appel bit (binary digit)
Les informations, manipules par lordinateur, sont traduites en une partie de bit et dit
quelles sont codes en binaire.
1.
Codage en binaire :
La base 2 :
Pour coder un nombre en base 2 il faut le dcomposer en une suite de multiple de 2 ..d que
lon va lcrire sous la forme :
X = an * 2n + a(n-1) * 2(n-1) + + a1 * 21 + a0 * 20
=(an a(n-1) a1 a0)
Exemple :
13 = (1101) = 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 = 8 + 4 + 0 + 1
57 = (111001)
109 = (1101101)
Bit de poids faible
Bit de poids fort
La base octale:
Loctal est le codage en base 8. Suivant le mme principe en va coder les nombres en une
base compose des chiffres allant de 0 7.
X = X = an * 8n + a(n-1) * 8(n-1) + + a1 * 81 + a0 * 80
Exemple :
(13)10 = (15)8 = 1 * 81 + 5 * 80 = 8 + 5
(57)10 = (71)8 = 7 * 81 + 1 * 80 = 56 + 1
La base hexadcimale :
Lhexadcimal est le codage en base 16 on utilise cette fois-ci les chiffres entre 0 et 9 puis les
lettres entre A et F, avec : A(10), B(11), C(12), D(13), E(14), F(15).
X = an * 16n + a(n-1) * 16(n-1) + + a1 * 161 + a0 * 160
Exemple :
(57)10 = (39)16
(125)10 = (7D)16
Raliser par: Mohammed Harrar
2004/2005
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
B3
B2
B1
B0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Addition
Rgle:
0+0=0
0+1=1
1+0=1
1+1=0
report de 1
Exemple :
010
+ 110
1000
1011011
110011
10001110
2004/2005
Soustraction
Rgle:
00=0
10=1
11=0
01=1
retenue de 1
Exemple :
101
11
010
1010011
111101
0010110
2.
1.
instructions:
Les instructions excutables par la machine sont celles contenues dans le jeu dinstructions du
processeur.
Chacune des ces instructions possde un code opration qui permet de lidentifier, pour
chaque instruction on indique galement les oprandes.
Code opration
Oprande
4 bits
Numrique
Rang du caractre dans le type
2004/2005
Donnes numriques :
Pour coder les informations numriques, il existe diffrent systme de codage, suivant la
nature des donnes, lutilisation que lon veut faire et la prcision souhaite.
Entier positif ou nuls :
Pour coder un entier positif ou nuls on utilise le codage binaire pure. La donne est stocke
dans un mot mmoire. Suivant la machine un mot mmoire une taille variable de
gnralement 16 bits mais a meut tre aussi sur certains machines de 8 bits, 32 bits (Pentium)
soit 64 bits (machine scientifique)
Entier ngatif
Pour coder un entier ngatif (sign), on procde de la mme faon sauf que lon nutilise pas
le premier bit de mot, celui est rserv pour le codage du signe.
1
Ngatif
0
Positifs
Exemple :
+2
-2
(00000010)2
(10000010)2
3. Problme de logique:
Problme1 :
Condition datterrissage dun avion :
Le train datterrissage est sortie (A) et le terrain est dur (B) ou le terrain a mouill et il ne
pleut pas.
Et lavion moindre de 50 places (D) ou lavion plus de 50 places et sa vitesse est infrieur de
150(E).
Et sa vitesse infrieure 150 (E).
Et peut tre remplacer par * (produit logique)
Ou peut tre remplacer par + (somme logique)
Problme2 :
Une compagne dassurance dsire proposer certains de ces clients une proposition quelle
juge plus avantageuse. Mais pour recevoir la proposition et pour souscrire il faut remplir lune
des 6 conditions suivantes :
Premier condition : avoir souscrire la police vie (cond V)
tre de sexe masculin (M)
Etre mari (E) (pouse ou poux)
Etre g de 25 ans au moins (non-j)
Deuxime condition : ne pas avoir la police vie
Etre de sexe fminin et tre mari
Troisime condition : tre clibataire, tre de sexe masculin et tre ge de 25 ou moins
2004/2005
II.
ALGEBRE DE BOOLE
a.
b.
Tableau de vrit :
On appelle table de vrit la table qui permet de prsenter la valeur dune fonction logique en
fonction des valeurs des variables logiques.
Exemple:
A
0
0
1
1
B
0
1
0
1
c.
F(A,B)
0
0
0
1
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F(A,B,C)
0
0
0
0
0
0
0
1
Oprateurs logiques :
Compliment:
A
F (A)
0
1
1
0
F(A) = A
2004/2005
B
0
0
1
1
F(A,B) = A et B = A * B = AB
F(A,B)
1
1
1
0
F(A,B) = A ou B = A + B
Non (ou) :
A
0
1
0
1
B
0
0
1
1
F(A,B)
1
0
0
0
F(A,B) = Non (A ou B) = A + B
Ou exclusif :
A
0
1
0
1
B
0
0
1
1
F (A, B)
0
1
1
0
F (A, B) = A +
Proprits :
A*B=B*A
A*0=0
A*1=A
A*A=A
A*A=0
A + B = A +B
A+0=A
A+1=1
A+ A=A
A+A=1
A (B + C) = AB + AC
A + AB = A * 1 + AB
= A (1 + B)
=A
A =A
A + AB = A + A + AB = A + B (A + A) = A + B * 1 = A + B
2004/2005
Thorme de Morgan :
A*B=A+B
A+B=A*B
B
0
0
1
1
F (A, B)
0
1
1
0
A
0
0
1
1
B
0
1
0
1
AB
0
1
0
0
AB
0
0
1
0
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F(A,B,C)
1
0
1
0
1
0
1
1
F (A, B) = A + B = A * B + A * B
= AB + AB
AB + AB
0
1
1
0
F (A,B,C) = A B C + A B C + AB C + A B C + A B C
e.
2004/2005
2004/2005
Chapitre2
ALGORITHME
I.
Dfinition :
Un algorithme est une suite daction que devra effectuer un automate pour arriver, en un
temps fini, un rsultat dterminer et partir dune situation donne. Cette suite dinstruction
(action) sera compose dactions lmentaires nous allons utiliser un pseudo langage
comportant toute les structures de base dun langage de programmation.
Un programme est une suite dinstruction excuter par la machine, ces instructions peuvent
senchaner les unes aprs les autres. On peut parler alors dune structure alternative, ou se
rpte plusieurs fois et on parle dune structure rptitive.
a.
Squences dinstructions :
Une instruction est une action que lordinateur est capable dexcuter. Chaque langage de
programmation fourni une liste dinstructions, quon peut utiliser sans les rcrire dans notre
pseudo langage. Nous navons que la liste minimum dinstructions ncessaires et suffisantes
pour les programmes crire.
b.
Laffectation :
Syntaxe :
Variable
Valeur
Ce qui se lie variable reoit valeur et qui signifier que lon mmorise la valeur un endroit
nomm variable.
Exemple :
I
B/A
test
c.
" toto"
vrai
Les oprations:
Variable
Variable
Variable
Variable
Valeur 1 + Valeur 2
Valeur 1 * Valeur 2
Valeur 1 - Valeur 2
Valeur 1 * Valeur 2
Remarque :
On doit toujours affecter le rsultat d'une opration dans une variable.
10
2004/2005
d.
Pour permettre ou programme de dialoguer avec l'utilisateur, afficher un rsultat et lire une
entre au clavier, il faut au moins deux instructions, une pour lire et l'autres pour afficher,
dans le pseudo langage. S'crit ainsi:
Lire Variable
Affiche texte Variable
La premire lie tous les caractres qui sont saisie au clavier, jusqu' ce que l'utilisateur appui
sur la touche entre, et stock le rsultat dans une variable. La seconde affiche sur l'cran le ou
les textes et la valeur des variables.
Exemple:
Dbut
Dbut
Variable A, B, X.
Afficher " donner la valeur de A"
Lire A
Afficher " donner la valeur de B"
Lire B
X
- B/A
Afficher " X = ", X
Fin
Exercice:
Ecrire un algorithme qui lie deux rels a et b, diffrents de zro, et affiche leur somme, leur
produit, leur soustraction et leur division.
Dbut
Variable A, B, Som, Prod, Div, Sous.
Raliser par: Mohammed Harrar
11
2004/2005
La structure alternative:
Si condition alors
Actions
[Sinon Actions]
Fin si
Commentaire:
L'accroch signifie que Sinon Actions est facultative.
Pour exprimer des conditions, on utilise les oprateurs conditionnels suivants: =, <>,
<, >, >=, <= et <>.
On peut combiner les conditions l'aide des oprateurs logique: et, ou, non et ou
exclusif. Exemple: A<2 et ((B = 0) ou (C <> A))
Lorsqu'on crit un tel condition, il command de mettre les parenthses afin d'viter
les erreurs.
Les actions, qui suivent le sinon ou le alors, peuvent tre une simple instruction, une
suite d'instructions, une structure alternative ou rptitive.
Exemple:
Dbut
Variable A, Abs.
12
2004/2005
III.
Structure rptitive:
1.
Le tant que:
Syntaxe:
Dbut
Variable Compteur, Somme.
Compteur
1
13
2004/2005
Somme
0
Tant que compteur <= 10 faire
Compteur
Compteur + 1
Somme
Somme + Compteur
Compteur
Fin tant que
Afficher " la somme est:", Somme
Fin
Remarque:
On peut regrouper plusieurs variables sous un mme nom, chacune tant alors reprer par
un numro (indice), si ce qu'on appelle un tableau. On peut faire un tableau avec n'importe
qu'il type de variable. Dans tous les cas le ime lment d'un tableau T sera adress par T[i].
Exercice:
Ecrire un algorithme qui affiche la somme et la moyenne des 10 entiers.
Rponse:
Dbut
Variable Somme, i, T[i], moyenne.
Somme
0
Somme
i
1
Tant que
que i <= 10 faire
Afficher " donner T[i]"
Lire T[i]
i
i+1
Fin tant que
Tant que i <= 10 faire
Somme
Somme + T[i]
i
i+1
Fin tant que
14
2004/2005
moyenne
Somm
Somme / i
Afficher " Somme est:", somme; "moyenne est:", moyenne
Fin tant que
2.
Le faire jusqu':
Syntaxe:
Faire
Actions
Jusqu' conditions.
Se qui signifier que les actions sont excutes jusqu' ce que la condition soit remplie (vraie).
Exemple:
i
1
Faire
Lire T[i]
i+1
i
Jusqu' i> 10
3.
le pour:
Trs souvent on utilise une structure rptitive, avec un compteur, et on s'arrte lorsque le
compteur atteint sa valeur finale. C'est pourquoi la plus part des langage de
programmation offre une structure permettent de dcrire cette rptitive plus simplement.
La syntaxe:
Pour variable allant de valeur initiale to valeur finale [Pas valeur de pas]
Actions
Fin pour
Exemple:
Pour i allant de 1 10
15
2004/2005
Lire T[i]
Fin pour
IV.
Les tris:
Dans les exemples qui suivent on tudie diffrent algorithme permettant de trier un tableau de
10 entiers. On prendra comme exemple le tableau suivant:
T:
52
4
31
1
88
45
11
48
0
25
a.
Principe:
Le premier algorithme auquel on pense pour effectuer ce tri est celui-ci:
On cherche le plus petit lment du tableau, et on le place en premier, puis on cherche le plus
petit lment de ce qui reste et le met en second, et continue jusqu' ce que le tableau soit trie.
Travail faire:
Ecrire un algorithme qui permet de raliser ce tri.
b.
Principe:
Faire remonter petit petit un lment trop grand vers le haut de tableau, on comparant les
lment 2 2, si l'lment de gauche est suprieur son voisin de droite on les inverses et
continue avec le suivant.
Lorsqu'on est haut du tableau on repart au dbut et on s'arrte lorsque tous les lments sont
bien placs.
Travail faire:
Ecrire un algorithme qui permet de raliser ce tri.
c.
Principe:
Le tri par permutation est le tri de jeu de carte. On parcours le tableau jusqu' ce que l'on
trouve un lment plus petit que le prcdant, donc mal plac, on prend cette lment et le
ronge sa place dans le tableau, puis on continue la lecture. Et on s'arrte la fin de tableau.
Travail faire:
16
2004/2005
d.
La recherche Dichotomique:
Principe:
Cet algorithme permet de ranger un lment sa place, dans un tableau, ou de le trouver dans
celui-ci de manire trs rapide.
On considre une liste de 10 entiers. On cherche, dans cette liste, la place d'un nombre x
comme suivant:
On compare x l'lment du milieu de tableau, s'il est infrieur celui on rduit le tableau
sa patrie gauche, sinon on le rduit sa partie droite. On rpte l'opration jusqu' ce que le
tableau et moins de deux lments.
Travail faire:
Ecrire un algorithme qui permet de raliser ce tri.
V.
a.
Les types:
Les variables, que l'on utilise dans le programme, ne sont pas tous de mme nature. Il est
ncessaire de donner un type aux variables, car cela permet, permet d'une part de contrler
leur utilisations (exemple on ne peut pas deviser un caractre par un entier), d'autre part il
faut indiquer quelle place a rserv la variable.
Entiers:
Il s'agit des variables destines contenir un nombre entier positif ou ngatif, dans notre
pseudo langage on crira la dclaration des variables de type entiers :
Rel:
17
2004/2005
Rel variable1,
variable1, variable2,. . .
Les caractres:
Les variables de type caractres contiennent des caractres alphanumriques (alphabtiques
ou numriques). On ne peut pas faire des oprations au dessus:
Les tableaux:
On peut regrouper plusieurs variables sous un mme nom, chacune tant repre par un
numro (indice), c'est ce qu'on appelle un tableau. On peut faire un tableau avec des variables
de n'importe qu'il type, dans tous les cas le ime lment d'un tableau appel Tab, et sera
adress par
Tab[i].
ligne et le jme
c.
Procdure et Fonction:
Procdure:
Une procdure est une suite d'instructions servant raliser une tche prcise en fonction d'un
certains nombres de paramtres. Les paramtres sont de deux types, il y a des paramtres de
18
2004/2005
Procdure nom_de_la_procdure
nom_de_la_procdure (val type nom, type nom, var type nom, type nom,.
. .)
Dclarations des variables locales
Dbut
Instructions ou actions
Fin
Les variables que l'on dclare localement la procdure ne sont pas connues que dans cette
procdure.
L'utilisation de la procdure dans le programme se fait simplement par l'appelle de celle-ci on
utilisant la syntaxe suivante:
Nom_de_la_
Nom_de_la_procdure
_de_la_procdure (valeur1, valeur2,. . .)
Fonction:
Une fonction est une procdure dont le but est de dterminer une valeur, et de la retourner
dans au programme appellent. Dans notre pseudo langage, elle se dclare de la manire
suivante:
Fonction nom_de_la_fonction (val type nom, type nom, var type nom, type nom,.
nom,. . .)
Dclarations des variables locales
Dbut
Instructions ou actions
Retourne valeur
Fin
Il faut noter que la fonction retourne une valeur, et que donc, la dclaration, on doit indiquer
son type (c'est--dire le type de cette valeur).
L'appelle d'une fonction s'crit:
Variable
d.
nom_de_la_fonction(valeur1, valeur2,. . .)
rgle d'criture:
19
2004/2005
Si condition alors
Actions
Fin si
Il est de mme en structure rptitive.
A chaque imbrication d'une structure de contrle on dcale d'une tabulation:
Si condition alors
Actions
Sinon
Si condition alors
Actions
Sinon
Actions
Fin si
Fin si
En ce qui concerne les fonctions et les procdures, il y a aussi des rgles respecter,
on donnant des noms significatifs celles-ci.
Le nombre de paramtres ne doit pas tre trop grand (en gnrale infrieure
5).
Une fonction ou une procdure doit tre la plus gnrale possible de manire
pouvoir la rutiliser dans d'autres circonstances.
Si le but d'une procdure est de calculer une valeur simple, il est prfrable d'en
faire une fonction.
20
2004/2005
21
2004/2005
Exercice divers
Exercice 1
Ecrire un algorithme qui permet de lire une chane de caractres et afficher le nombre de :
De caractres en majuscules de la chane
De caractres minuscules de la chane
Le nombre de chiffres de la chane
Le nombre des autres caractres de la chane
On dispose de deux fonctions suivantes :
1. Longueur (S)
: donne la longueur de la chane c'est--dire nombre de
caractres.
2. Partie (S, Pos, Long)
: donne une partie de la chane S dont la longueur est
Long et qui commence de la position numro Pos.
Exercice 2
Ecrire un algorithme qui permet de lire une chane de caractres et afficher un message
indiquant si la chane lue est un entier ou non.
Exercice 3
Ecrire un algorithme qui permet de lire une chane de caractres et dafficher un message
indiquant que si la chane lue est un rel ou non.
22
2004/2005
23
2004/2005