Professional Documents
Culture Documents
E = 2.718281
Pi = 3.14
Trouve = faux
Val = 20
2. Caractristiques
Une constante est caractrise par :
Son nom : un identificateur unique
Sa valeur
Type/Nature
Rle
Nom de la constante
Rle de la constante
Dclaration en pascal
CONST constante1 = valeur 1 ;
constante 2 = valeur 2 ;
constante N = valeur N ;
Remarques :
La valeur de la constante nous renseigne sur son type : rel, entier, boolen,
On utilise les constantes pour rendre le programme plus lisible et plus facilement
modifiable
Type/Nature
Rle
message
--
En pascal :
Const message = Bonne chance ;
Lyce Secondaire Errafha Mnihla
Type/Nature
Rle
Nom de la variable
Type de la variable
Rle de la variable
Dclaration en pascal
VAR
variable 1 : type1 ;
variable 2 : type 2 ;
variable N : type N ;
Remarques :
(1) Variable 1, variables 2, , variable N sont les identificateur des variables intervenant dans
le programme (ou lalgorithme) et type 1, type 2, , et type N sont les identificateurs de
leurs types respectifs.$
(2) On peut regrouper ensemble les variables dclares sous le mme type.
Exemple :
Var i, j, k: integer;
Note: real;
Ch: string;
(3) Lors de la dclaration dune variable, le compilateur rserve dans la mmoire vive (RAM)
un certain espace (appel la taille de la variable) pour stocker la valeur future de cette
variable. Suivant le type de celle-ci lespace rserv ne sera pas de tout le mme. Ainsi
pour une variable de type entier, on rserve un espace de 2 octets alors quun rel
occupe 8 octets.
Application :
Soit le programme pascal suivant :
Programme premier exemple ;
Uses wincrt ;
Conste cfficient : 3 ;
Begin
Writeln(Donner trois notes entires) ;
Readln (a, b, c) ;
M := (a+b+c)/coefficient;
Writeln(La moyenne est :, M) ;
End ;
Questions :
1) Corriger le programme ci-dessus
2) Dclarer les variables utilises.
1) Le type entier :
La mmoire vive de lordinateur ntant pas infinie et par consquent lensemble des entiers
nest pas gal Z . Si une variable est dclare sous un type entier cela signifie que ses valeurs
possibles sont les entiers appartenant un certain intervalle [Minint, Maxint].
Lensemble des entiers appartient lintervalle [-32768, 32767].
Il existe des sous types du type entier : entier court, entier long,
Lyce Secondaire Errafha Mnihla
Chaque sou type indique un sous ensemble particulier de lensemble des nombres entiers.
Type dentier
Identificateur
Intervalle
Taille
Entier
Integer
-32768..32767
2 octets
Entier court
Shortint
-128..127
1 octet
Octet
Byte
0..255
1 octet
Entier long
Longint
-2147483648..2147483647
4 octets
Mot
Word
0..65535
2 octets
Remarques :
(1) Les oprateurs arithmtiques quon peut appliquer sur une variable de type entier sont :
laddition (+), la soustraction (-), la multiplication (*), la division entire (div), le reste de
la division entire (mod) et le changement de signe (-).
(2) Les oprateurs relationnels sont : <, >, , , , =
(3) Dclaration en pascal : Var nom de la variable : integer ;
2) Le type rel :
Comme pour les entiers, lensemble des nombres rels informatiques nest pas \ , cest un
ensemble fini
Les valeurs dune variable de type rel sont donc dlimites par un intervalle de validit
(correspondant cette fois un espace de 8 octets).
Dans le langage pascal, tout rel est codifi par : un chiffre autre que 0 prcd du signe si
le nombre est ngatif puis un point (qui correspond notre virgule) suivi de dix chiffres et
dun exposant positif ou ngatif deux chiffres prcd de la lettre E.
Exemples :
Le nombre 12,5 est mmoris par pascal sous la forme : 1.2500000000E+01 (quil faut le
comprendre 1,25.101). Cette criture est appele criture scientifique des nombres (ou criture
virgule flottante)
Par contre le nombre 1/3 est mmoris sous la forme 3.3333333333E-01 (quil faut
comprendre 3, 3333333333.10-1)
Remarques :
(1) Nous ne sommes pas obligs dadopter cette criture dans la conception de nos
programmes. A condition dutiliser le point la place de la virgule et la lettre E pour
lexposant.
(2) Les oprateurs arithmtiques quon peut appliquer sur une variable de type rel sont :
laddition (+), la soustraction (-), la multiplication (*), la division (/) et le changement de
signe (-).
(3) Les oprateurs relationnels sont : <, >, , , =, (En pascal : <, >, <=, >=, <>, =)
(4) Dclaration en pascal : Var nom de la variable : real ;$
Activit : soient les dclarations suivantes :
Const max = 1000 ;
Var x, y : real ;
A, B, C : integer ;
Complter le tableau ci-dessous, dans le cas dinvalidit, donner une justification.
Expression
C := A mod B
Valide ?
Rsultat/Justification
Une variable dclare sous le type boolen est dite boolenne . Elle ne peut prendre que
deux valeurs possibles : vrai (true) ou faux (false).
Les oprateurs possibles applicables sur les variables boolennes sont :
La ngation NON (NOT)
La conjonction ET (AND)
La disjonction OU (OR)
Le OU exclusif OUex (XOR)
Activit :
Soient P et Q deux variables boolennes, complter les tableaux de vrit suivants :
P
Vrai
Faux
Lyce Secondaire Errafha Mnihla
NON (P)
Vrai
Vrai
Fau
x
Fau
x
Vrai
Fau
x
Fau
x
NON (P)
NON (Q)
P ET Q
P OU Q
P OUex Q
Vrai
Remarques :
(1) Classement des oprateurs selon lordre de priorit dcroissante :
NOT
*, /, div, mod, AND
+, -, OR
<, <= , =, <>, >=, >
(2) Les oprateurs se trouvant entre parenthses sont prioritaires
2. Dclaration en algorithme et en pascal:
Objet
Nom de la variable
Type/Nature
Boolen
Rle
Rle de la variable
Type/Nature
Boolen
Rle
---
Remarques :
(1) Chaque caractre possde un code appel : Code ASCII (American Standard Code for
Information Interchange)
(2) Le caractre "" est un caractre (caractre vide)
(3) Une variable de type caractre ne peut contenir quun seul caractre
(4) Les caractres sont classs selon leurs codes ASCII. ("A"<"B"<"C"<"D"<"E"<<"Z")
(5) Exemple : Code ("A") = 65, Code ("a") =97
(6) Les oprateurs relationnels sur les caractres sont : <, >, , , =,
2. Dclaration en algorithme et en pascal :
Objet
Nom de la variable
Type/Nature
Caractre
Rle
Rle de la variable
Type/Nature
Caractre
Rle
---
C : char ;
Type/Nature
Chane de caractres
Rle
Rle de la variable
Exemple :
Objet
CH
Type/Nature
Chane de caractres
Rle
---
En pascal :
Var
CH : String ;
Remarques :
(1) Si on dclare une variable de type chane de caractres de la manire suivante :
Var CH : String ; Le compilateur rserve 256 octets dans la RAM pour stocker les caractres
de la chane CH mme si la chane contient un nombre de caractres infrieur 256.
(2) Au moment de la dclaration dune chane CH, on peut fixer le nombre maximal des
caractres qui constituent la chane CH de la manire suivante :
Objet
Nom de la variable
Type/Nature
Chane de n caractres
Rle
Rle de la variable
Type/Nature
Chane de 30 caractres
Rle
---
CH : String [30] ;
Rsultats
A "L" + "informatique"
A=
B=
C=
D=
B=
E=
D[2] "o"
D=
B CONCAT (B, " ", D, " ", SOUS-CHAINE (D, 4, 2), " ")
B=
A CONCAT (A, E, " ", B, A [5] +A [3], "c", SOUS-CHAINE (C, 7,4))
A=
Un type numr permet de reprsenter des valeurs en les numrant laide de leurs noms.
Une variable de type numr ne peut stocker quune seule valeur possible parmi une liste
finie de valeurs (au maximum 256).
Exemple :
Couleur = (Rouge, Bleu, Vert)
Saison = (Automne, Hiver, Printemps)
2. dclaration en algorithme et en pascal :
Objet
Nom de la variable
En pascal :
Type/Nature
Liste des valeurs
Rle
Rle de la variable
Type/Nature
Rouge, Bleu, Vert
Automne, Hiver, Printemps, Ete
Rle
---
10
Exemples :
Soient les dclarations pascal suivantes :
Type jour = (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche) ;
Var jour_courant, demain : jour ;
On peut utiliser les fonctions prdfinies suivantes :
Jour_courant :=mercredi ;
Ord (jour_courant) = 3
Ord (demain) = 4
Succ (jour_courant) = jeudi
Pred (jour_courant) = mardi
Jour_courant := dimanche ;
Succ (jour_courant) est non dfinit / Dduire alors le rle de chaque fonction.
(7) On ne peut ni lire, ni crire une variable de type numr. Pour lafficher, on peut utiliser
une instruction case par exemple.
Type/Nature
Nom du type
Rle
Rle de la variable
Type/Nature
Rle
Note
Notes_possibles
---
11
Type/Nature
Tableau de taille de type
Rle
Rle du tableau
Exemple :
Objet
Type/Nature
Moyenne
Tableau de 30 rels
Rle
Pour stocker les moyennes
des lves
Type/Nature
Nom du type
Rle
Rle de la variable
Type/Nature
Tab
Rle
---
12
Type/Nature
Tableau de taille de type
Rle
Rle du tableau
Type/Nature
Nom du type
Rle
Rle de la variable
echec: jeu;
M: matrice;
Remarques :
(1) Un lment du tableau est repr par le numro de la ligne et le numro de la colonne.
Exemple : M [i, j] avec i et j compris entre 1 et 3.
(2) Sur les lments dun tableau, on peut effectuer les mmes oprations et excuter les
mmes instructions que sur nimporte quelle variable du mme type :
Lire : Ecrire ("entrer coordonnes"), Lire (M [1,1])
Ecrire : Ecrire (M [1,3])
Affecter : M [1,2] 1.6
Effectuer un calcul : trace M [1,1] +M [2,2] + M [3,3]
Comparer : Si M [1,3] = M [2,3] Alors
Lyce Secondaire Errafha Mnihla
13
(3) Si T et U sont deux tableaux de mme type alors linstruction T U transfre en bloc
tout le tableau U dans le tableau T. Cette opration est appele affectation de transfert
(4) Les lments dun tableau nont pas de valeurs par dfaut. Il faut penser les initialiser
avant de les utiliser.
(5) En dehors de laffectation de transfert, aucune instruction nest utilisable pour un tableau
en bloc. Ainsi linitialisation dun tableau T 0 ne peut pas se faire par linstruction T
0. De mme, on ne peut pas utiliser les instructions crire et lire pour afficher ou lire un
tableau T en entier.
(6) Laffichage ou la lecture des lments dun tableau se fait un par un.
14
La valeur lue sera affecte (recopie) (dune manire interne) la case mmoire de la
variable : cest une affectation implicite (indirecte).
2. Syntaxe en analyse, en algorithme et en pascal :
Syntaxe en analyse
Syntaxe en algorithme
Syntaxe en pascal
Variable = donne
Lire (Variable)
Read (variable) ;
Remarques :
(1) Ds que le compilateur rencontre une instruction de lecture, lexcution sarrte en
attendant que lutilisateur saisisse une valeur pour la variable puis il valide la saisie par la
touche Entre. Aprs la validation, le compilateur passe linstruction suivante.
(2) On peut regrouper plusieurs variables dans la mme instruction, dans ce cas la lecture se
fait variable par variable. Les valeurs entres seront affectes aux variables successives.
Exemple : Lire (var1, var2, , var n)
(3) La procdure ReadLn effectue, aprs la lecture des donnes, un passage la ligne.
Exemple : Readln (x, y, z) ;
(4) Par souci de clart nous ferons toujours prcder les lectures de donnes par un message
qui demande lutilisateur quil doit entrer.
Exemple : note = donne <==> Ecrire ("entrer une note :"), Lire (note)
(5) En pascal, les instructions successives sont spares par des points virgules.
(6) Le point virgule : pour ne pas se tromper, il suffit de se souvenir que le point virgule ne
dsigne pas la fin dune ligne ou dune instruction mais quil spare deux instructions
successives.
Syntaxe en algorithme
Ecrire ("Texte")
Ecrire (variable)
Ecrire ("Texte", variable)
Syntaxe en pascal
Write (Texte) ;
Write (variable) ;
Write (Texte, variable);
15
Remarques :
(1) On peut afficher le rsultat dune expression par : Ecrire (expression).
Exemples : Ecrire (x/2-1), Ecrire (X>Y),
(2) Afficher un mlange : Ecrire (a, "+", b, "+", c, "=", m)
(3) La procdure WriteLn permet deffectuer un retour la ligne aprs laffichage dun
rsultat.
(4) Les procdures write et writeln permettent des effets de mise en page : il suffit de faire
suivre le nombre ou la variable afficher dindications de mise en page. Ces indications
scrivent :
Write (variable : champ : nombre des dcimaux) ;
O champ = espace rserv pour laffichage des chiffres, virgule comprise
Exemple :
Si x est une variable relle ayant pour valeur 10-6, linstruction write (x : 8 : 6) affichera
0.000001 (essayer avec dautres valeurs sur machine pour voir la diffrence)
Syntaxe en pascal
Variable := expression
(1) Expression : est une expression arithmtique dont la valeur sera affecte la variable.
(2) Il doit y avoir une comptabilit entre le type de la variable et celui de lexpression.
(3) Exemples :
Exemples
Commentaires
Note 12
XY
X 3*Y+1
Z exp (y-1)
K K+1
K K-1