Vous êtes sur la page 1sur 9

Dmarche de rsolution

Il existe plusieurs approches pour analyser un problme. Pour nous, ont va suivre
lapproche dite descendante . Cette mthode se traduit par les trois actions:
rsultat, traitement et donnes. Dans cette tape, nous avons faire:
- Reposer le problme en dtail,
- Dgager les rsultats atteindre,
- Dfinir les mthodes de rsolution,
- Dfinir les structures de donnes ncessaires.

Laffectation
On appelle AFFECTATION la mise d'une valeur dans une variable. Celle-ci peut
tre sous forme directe ou sous forme d'un calcul.
Au niveau Algorithme
Variable  valeur
X 21
C  A
Z 22*5
Au niveau Pascal
Variable := valeur
Y :=2.365 ;
S :=chaine ;
X := y+30
Remarque :
Une affectation ne peut se faire qu'entre une variable et une expression de
mme type. La seule exception est de mettre un entier dans un rel
Lopration dentre
Cette structure permettre lutilisateur d'introduire des valeurs au clavier pour
quelles soient utilises par le programme, on appelle cette opration la
lecture.
Au niveau Analyse
Variable = Donne (Message)
Moy=Donne (Entrer la moyenne)
Au niveau Algorithme
Lire(Variable)
Lire(a)
Au niveau Pascal
Readln(variable)
Readln(a)
Lopration de sortie
Cest la structure qui permet au programme de communiquer des valeurs
lutilisateur en les affichant lcran. Cette opration sappelle criture.
Write : Affiche un contenu et reste sur la mme ligne
Writeln : Affiche un contenu et passe la ligne suivante
Au niveau Analyse et Algorithme
Affichage dun message :
1|P age

Au niveau Pascal

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

Les Actions lmentaires simples

LPS

Ecrire (Algorithmique)
Write (algorithmique) ;
Affichage du contenu dun variable :
A := 55 ;
A 55
Ecrire (A)
Write (A) ;
Remarque : Ecrire (A) affiche le
caractre A pas le contenu de la
variable A.
Affichage Mixte :
 Utiliser une virgule pour la
