Vous êtes sur la page 1sur 12

Chapitre 2 Les types simples et les actions simples

Chapitre 2:
Les types simples et les actions simples

Objectifs du chapitre :

 Connaître le domaine de définition des différents types simple.


 Comprendre et manipuler les opéraeurs de base sur chaque type.
 Comprendre les actions de lecture, d’eriture et celle d’affectation en algorithmique.
 Connaître les expressions algorithmiques et maitriser leurs évalutions en utilisant l’ordre
de priorité des opérateurs.
 Construire des algorithmes simples s’appuyant sur des actions simples.

1
Chapitre 2 Les types simples et les actions simples

Partie 1 : Les types simples

I. Introduction :
On a vu dans le chapitre précédent que toute variable possède un type et on a distingué deux
familles de types : les types simples et les types composés.

Dans le présent chapitre, on va passer en revue les types simples qui sont au nombre de quatre :

 Le Type Entier.
 Le Type Réel.
 Le Type Caractère.
 Le Type Booléen ou Logique.

II. Le Type Entier :


II.1 Définition :
Le type Entier comprend un sous ensemble fini de nombres entiers, il représente une restriction de
l’ensemble mathématique des nombre relatifs Z.

Plage de valeurs: Z
-∞ [ … -1 0 1 … ] +∞

Min Max

La taille de l’ensemble (valeurs de Min et Max) varie en fonction des performances techniques de la
machine et celles du langage de programmation utilisé.

En langage C : Min = -32768


Max = 32767

II.2 Représentation algorithmique :


Le type entier étant reconnu automatiquement, il n’est pas nécessaire de le déclarer dans la partie
des types. Il suffit d’indiquer devant le nom de la variable son type.

Variable
Nomvar : Entier (Nomvar étant la variable qui sera utilisée dans l’algorithme)

Si on a plusieurs variables en même temps, ce n’est pas la peine de les déclarer séparément ; on peut
les regrouper en les séparant par une virgule.

Variable
Nomvar1, Nomvar2, ……., NomvarN : Entier

2
Chapitre 2 Les types simples et les actions simples

II.3 Les opérations de base sur le type Entier :


Sur le type Entier, on distingue deux catégories d’opérations :

o Les opérations arithmétiques.


o Les opérations algorithmiques telles que la lecture, l’écriture, etc ; elles feront l’objet
d’un chapitre à part.

Opération Symbole Exemple


Addition + A=5, B=7 ; A+B renvoie 12
Soustraction - A=5, B=7 ; A-B renvoie –2
Multiplication * A=5, B=7 ; A* B renvoie 35
Division (entière) DIV A=5, B=7 ; A DIV B renvoie 0
Reste de la Division entière MOD A=5, B=7 ; A MOD B renvoie 5

Tableau 1: Opérateurs sur les entiers.

III. Le Type Réel :


III.1 Définition :
Le type Réel comprend un sous ensemble fini de nombres réels, dont la taille varie en fonction des
performances techniques de la machine et celles du langage de programmation utilisé.

Le type réel représente une restriction de l’ensemble mathématique des nombre réels IR.

Plage de valeurs: IR
-∞ [ … -1.0.. -0.00 0 0.0.. 1.0… ] +∞

Min Max

III.2 Représentation algorithmique :

Le type Réel étant reconnu automatiquement, il n’est pas nécessaire de le déclarer dans la partie des
types. Il suffit d’indiquer devant le nom de la variable son type.

Variable
Nomvar : Réel (Nomvar étant la variable qui sera utilisée dans l’algorithme)

Si on a plusieurs variables en même temps, ce n’est pas la peine de les déclarer séparément ; on peut
les regrouper en les séparant par une virgule.

Variable
Nomvar1, Nomvar2, ……., NomvarN : Réel

3
Chapitre 2 Les types simples et les actions simples

III.3 Les opérations de base sur le type Réel :


Sur le type Réel, on distingue deux catégories d’opérations :

o Les opérations arithmétiques


o Les opérations algorithmiques telles que la lecture, l’écriture, etc ; elles feront l’objet
d’un chapitre à part.

Opération Symbole Exemple

Addition + A=5.5, B=7.0 ; A+B renvoie 12.5


