Vous êtes sur la page 1sur 23

Systme de numration & Algorithme avec exercices dapplication

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

Raliser par: Mohammed Harrar

2004/2005

Systme de numration & Algorithme avec exercices dapplication

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

Systme de numration & Algorithme avec exercices dapplication


(167)10 = (A7)8 = 10 * 161 + 7 * 160
Rgle de passage de la base 2 ou base 16:

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

(0001010111011011)2 = (15DB)16 c.a.d on convertit la srie binaire on commenant par le bit


de poids le plus faible :
1000 = B, 1101 = D, 0101 = 5, 0001 = 1
Opration en binaire :

Addition

Rgle:
0+0=0
0+1=1
1+0=1
1+1=0

report de 1

Exemple :
010
+ 110

1000

Raliser par: Mohammed Harrar

1011011
110011
10001110

2004/2005

Systme de numration & Algorithme avec exercices dapplication

Soustraction

Rgle:
00=0
10=1
11=0
01=1

retenue de 1

Exemple :

101
11

010

1010011
111101
0010110

2.

Reprsentation des informations

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

Lensemble est cod sur un nombre de 16 ou 32 bits suivant la machine.


2. Les donnes:
Les donnes non numriques correspond aux caractres alphanumriques (A.a et 19)
et aux caractres spcieux (ponctuation et autres)
Le codage est utilis on utilisant une table de conversion :
Code ASCII ( American Standard Code for information Interchange)
Le code ASCII est celui le plus utilis dans les ordinateurs daujourdhui tout caractre est
cod sur un octet (8 bit).
Code EBCDIC (Extended Binary Coded Decimal Interchange Code)
Ce code est essentiellement utilis par IBM et galement un code reprsentant les caractres
sur un octet, celui est divis en deux demi octet de signification diffrente.
4 bits
Zone
Type de caractres

4 bits
Numrique
Rang du caractre dans le type

Raliser par: Mohammed Harrar

2004/2005

Systme de numration & Algorithme avec exercices dapplication


3.

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

Raliser par: Mohammed Harrar

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Quatrime condition : tre mari et avoir souscrire la police vie
Cinquime condition : ne peut avoir souscrire la police vie, tre mari et tre ge de 25 ans
ou moins
Sixime condition : tre mari et avoir moins de 25 ans
Reformuler les conditions de la proposition.
Problme 3 :
Une erreur disque est un problme d une erreur de disque
Un problme matriel est toujours signal au revendeur
Un problme mmoire nest jamais d une erreur disque
Un problme mmoire peut tre un problme matriel
Le micro un problme mmoire.
Rpondre par oui, non ou on ne sait pas
Le micro une erreur de disque
Le problme nest pas d une erreur de disque
Le revendeur a t prvenu
On ne sait rien sur ce que cest pass

II.

ALGEBRE DE BOOLE

a.

Variables et fonctions boolennes.

On appelle variables boolennes toute quantit capable de prendre deux valeurs 0 et 1.


Une fonction boolenne (logique) est une fonction qui dpend de variable logique et qui aussi
ne peut avoir que deux valeurs 0 et 1.

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

Raliser par: Mohammed Harrar

F(A) = A

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Et logique (produit logique):
A
B
F(A,B)
0
0
0
1
0
0
0
1
0
1
1
1
Non (et) :
A
0
1
0
1

B
0
0
1
1

F(A,B) = A et B = A * B = AB

F(A,B)
1
1
1
0

Ou logique (somme logique) :


A
B
F(A,B)
0
0
0
0
1
1
1
0
1
1
1
1

F(A,B) = Non (AB) = AB

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

Raliser par: Mohammed Harrar

2004/2005

Systme de numration & Algorithme avec exercices dapplication


d.

Thorme de Morgan :

A*B=A+B

A+B=A*B

Forme canonique dune fonction logique : (somme et produit)


Example:
A
0
1
0
1

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.

Simplification dune fonction :

Il sagit de trouver lexpression la plus simple dune fonction on faisant apparatre le