sparation
Write (La variable A= ,A) ;
Ecrire (La variable A= ,A)
Remarques:
1. Writeln; provoque un retour la ligne aprs l'opration d'criture.
2. Un mot avec apostrophe sera affich au niveau de pascal avec deux
apostrophes, comme par exemple cette criture:
WriteLn('L'informatique');  C'est faux.
WriteLn('L''informatique');  C'est Vrai.

Les structures de donnes


Dfinition : On appelle constante un objet ayant une valeur inchange tout le long
dun algorithme.
Une constante est caractris par : Son nom (un identificateur unique), Sa valeur
Objet
Type/ Nature
NOM_Constante
Constante=Vlauer
PI
Constante = 3,14
CONST <nom_constante> = valeur_constante ;
Exemple:
CONST coef = 1.5 ;

Les variables
Dfinition :
On appelle variable tout objet pouvant prendre diffrentes valeurs tout le long dun
algorithme.
Une variable est caractrise par : Son nom (un identificateur unique), Son type, Son
contenu.
Tableau de dclaration des Objets T.D.O
Objet
Type/ Nature
nom_variable
Type(entier, caractre, chaine, rel, boolen )
x
Entier
La dclaration dune variable entire se fait comme suit :
VAR < nom_variable > : Type ;

Le type Entier :
Dans un ordinateur un entier est reprsent avec un nombre fixe doctets ou de bits.
Cest pour cette raison que lensemble des entiers dans un ordinateur est fini
(compris entre un minimum et un maximum).
Les oprateurs arithmtiques sur les Entiers :+, -, *, DIV, MOD, >, <, , , =,

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

Les constantes

LPS
2|P age

Le type Rel
Sous ensemble de R
Les oprateurs arithmtiques sur les Entiers :+, -, *, /, >, <, , , =,
Pascal

Rle

Exemple

Trunc(x)

Permet dextraire la partie entire Trunc (5,2) vaut 5


de x
Trunc (6,9) vaut 6

Arrondi (x)

Round (x)

Round (10,23) vaut


10
Arrondit une valeur relle Round (10,5) vaut
lentier le plus proche
11
Round (-10,83) vaut
-11

Abs (x)

ABS (x)

Renvoie la valeur absolue de x

ABS (-10) vaut 10

Carr (x)

SQR (x)

Renvoie le carr de x

SQR (6) vaut 36

SQRT (x)

Renvoie la racine carre de x sil


est positif sinon elle provoque une SQRT (5) vaut 2,236
erreur

INT (x)

INT (x)

Renvoie la partie entire de x dans INT (10,23)


un rel
10,00

FRAC (x)

FRAC (x)

Renvoie la partie dcimale de x FRAC (10,23) vaut


dans un rel
0,23

Cos (x)

Cos (x)

Renvoie le cosinus de x (x en
Cos (PI) vaut -1,00
radians)

Sin (x)

Sin (x)

Renvoie le sinus de x (x en radians) Sin (PI) vaut 0,00

Ala

Random

Renvoie un rel entre 0 et 1

Ala(x)

Random(x) Renvoie un entier entre 0 et X-1

Trunc (x)

Racine
(x)

carr

vaut

 Utiliser Randomize avant Random pour avoir une squence diffrente chaque
excution.

Le type Boolen
Le type boolen contient les deux valeurs logiques VRAI et FAUX.
Dans le langage PASCAL, la dclaration dune variable boolenne se fait comme suit :
VAR <nom_variable> : Boolean ;
Oprateurs logiques sur les boolens : NON, ET, OU, OUEx (not, and, or, xor)
Table de vrit de ET

Table de vrit de OU

Table de vrit de XOR (OU EXCLUSIF)

a ET b

a OU b

a XOR b

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

Algorithmique

LPS
3|P age

Remarque :
 Il existe un ordre de priorit entre les oprateurs logiques : La ngation NON est
prioritaire par rapport la conjonction ET. La conjonction ET est prioritaire par
rapport la disjonction OU. Si deux oprateurs ont la mme priorit, le calcul de
lexpression logique se fera de gauche droite. Dans tous les cas, les oprations
misent entre parenthse sont prioritaires.
 Vrai est suprieur Faux (True>False renvoi True)

Le type caractre
Le type Char dfini des variables "caractre seul" ou "lettre" ayant code appartenant
la table ASCII.
Syntaxe :
Var Nom_Var : Char ;
Les Fonctions prdfinies pour les caractres
(x entier compris entre 0 et 255)

Code en Pascal

Rle

Exemples

ORD (c)

ORD (c)

Renvoie le code ASCII du ORD ("A") vaut 65


caractre c. Le rsultat est
ORD ("a") vaut 97
un entier positif.

CHR (x)

CHR (x)

Renvoie le caractre dont le CHR (65) vaut A


code ASCII est x.
CHR (97) vaut a

SUCC (c)

SUCC (c)

Renvoi
le
caractre SUCC ("C") vaut D
successeur de c sil existe.
SUCC ("2") vaut 3

PRED (c)

PRED (c)

Renvoi
le
caractre PRED ("C") vaut B
prdcesseur de c sil existe. PRED ("2") vaut 1

MAJUS (c) UPCASE (c)

Convertit le caractre c en MAJUS ("d") vaut


majuscule sil est possible
D

Le type chaine de caractres


Une chane de caractre est une succession de n caractre avec n compris entre 0 et
255 si n = 0 on dit que la chane est vide. Les valeurs de chane de caractres sont
dfinies entre guillemets.
Syntaxe : Var chaine : String ; (chaine de longueur MAX 255)
telephone : String[10] ; (chaine de longueur 10 caractres)
Les fonctions relatives au type chane de caractres

Algorithmique

Pascal

Long (ch)

Length (ch)

Position
(ch1,ch2)

4|P age

Pos (ch1,ch2)

Rle

Exemple

Renvoie le nombre de
carctres de ch

Length (technologie) vaut 12

Renvoie la position de la
1re occurence de ch1
dans ch2. Si ch1 nest pas
dans ch2, elle retourne la
valeur 0

Pos (i,'Informatique) vaut 9


Pos (I,'Informatique) vaut 1
Pos
(Formation,'Informatique)
vaut 0

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

Nom

LPS

Sous_chaine
(ch,p,n)

Copy (ch,p,n)

Renvoie une sous-chaine


de n caractres partir de
la position p de ch

Concat
Concat
Permet la concatnation
(ch1,ch2chn) (ch1,ch2chn) de ch1, ch2, et chn

Copy (Informatique,3,6) vaut


format
Soit ch1:=Ecole; ch2:=Sup;
Concat (ch1, ,ch2) vaut
Ecole Sup

Les procdures relatives au type chane de caractres

Algorithmique

Efface (ch,p,n)

Insre
(ch1,ch2,p)

Convch (n,ch)

Pascal

Rle

Delete
(ch,p,n)

Enlve n caractres de la
chane ch partir de la
position p. Le rsultat se
trouvera dans la chaine ch

Insre la chane ch1 dans la


chane ch2 la position p.
Insert
(ch1,ch2,p) Le rsultat se trouvera dans
la chaine ch2
Str (n,ch)

Convertit le nombre n en
une chane ch

Exemple
Delete (Turbo Pascal,6,7) vaut
Turbo

Ch1:=mation;ch2:=program;
Insert (ch1,ch2,8) alors
ch2:=programmation
n:=20;
Str (n,ch), la chane ch va
contenir 20

Le Type Scalaire numr


Le type scalaire par numration dfinit un ensemble ordonn et fini de valeurs
dsignes par des identificateurs.
Tableau de dclaration des nouveaux types
Types
Couleurs= (rouge, vert, blanc, noir, jaune, bleu)
 on peut appliquer la fonction ORD sur ces valeurs pour dterminer leurs
numros dordre, ainsi ORD (rouge) vaut 0
 Les oprateurs applicables ces valeurs sont:
Les oprateurs relationnels
Ls oprateurs PRED et SUCC. PRED
En PASCAL:
TYPE <nom_type> = ( Const1,Const2, , ConstN);
VAR <nom_variable> : nom_type;

Le type Intervalle
Le type intervalle possde les proprits dun type scalaire discret ordonn (entier,
caractre et scalaire numr)

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

ch:=20;
Convertit la chane ch en un Aprs excution de
Valeur (ch,n,e) Val (ch,n,e) nombre n. e contient la
linstruction Val (ch,n,e), n va
position de lerreur
contenir 20 e sera gale 0
Avec e est de type entier.

LPS
5|P age

La dfinition dun intervalle est dcrite par la donne de deux constantes


reprsentant respectivement la borne infrieur et la borne suprieur appartenant
un type scalaire discret ordonn et telle que Borne Infrieur < Borne Suprieur
Tableau de dclaration des nouveaux types
Types
Nom_Type = BorneInf .. BorneSup
Mois=1..12
Anne_Scolaire= (Septembre, Octobre, Novembre, Decembre, Janvier, Fevrier, Mars, Avril, Mai, Juin)
Premier_Trimestre = Septembre .. Decembre

En Pascal:
TYPE <nom_type> = Bonrne_inf .. Borne_sup;
VAR <nom_variable> : nom_type;

Le type Tableau

Il est possible de dclarer le type dun tableau.


Tableau de dclaration des nouveaux types
Types
Eleves = tableau de 30 chanes de caractre
Moyennes = tableau de 30 rels
Tableau de dclaration des objets
Objet
Type/ Nature
Rle
T_ELEVES
Eleves
Tableau des 30 noms dlves
T_Moy
Moyennes
Tableau des 30 moyennes dlves

Les structures de contrle conditionnelles


Structure de contrle conditionnelle simple rduite
Analyse

R=[Initilisations]
Si (condition(s)) Alors
Instruction 1

Instruction n
FinSi

Algorithme

Initialisations
Si (condition(s)) Alors
Instruction 1

Instruction n
FinSi

Pascal

Initialisations ;
IF (condition(s)) then
Begin
Instruction 1 ;
;
Instruction n ;
End ;

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

Un tableau est une structure de donnes homognes regroupant un ensemble


dlments de mme type.
Au niveau de lanalyse et de lalgorithme
Objet
Type/ Nature
Ident_Tab
Tableau de taille et de Type-lment
En Pascal:
Var Ident_Tab:ARRAY[Borne_inf..Borne_Sup] OF Type_lment;
Exemple:
T : ARRAY [1..4] OF CHAR;

LPS
6|P age

Structure de contrle conditionnelle simple complte


Analyse

Algorithme

R=[Initilisations]
Si (condition(s)) Alors
Instruction 1 Trait1

Instruction n Trait1
Sinon
Instruction 1 Trait2

Instruction m Trait2
FinSi

Initilisations
Si (condition(s)) Alors
Instruction 1 Trait1

Instruction n Trait1
Sinon
Instruction 1 Trait2

Instruction m Trait2
FinSi

Pascal

Initialisations ;
IF (condition(s)) then
Begin
Instruction 1 Trait1 ;
;
Instruction n Trait1 ;
End ;
Else
Begin
Instruction 1 Trait2 ;
;
Instruction m Trait2 ;
End ;

Structure de contrle conditionnelle gnralise


Algorithme

R=[Initilisations]
Si (condition(s) 1) Alors
Traitement1
Sinon Si (condition(s) 2) Alors
Traitement 2

Sinon Si (condition(s) n-1) Alors


Traitement n-1
Sinon
Traitement n
FinSi

Initilisations
Si (condition(s) 1) Alors
Traitement1
Sinon Si (condition(s) 2) Alors
Traitement 2

Sinon Si (condition(s) n-1) Alors


Traitement n-1
Sinon
Traitement n
FinSi

Pascal

Initialisations ;
IF (condition(s)1) then
Trait1 ;
Else If (condition(s)1) then
Trait2 ;
.. ;
Else If (condition(s)n-1) then
Trait n-1 ;
Else Trait n ;

Remarque :
Au niveau de lanalyse on crit :
R = [Initialisation]
 R indique le rsultat recherch
SI condition ALORS

Structure choix multiple


Cette structure permet une prsentation plus claire dun ensemble dalternatives
imbriques. Un nombre important de choix est envisager selon les valeurs prises
par une variable.
La structure SELON value le "slecteur", passe comparer celui ci respectivement
avec les valeurs dans les listes. En cas d'galit avec une valeur, les actions
correspondantes, qui sont devant cette valeur seront excutes.

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

Analyse

LPS
7|P age

Analyse

Algorithme

R=[Initilisations]
Selon Slcteur Faire
Val1 :action1
Val2,val3 :action21
action22
action2n
Val4 :action3
Valn :action n
Sinon action R
Fin selon

Initilisations
Selon Slcteur Faire
Val1 :action1
Val2,val3 :action21
action22
action2n
Val4 :action3
Valn :action n
Sinon action R
Fin selon

Pascal

Initialisations ;
Case slcteur of
Val1 :action1 ;
Val2,val3 :begin
action21 ;
action22 ;
action2n ;
end ;
Val4 :action3 ;
Valn :action n;
else action R
end ;

Structures de contrle itratives

La structure : Rpter jusqu'


Dfinition
Un rsultat a une dfinition itrative condition darrt, s'il est la rptition d'une
suite d'instructions jusqu' ce qu'une condition d'arrt passe l'tat vrai.
Analyse
Algorithme
Pascal
R=[Init] Rpter
.
;
<traitement >
. {Init}
; {Init}
Jusqu' (condition d'arrt) Rpter
Repeat
<traitement >
<traitement >
Jusqu' (condition d'arrt) Until (condition d'arrt) ;
Avec
<condition>: expression logique dterminant larrt de la boucle
<traitement> : action ou squence daction excuter tant que la condition est
fausse
Remarques:

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

La structure : Pour faire


Dfinition
Un rsultat une structure itrative complte sil est obtenu aprs la rptition dun
traitement un nombre fini de fois connu davance.
Au niveau analyse :
Au niveau Pascal :
Il faut utiliser un compteur pour signifier la
rptition :
R=[Initialisation] Pour c de 1 n Faire
FOR i :=1 TO n DO
Traitements (Ensemble
Begin
dinstruction)
Instructions rpter
FinPour
End ;
Dans le cas dun parcours descendant, la dfinition Dans le cas parcours descendant, la
scrit :
dfinition scrit :
R=[Initialisation] Pour c de n 1 (pas=-1)Faire
FOR i :=n DOWNTO 1 DO
Traitements (Ensemble
Begin
dinstruction)
Instructions rpter
FinPour
End ;

LPS
8|P age

On utilise la boucle REPETER lorsque le nombre de rptitions peut ne pas tre
connu lavance.
Il faut modifier la condition lintrieur de la boucle REPETER pour ne pas avoir
une boucle ferme (infinie).

La structure : Tant que faire

Rappels Algorithmique : Structure de donnes, conditionnelles et Itratives

Dfinition
La structure itrative condition darrt : tant que faire est utilise lorsque la
condition doit tre teste avant lexcution du traitement rpter.
Structure utilise lorsque le nombre de traitement nest pas connu lavance.
Vocabulaire et syntaxe :
Au niveau de lanalyse et
Au niveau pascal
lalgorithme
R=[init]Tant que (condition) faire
While (condition) do
Instruction 1
Begin

Instruction 1 ;
Instruction n

Fin tant que


Instruction n;
End;
 Les instructions seront excutes au moins zro fois
 Si la valeur de la condition est vraie, l'ordinateur doit excuter les instructions 1
n.
Si la valeur de la condition est fausse, l'excution des instructions 1 n s'arrte et
l'ordinateur passe l'excution de l'instruction qui se trouve juste aprs fin tant que
La boucle tant que nest utilise si la condition nest pas vrifie ds la premire fois.

LPS
9|P age