Soustraction - A=5.5, B=7.0 ; A-B renvoie –2.5
Multiplication * A=5.5, B=7.0 ; A* B renvoie 38.5
Division normale / A=5.5, B=7.0 ; A / B renvoie 0.79
Fonctions prédéfinies

Carré(X) Retourne le carré de X


RacineCarré(x) Retourne la racine carré de X si X>=0, sinon elle retourne erreur

Tableau 2: Opérateurs et fonctions sur les réels.


Application :
B
On vous demande de calculer le côté BC d’un triangle ABC rectangle en A. A C

IV. Le Type Caractère :


IV.1 Définition :
Le type Caractère est ensemble de caractères comportant :

o Les 26 lettres alphabétiques en majuscules (‘A’ jusqu’à ‘Z’)


o Les 26 lettres alphabétiques en minuscules (‘a’ jusqu’à ‘z’)
o Les 10 chiffres arabes (‘0’ jusqu’à ‘9’).
o Quelques caractères spéciaux.
Remarque :

Chaque valeur d’un caractère est délimitée par deux apostrophes ‘ ’.

Exemples : ‘A’, ‘a’, ‘+’, ‘10’….

IV.2 Représentation algorithmique :

Le type Caractère étant reconnu automatiquement, il n’est pas nécessaire de le déclarer dans la
partie des types. Il suffit d’indiquer devant le nom de la variable son type.

Variable
Nomvar : Caractère (Nomvar étant la variable qui sera utilisée dans l’algorithme)

4
Chapitre 2 Les types simples et les actions simples

Si on plusieurs variables en même temps, ce n’est pas la peine de les déclarer séparément ; on peut
les regrouper en les séparant par une virgule.

Variable
Nomvar1, Nomvar2, ……., NomvarN : Caractère

IV.3 Ordre d’apparition des éléments du type Caractère :

Tous ces caractères sont ordonnés selon leurs codes ASCII .

Exemple d’apparition des différentes valeurs du type caractère :

…‘0’<’1’<’2’<’3’<’4’<’5’<’6’<’7’<’8’<’9’…<’A’<’B’…..<’Y’<’Z’…<’a’<’b’<…....<’y’<’z…

IV.4 Les Opérations de base sur le type Caractère :

Sur le type Caractère, on distingue deux catégories d’opérations :

o Les opérations propres aux caractères


o Les opérations algorithmiques telles que la lecture, l’écriture, etc ; elles feront l’objet
d’un chapitre à part.
Opération Symbole Exemple
Suivant Suiv Si A=’C’ alors Suiv(A) renvoie ‘D’
Précédent Prec Si A=’C’ alors Prec(A) renvoie ‘B’

Tableau 3: Opérateurs sur les caractères.


Remarques :

 Les opérations suivant et précédent respectent l’ordre d’apparition des caractères mentionné
ci-dessus.
 la fonction Suiv et Prec s’appliquent sur des variables de type caractère ou des constantes
caractères.
Exemple: succ(‘A’) envoie ‘B’ par contre succ(A) avec A variable contenant le caractère ‘C’ renvoie ‘D’.

V. Le Type Booléen ou Logique :


V.1 Définition
Un type Booléen dit également logique est un ensemble qui est constitué de deux éléments dont la
valeur de l’un contredit celle de l’autre.

Domaine de valeurs :

Le type booléen contient deux valeurs logiques Vrai et Faux

On peut représenter ces notions abstraites de VRAI et de FAUX :

5
Chapitre 2 Les types simples et les actions simples

 Pour représenter des nombres binaires, on déclare un type booléen formé de 0 et 1.


 Pour représenter une variable réponse, on déclare un type booléen formé de Oui et Non.
 Pour représenter une variable logique, on déclare un type booléen formé de Vrai et Faux.
 Pour représenter l’état d’une lampe, on déclare un type booléen formé de Allumée et Eteinte.
 Pour représenter l’état d’un interrupteur, on déclare un type booléen formé de Ouvert et
Fermé.

V.2 Représentation algorithmique

Le type Booléen étant reconnu automatiquement, il n’est pas nécessaire de le déclarer dans la partie
des types. Il suffit d’indiquer devant le nom de la variable son type.

Variable
Nomvar : Booléen (Nomvar étant la variable qui sera utilisée dans l’algorithme)

Si on plusieurs variables en même temps, ce n’est pas la peine de les déclarer séparément ; on peut
les regrouper en les séparant par une virgule.

