LES TYPES SIMPLES LES TYPES SIMPLES Plan du chapitre : I. II. III. IV. V. Introduction …………………………………………………………………………………………………... 12 Le Type Entier ………………………..………………………………………………………………..……. 12 Le Type Réel ……………………………………………….………………………………………………….. 13 Le Type Caractère ………………………………………………………………………..………………. 14 Le Type Booléen ……………………………………………………………………………………………. 16 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. 11 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. Algorithme nomalgo Constante …………. Type ………………. Variable …………… C’est ici !!!! Début <action1> <action2> 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 12 LES TYPES 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 o Les opérations arithmétiques. Les opérations algorithmiques telles que la lecture, l’écriture, etc ; elles feront l’objet d’un chapitre à part. Opération Symbole Addition Soustraction Multiplication Division (entière) Reste de la Division entière + * DIV MOD Exemple A=5, B=7 ; A+B renvoie 12 A=5, B=7 ; A-B renvoie –2 A=5, B=7 ; A* B renvoie 35 A=5, B=7 ; A DIV B renvoie 0 A=5, B=7 ; A MOD B renvoie 5 Tableau 2: 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. Algorithme nomalgo Constante …………. Type ………………. Variable …………… C’est ici !!!! Début <action1> 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 13 LES TYPES SIMPLES III.3 Ecriture d’un nombre réel : On distingue deux écritures lors de l’exécution d’un programme : une écriture standard et une écriture scientifique (comme c’est le cas des machines à calculer). a. Ecriture Standard : Un nombre réel s’écrit dans ce cas sous forme d’une partie entière et une partie décimale avec un séparateur qui n’est plus la virgule mais le point. Si on veut représenter les réels 5 ; 2,69 et –5,25 on aura l’écriture suivante :5.0, 2.69 et -5.25 b. Ecriture Scientifique : Un nombre réel s’écrira sous forme d’une mantisse et d’un exposant. Par exemple, si on veut représenter 6,24 alors on écrira 624 * e -2 III.4 Les opérations de base sur le type Réel : Sur le type Réel, on distingue deux catégories d’opérations : o o Les opérations arithmétiques Les opérations algorithmiques telles que la lecture, l’écriture, etc ; elles feront l’objet d’un chapitre à part. Opération Symbole Addition Soustraction Multiplication Division normale Fonctions prédéfinies Carré(X) RacineCarré(x) + * / Exemple A=5.5, B=7.0 ; A+B renvoie 12.5 A=5.5, B=7.0 ; A-B renvoie –2.5 A=5.5, B=7.0 ; A* B renvoie 38.5 A=5.5, B=7.0 ; A / B renvoie 0.79 Retourne le carré de X Retourne la racine carré de X si X>=0, sinon elle retourne erreur Tableau 3: Opérateurs et fonctions sur les réels. Application : On vous demande de calculer le côté BC d’un triangle ABC rectangle en A. B A C IV. Le Type Caractère : IV.1 Définition : Le type Caractère est ensemble de caractères comportant : o o o o Les 26 lettres alphabétiques en majuscules (‘A’ jusqu’à ‘Z’) Les 26 lettres alphabétiques en minuscules (‘a’ jusqu’à ‘z’) Les 10 chiffres arabes (‘0’ jusqu’à ‘9’). Quelques caractères spéciaux. Remarque : Chaque valeur d’un caractère est délimitée par deux apostrophes ‘ ’. Exemples : ‘A’, ‘a’, ‘+’, ‘10’…. 14 LES TYPES SIMPLES 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. Algorithme nomalgo Constante …………. Type ………………. Variable …………… C’est ici !!!! Début <action1> Variable Nomvar : Caractère (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 : 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 (voir Annexe A). 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 o Les opérations propres aux caractères Les opérations algorithmiques telles que la lecture, l’écriture, etc ; elles feront l’objet d’un chapitre à part. Opération Suivant Précédent Symbole Suiv Prec Exemple Si A=’C’ alors Suiv(A) renvoie ‘D’ Si A=’C’ alors Prec(A) renvoie ‘B’ Tableau 4: 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’. 15 LES TYPES SIMPLES 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 : 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. Algorithme nomalgo Constante …………. Type ………………. Variable …………… C’est ici !!!! Début <action1> <action2> 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 : Caractère 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. 16 LES TYPES SIMPLES OU (OR): la disjonction. En les appliquant sur des variables booléennes, voilà ce que ça donne : X Faux Faux Vrai Vrai Y Faux Vrai Faux Vrai Non X Vrai Vrai Faux Faux X Et Y Faux Faux Faux Vrai 16 X Ou Y Faux Vrai Vrai Vrai Tableau 5: Table de vérité pour les opérateurs ET, OU et NON. Les lois de Morgan : NON (X ET Y) NON X OU NON Y NON (X OU Y) NON X ET NON Y Remarque : Il existe un ordre de priorité entre les opérateurs logiques : - la négation NON est prioritaire par apport à la conjonction ET. 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 Application : Soient les propositions u, v, w. Simplifier l’expression suivante : (u ET v) OU NON v. 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 17 LES TYPES SIMPLES 17 18