minimum de variables logiques et doprateurs.
Exemple:
F (A, B, C) = C (A B + A B + A B + A B ) + A B C
=C(A(B+B)+(A(B+B)+ABC
=C+ABC
=C+ABC+ ABC
= C+AB

Raliser par: Mohammed Harrar

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Exercice :
Dresser la table de vrit dune fonction logique, comportant les variables A, B et C, dont la
valeur nest que sil y a un nombre impair de variable gale 1.
Indiqu sa forme canonique et son expression on utilisant loprateur logique ou exclusif
seulement

Raliser par: Mohammed Harrar

2004/2005

Systme de numration & Algorithme avec exercices dapplication

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.

Raliser par: Mohammed Harrar

10

2004/2005

Systme de numration & Algorithme avec exercices dapplication

d.

Dialogue avec l'utilisateur:

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:

Afficher " qu'il est ton nom"


Lire nom_utilisateur
Afficher "ton nom est:" nom_utlisateur
Exercice:
Ecrire un algorithme qui permet de rsoudre l'quation de premier degr: A * x + B = 0
Rponse:

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

Systme de numration & Algorithme avec exercices dapplication

Afficher " donner un nombre A"


Lire A
Afficher " donner un nombre B"
Lire B
Som
A+B
Prod
A*B
Div
A/B
Sous
A-B
Afficher " somme de A et B", Som
Afficher " produit de A et B", Prod
Afficher " division de A et B", Div
Afficher " soustraction de A et B", Sous
Fin
II.

La structure alternative:

Il souvent ncessaire, lorsqu'on crit un programme, de distinguer plusieurs cas conditionnant


l'excution de tel ou tel instructions. Pour cela on utilise une structure alternative: si on est
dans tel cas alors on fait cela sinon on fait ceci.
Syntaxe:

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.

Raliser par: Mohammed Harrar

12

2004/2005

Systme de numration & Algorithme avec exercices dapplication

Afficher " donner un nombre A"


Lire A
Si A < 0 alors
Abs
(-1) * A
Sinon
Abs
A
Fin si
Fin.

III.

Structure rptitive:

Un programme presque toujours un rle de rpter la mme action, un certain nombre de


fois, pour ce faire on utilise une structure permettant de dire: excuter tel action jusqu' tel
conditions soit remplis.
Bien qu'une seule soit ncessaire la plus part des langages de programmation propose trois
types de structure rptitive.

1.

Le tant que:

Syntaxe:

Tant que conditions


conditions faire
Instructions
Fin tant que
Exercice:
Ecrire l'algorithme qui affiche la somme des 10 entiers.
Rponse:

Dbut
Variable Compteur, Somme.
Compteur
1

Raliser par: Mohammed Harrar

13

2004/2005

Systme de numration & Algorithme avec exercices dapplication

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

Raliser par: Mohammed Harrar

14

2004/2005

Systme de numration & Algorithme avec exercices dapplication

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

Raliser par: Mohammed Harrar

15

2004/2005

Systme de numration & Algorithme avec exercices dapplication

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.

Le tri par slection:

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.

Le tri par boule:

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.

Le tri par permutation:

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:

Raliser par: Mohammed Harrar

16

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Ecrire un algorithme qui permet de raliser ce tri.

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.

Dclaration des variables:

Un programme excutable est compos de deux parties donnes et instruction. La partie


instruction contient les instructions a excut, la partie donnes contient toutes les variables
utiliser par le programme. Un programme excutable est charg dans la mmoire centrale de
l'ordinateur. Les valeurs, qu'on affecte aux variables, doivent tre conserv tout le temps de
droulement du programme. Il faut que le programme soit capable de rserver la place
ncessaire aux variables, pour ce faire les variables doivent tre dclar, afin que le langage
sache quelles places elles vont occupes.

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 :

Entier variable1, variable2,. . .


Remarque:
Gnralement un entier occupe deux octets.
Certains langages distinguent les entiers courts (un octet), les entiers longs (4 octets) et les
entiers simples (2 octets).

Rel:

Raliser par: Mohammed Harrar

17

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Il s'agit des variables numriques qui ne sont pas des entiers longs (qui comportent des
dcimales).

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:

Car variable1, variable2,. . .


Les boolen:
Il souvent ncessaire lorsqu'on crit un programme d'introduire les variables, qui prennent les
valeurs vrai ou faux. On crira:

Boolien variable1, variable2,. . .


b.

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].

Gnralement on fait des tableaux une dimension, mais il existe des

tableaux deux dimensions dans ce cas on crit:


colonne.

Tab[i,j] reprsente le ime

ligne et le jme

Tableau type variable [longueur]


Exemple:
Tableau Car mot [10]
Tableau Entier liste [25]
Tableau Car mots [10][15]

c.

Procdure et Fonction:

Lorsque l'algorithme devient trop compliqu, on aura envie de le dcomposer de manire


ce que chaque partie soit plus simple et visible, de mme lorsqu'une partie de code doit
tre excuter plusieurs fois des endroits diffrents ou rutiliser ultrieurement. On pourra
l'crire et lui donner un nom on faisant une fonction ou une procdure.

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

Raliser par: Mohammed Harrar

18

2004/2005

Systme de numration & Algorithme avec exercices dapplication