Variable
Nomvar1, Nomvar2, ……., NomvarN : Booléen

V.3 Opérateurs Logiques :

Sur le type booléen, on applique des opérateurs logiques pour constituer une expression logique ;
ces opérateurs sont :

 NON (NOT) : la négation.


 ET (AND) : la conjonction.
 OU (OR): la disjonction.

En les appliquant sur des variables booléennes, voilà ce que ça donne :

X Y Non X X Et Y X Ou Y
Faux Faux Vrai Faux Faux
Faux Vrai Vrai Faux Vrai
Vrai Faux Faux Faux Vrai
Vrai Vrai Faux Vrai Vrai

Tableau 4: Table de vérité pour les opérateurs ET, OU et NON.


Remarque :

Il existe un ordre de priorité entre les opérateurs logiques :

- la négation NON est prioritaire par apport à la conjonction ET.

6
Chapitre 2 Les types simples et les actions simples

- la conjonction ET est prioritaire par apport à la disjonction OU.


Exemple :

NON X ET Y : on doit évaluer d’abord NON X puis la conjonction ET

V.4 Exemples : Utilisation des opérateurs de comparaison

1)
Algorithme Essai1
Variable
Var1, Var2 : Booléen
Début
Var1=vrai
Var2=Non(Var1)
Fin.
Var2 va contenir la valeur faux

2)

Algorithme Essai2
Variable
Age : Entier
Test : Booléen
Début
Age=20
Test=(Age>20)
Fin.
Test va contenir la valeur faux

7
Chapitre 2 Les types simples et les actions simples

Partie 2 : Les actions simples

I. Introduction :
On rappelle qu’un algorithme comporte deux parties : une partie déclarative et une partie réservée
aux actions.
Parmi ces actions, on cite les actions simples qui couvrent :

o L’action de Lecture,
o L’action d’Ecriture,
o L’action d’Affectation.

II. L’action de lecture :


II.1 Définition :

La lecture est une opération d’entrée qui s’effectue des périphériques d’entrée (clavier, souris, stylo
optique, etc.) vers la mémoire centrale.

Elle permet à l’utilisateur d’introduire les données au programme pour qu’il produise les résultats
attendus.

II.2 Représentation algorithmique :

Une action de Lecture est représentée par le terme ‘Lire’ ; elle peut concerner une variable ou
plusieurs variables.

Pour une variable l’action de lecture ou encore la primitive de lecture doit se présenter comme suit :
Lire( Nomvariable )

Pour plusieurs variables, deux formats de lecture peuvent être appliqués :

 Soit une lecture de toutes les variables ensemble


Lire(Nomvariable1, Nomvariable2, ………., NomvariableN).

 Soit une lecture pour chaque variable et dans ce cas on a le schéma suivant :
Lire(Nomvariable1)
Lire(Nomvariable2)
……
Lire(NomvariableN)

8
Chapitre 2 Les types simples et les actions simples

II.3 Remarques :

(i) Dès que le programme rencontre une instruction Lire, l’exécution s’interrompt, attendant la
frappe d’une valeur au clavier, si la touche Entrée (Enter) a été frappée, l’exécution reprend.
(ii) Il est interdit de lire une constante.
Si PI=3.14 déclarée comme constante, Lire(PI) est impossible.

(iii) Il est interdit de lire une expression arithmétique ou logique.


Lire(a+b) est impossible.

(iv) Il est interdit de lire un message.


Lire(‘Bonjour’) est impossible.
(v) Dans certains problèmes à résoudre, certains étudiants trouvent parfois des difficultés pour se
décider s’ils vont lire la variable ou faire autre chose. Dans ce qui suit, on va présenter les
phrases ayant le contexte de lecture :
 Saisir des données à partir du clavier : il s’agit d’une lecture.
 Entrer des données à partir du clavier : il s’agit d’une lecture.
 Introduire les données : il s’agit d’une lecture.

III. L’action d’écriture :


III.1 Définition :

L’écriture est une opération de sortie (de la mémoire ou du microprocesseur vers les périphériques
de sortie). Elle permet à l’utilisateur d’afficher les résultats d’un programme sur le(s) périphérique(s)
de sortie, tels que : écran, imprimante, traceur, etc.

III.2 Représentation algorithmique :

