corrigé chap. 4
Transcription
corrigé chap. 4
288 INTRODUCTION À LA PROGRAMMATION EN PASCAL/DELPHI Chapitre 4 LES TYPES DE DONNÉES DU LANGAGE PASCAL 4.1 4.2 a) Voir les sections 4.2.1 et 4.2.2. b) Voir la section 4.2.1. a) Comme on a n = 32, il peut traiter les entiers allant de 0 à 2n–1 donc de 0 à 2 147 483 647. Ainsi, ils sont au nombre de 2n-1 = 2 147 483 647. b) Comme on va travailler sur des entiers positifs et négatifs, un bit doit être consacré au signe. On se retrouve ainsi avec : –2n–1 < nombres < 2n–1 – 1, soit –231 < n < 231 – 1. 4.3 Voir la section 4.2.2. 4.4 VAR prénom, nom : STRING[30]; poste : STRING[30]; 4.5 mmax = 26 – 1 = 63; emax = 24 – 1 = 15; donc rmax = 0.63 × 1015 (ou 0.63E15). 4.6 Le nombre peut être réécrit comme suit : 0.548753628914 × 106. 17 bits dont la mantisse 15 bits dont l’exposant (1 signe + 16 caractères) (1 signe + 14 caractères) s c s c 0 1101011001011011 0 00000000000110 car le nombre 6 correspond en binaire à 110 (1 × 22 + 1 × 21 + 0 × 20, tandis que si on mettait des 1 partout dans l’espace alloué à la mantisse, le plus grand nombre représenté serait de 216 – 1, soit environ 65 535. LE CORRIGÉ DES EXERCICES Pourdoit la mantisse, n'a retenudes que 5lespremiers 5 premières décimales (54 875) parcedécimal; que la nombre On alors seoncontenter chiffres suivant le point 54875 le plus grandàque l'on0110 puisse0101 former avecComme 16 bits est 2 -1 soit 65 535. correspond 1101 1011. l’espace alloué ne permet que 16 En binaire, 54 875 est représenté par 1101011001011011. bits, nous devons éliminer un autre nombre, ici le dernier 5 pour insérer dans l’espace les bits suivants: 0101001010000111. En résumé, on perd la partie 53628914 en Pour16l'exposant, 6 représente sur 14 bits par 00000000000110. précision. 4.7 4.8 a) Voir la section 4.3.4. b) VAR E1, E2, E3, E4, E5 : BOOLEAN; Un livre est un exemple d’objet en trois dimensions puisqu’il présente des informations en deux dimensions (lignes et colonnes) sur une seule page, et qu’il comprend plus d’une page (chaque page est une tranche constituée de lignes et de colonnes). Oui, objet [1, 2, 3] désigne le caractère se situant à la 3e colonne de la 2e ligne de la 1re page. 4.9 a) Voir les sections 4.4.1 et 4.4.2. b) Un tableau à trois dimensions comportant 5 tranches, 5 lignes et 10 colonnes. 4.10 Voir la section 4.4.1. 4.11 TYPE employe = RECORD numero : INTEGER; nom, prenom : STRING[30]; nas : STRING[11]; adresse = RECORD no : INTEGER; rue : STRING[20]; apt : STRING[5]; ville : STRING[25]; END; END; 289 290 INTRODUCTION À LA PROGRAMMATION EN PASCAL/DELPHI 4.12 VAR fich1, fich2 : FILE OF employe; 4.13 Puisque l’on ignore le nombre de personnes de la liste, le type « tableau » (ARRAY) ne convient pas; on doit utiliser une structure dynamique comme type de données : TYPE adres = RECORD numero : INTEGER; rue : STRING[30]; apt : STRING[5]; ville : STRING[25]; END; listepers = ^ personne; personne = RECORD nom, prenom : STRING[20]; adresse : adres; age : 1..150; suivant : listepers; END; 4.14 4.15 a) 30 b) 1.56 c) 4.50 d) 900 e) 8 a) Déclaration d’un type « note » prenant les valeurs entières entre 50 et 100 (déclaration par intervalle). b) Déclaration d’un type « formation » correspondant à une chaîne de caractères de longueur 30. c) Déclaration d’une variable « reponse » de type booléen. d) Déclaration d’un tableau « tabool » de 5 lignes et de 8 colonnes dont les éléments ont pour valeur « oui » ou « non ».