type Val (contient une valeur qui sera utilis dans la procdure) et les paramtres de types Var
(qui reprsente une variable de programme et qui pourra tre lue et modifi s'il est ncessaire).
Dans notre pseudo langage une procdure se dclare de la manire suivante:

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:

Raliser par: Mohammed Harrar

19

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Un programme doit tre le plus visible possible, de manire ce que n'importe qui d'autre,
que l'auteur, soit capable de comprendre facilement de quoi il s'agit. Il faut suivre quelques
rgles suivantes:
le nom des variable doit tre significatif (c'est--dire clairement quoi il sert).
Un algorithme ne doit pas tre long, s'il est long il faut le dcouper en
fonctions et procdures.
Les structures de contrles doivent tre claire. Par exemple les instructions, qui
suivrent le alors, doivent tre toutes alignes et dcaler d'une tabulation par
rapport au si :

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.

Algorithme : partie application


Structure alternative
Exercice 1
Ecrire un algorithme qui permet de rsoudre lquation du premier degr
a* x + b = 0
Exercice 2
Ecrire un algorithme qui permet de calculer le salaire net dun employ sachant que

Raliser par: Mohammed Harrar

20

2004/2005

Systme de numration & Algorithme avec exercices dapplication


SB = salaire brut, SN = salaire net, CH = charge, TH = taux horaire, NBF= nombre denfants,
PR = prime, TIGR = taux IGR et NBH = nombre dheures.
SN = SB CH
SB = NBH * TH + PR
PR = 150 * NBF, si le nombre denfants est infrieur ou gal 5, sinon 800DH
CH = SB * TIGR
TIGR =
17% si SB < 1600 DH
24% si 1600 DH <= SB < 3000 DH
30% si 3000 DH <= SB < 5000 DH
48% si 5000DH <= SB
Exercice 3
Ecrire un algorithme qui permet de rsoudre lquation de deuxime degr
A * x2 + B * x + c = 0
Exercice 4
Ecrire un algorithme qui permet de lire trois rels et affiche leur maximum, leur minimum et
leur moyenne.
Exercice 5
Un patron dcide de calculer le montant de participation au prix du repas de ses employs de
la faon suivante :
Sil est clibataire
participation 20%
Sest marie
participation 25%
Sil a des enfants
participation de 10% supplmentaire par enfants
La participation est plafonne 50%
Ecrire lalgorithme qui permet de lire les donnes au clavier et affiche pour un salari, l
participation laquelle il a le droit.

Structure rptitive et tableaux


Exercice 1
Ecrire un algorithme qui permet de lire 10 rels et affiche leurs :
Somme
Moyenne
Maximum
Minimum
Exercice 2
Ecrire un algorithme qui permet de lire un entier N et affiche son factoriel
Rappel
Pour calculer le factoriel de N, on admet la formule suivante :
0!=1
N ! = N * ( N 1) * ( N 2 )* * 2 * 1

Raliser par: Mohammed Harrar

21

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Exercice 3
Ecrire un algorithme qui permet de :
Lire un entier N la taille dun tableau
Charge les N rels dans le tableau
Calcule et affiche le maximum, le minimum, et la moyenne des N rels du tableau
Exercice 3
Ecrire un algorithme qui permet de :
1. Lire un entier N (taille du tableau) et charge les N rels dans le tableau
2. Lire un entier X
3. Rechercher X dune faon squentielle dans le tableau, affiche son indice dans celui sil
existe et affiche 0 sinon.
Exercice 5
Refaite lexercice 4 en utilisant la recherche dichotomique
Rgle : il sagit de comparer le nombre X celui du milieu de tableau, sil est infrieur celui
on rduit le tableau sa moiti premire, sinon on prend lautre moiti et en continue la
recherche.
Exercice 6
Ecrire un algorithme qui permet de lire un entier positif et le convertir en binaire (la
reprsentation doit tre charg dans un tableau dans le bon ordre )
Exercice 7
Ecrire un algorithme qui permet de convertir une reprsentation en binaire (charger dans un
tableau) en un nombre entier.

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.

Raliser par: Mohammed Harrar

22

2004/2005

Systme de numration & Algorithme avec exercices dapplication


Exercice 4
Ecrire un algorithme qui permet de lire deux entiers positifs et affiche leur PGDC (le Plus
Grand Commun de Division)
Exercice 5
Ecrire un algorithme qui lit deux matrices et affiche :
Leur somme
La somme des lments diagonaux
Leur produit
Exercice 6 : Crible dERATOSTENE
Ecrire un programme qui lit un entier positif N et affiche tous les nombres premiers infrieurs
N.
Exercice 7 : jeu du pendu
Un joueur choisit un mot de moins de 10 caractres. Lalgorithme affiche ------ avec par
lettre
Le deuxime joueur propose des lettres jusqu ce quil ait trouv le mot o quil soit pendu
(11 erreurs commises)
A chaque proposition, lalgorithme raffirme le mot avec les lettres dcouvertes, les lettres
dj annonces et le nombre derreurs.

Raliser par: Mohammed Harrar

23

2004/2005