Une action d’écriture, parfois dite une primitive d’écriture peut se faire :

 sur une ou plusieurs variables,


 sur des constantes,
 sur des expressions arithmétiques et logiques,
 sur des messages.
Une action d’écriture peut être mixte, c’est à dire qu’elle regroupe des variables, des constantes, des
expressions et des messages.

a) Ecriture sur une ou plusieurs variables :

Pour une variable l’action d’écriture ou encore la primitive d’écriture doit se présenter comme suit :
Ecrire( Nomvariable )

9
Chapitre 2 Les types simples et les actions simples

Ecrire(Nomvariable) consiste à afficher le contenu de la variable Nomvariable à l’écran.

Pour plusieurs variables, deux formats d ‘écriture peuvent être appliqués :


 Soit une écriture de toutes les variables ensemble
Ecrire (Nomvariable1, Nomvariable2, ………., NomvariableN).

 Soit une écriture pour chaque variable et dans ce cas on a le schéma suivant :
Ecrire (Nomvariable1)
Ecrire (Nomvariable2)
……
Ecrire (NomvariableN)

b) Ecriture d’une constante :

C’est une opération qui consiste à afficher la valeur d’une constante.


Ecrire(Valconstante) ou Ecrire(Nomconstante), sachant que cette constante contient la valeur
Valconstante.

Exemples :

 Ecrire(3.14) , Ecrire(PI) , …

c) Ecriture d’une expression arithmétique ou logique :

Une expression est un ensemble de valeurs (variables, constantes,..), reliées par des opérateurs, et
équivalent à une seule valeur.
Dans certains programmes, et en vue d’optimiser le nombre de variables ainsi que le nombre
d’instructions, on réalise directement une primitive d’écriture sur une expression.

Ecrire(expression)

Exemples:

Ecrire(a+b*c) avec a, b et c des entiers


Ecrire(a ou b et c) avec a, b et c des booléens

d) Ecriture d’un message :

L’utilisation des messages dans un programme ne fait que faciliter son utilisation ;
Un message est une suite de caractère ayant un sens et délimité par deux apostrophes.

Écrire(‘message’)

10
Chapitre 2 Les types simples et les actions simples

Exemple :

Écrire(‘Bonjour’) : cette opération affichera à l’écran le mot Bonjour.

e) Ecriture mixte :

Dans certains programmes, l’affichage doit être très clair. Par exemple, on veut afficher la ligne
suivante : Le Montant de la Facture est = 1250 DT.

Pour obtenir un tel affichage, on doit présenter l’action d’écriture comme suit :
Ecrire(‘Le Montant de la Facture est = ‘, MNTFACT, ‘DT’) où MNTFACT est la variable qui contient ce
montant. On parle dans ce cas d’écriture mixte.
Écrire(‘message’,Nomvariable,constante,’message’,….)

VI. L’action d’affectation :


IV.1 Définition :

L’opération d’affectation consiste à mettre (placer) une valeur dans une variable. L’affectation est
schématisée par le symbole

IV.2 Représentation Algorithmique :

Nomvariable Valeur

X X
Exemples : 3 X 3

 X 3 -- on a affecté la valeur 3 à la variable X.


Y Y

 Y 2 -- on a affecté la valeur 10 à la variable Y 2 Y 3

 X 4 * Y-1 -- on a affecté l’expression 4 * Y-1 à la variable X, X vaut 7


X X

7 X 4*Y-1 3 3

Remarque:

(i) A  5 : cela veut dire mettre la valeur 5 dans la variable A, qui du coup va perdre son ancienne
valeur. On dit également, que A reçoit la valeur 5, ou on affecte 5 dans la variable A, ou encore
on affecte à la variable a la valeur 5.
(ii) A  B : cela veut dire mettre le contenu de la variable B dans la variable A.

11
Chapitre 2 Les types simples et les actions simples

(iii) A + B  S : c’est une opération impossible (A + B n’est pas un nom de variable !!).
(iv) Il faut distinguer entre A  B et B  A ; l’affectation n’est pas commutative.

IV.3 Application Directe :

Donner pour chaque opération la valeur contenue dans chaque variable :

A B C
A1 1 -- --
BA+3 1 4 --
A3 3 4 --
B5 3 5 --
CA+B 3 5 8
A2 2 5 8
CB-A 2 5 3

Tableau 5: Exemples d’affectation.

12

Vous aimerez peut-être aussi