Difference between revisions of "Basic Pascal Tutorial/Chapter 1/Variables and Data Types/fr"

From Free Pascal wiki
Jump to navigationJump to search
m
Line 127: Line 127:
 
|[[Assignment_and_Operations/fr|suivant]]
 
|[[Assignment_and_Operations/fr|suivant]]
 
|}
 
|}
 
[[Category:Pascal]]
 
[[Category: Object Pascal Introduction]]
 

Revision as of 11:11, 20 June 2015

български (bg) Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

1D - Variables et types de donnée (auteur: Tao Yue, état: traduit)

Les variables sont similaires aux constantes mais leurs valeurs peuvent changer que le programme tourne. Les variables doivent d'abord être déclarées avant de pouvoir être utilisées:

var
  IdentifierList1 : DataType1;
  IdentifierList2 : DataType2;
  IdentifierList3 : DataType3;
  ...

IdentifierList est une série d'identificateurs, séparés par des virgules (,). Tous les identificateurs dans une liste sont déclarés comme étant du même type.

Les types de donnée de base dans Pascal incluent:

  • les entiers (integer)
  • les réels (real)
  • les caractères (char)
  • les booléens (boolean)

le Pascal standard ne prévoit pas de type chaîne mais les compilateurs modernes le font. Les développeurs Pascal expérimentés utilise aussi des pointeurs pour l'allocation dynamique de mémoire, les objets pour la programmation orientée objet et d'autres choses mais vous êtes ici pour débuter.

Plus d'informations sur les types de données de Pascal:

  • Le type de donnée integer peut contenir des entiers de -32768 à 32767. C'est une plage signée qui peut être contenue dans un un mot de 16 bits, c'est un héritage de l'époque où les CPU 16 bits étaient communes. En raison de la compatibilité descendante, un entier signé sur 32 bits est un longint et peut manier une plage de valeurs supérieure.
  • Le type de donnée real a une plage de 3.4x10-38 à 3.4x1038, en plus de la même plage sur le côté négatif et de 0. Les valeurs réelles sont stockées dans l'ordinateur de manière similaire à la notation scientifique, avec une mantisse et un exposant, avec quelques complications. Dans Pascal, vous pouvez exprimer les valeurs réelles soit en notation à virgule fixe soit en notation scientifique avec le caractère E séparant la mantisse de l'exposant. Ainsi, 452.13 est la même chose que 4.5213e2.
  • Le type de donnée char contient les caractères. Assurez-vous de les délimiter par des guillemets, comme ici: 'a' 'B' '+' le Pascal standard utilise des caractères sur 8 bits, non des 16 bits comme Unicode, utilisé pour représenter tous les jeux de caractères dans un système de code unifié, qui n'est pas supporté.
  • Le WideChar est un caractère sur 2 octets (un élément du jeu de caractère à double octet) et peut contenir un caractère unicode.
  • Free Pascal supporte l'implémentation du type PChar. PChar est défini comme un pointeur vers un type Char, mais permet des opérations supplémentaires. Le type PChar peut être mieux compris comme une chaîne à zéro terminal comme en C, i.e. une variable PChar est un pointeur sur un tableau de type Char qui se termine par un caractère nul (#0). Free Pascal autorise l'initialisation des constantes typées PChar ou l'affectation directe. Par exemple, les morceaux de codes suivants sont équivalents:
program one;  
var P : PChar;  
begin  
  P := 'This is a null-terminated string.';  
  WriteLn (P);  
end.
program two;  
const P : PChar = 'This is a null-terminated string.';  
begin  
  WriteLn (P);  
end.
  • Free Pascal supporte les types String comme définis dans Turbo Pascal: une suite de caractères avec une spécification de taille optionnelle (à la déclaration). Il supporte aussi les ansistring (de taille illimitée) comme dans Delphi et peuvent être déclarées comme:
variable_name : string;                    // if no length is given, it defaults to 255
variable_name : string[length];            // where:  1 < length <= 255
  • Le type prédéfini ShortString est défini comme étant une chaîne de taille 255.
  • AnsiStrings sont des chaînes de taille illimitée. Elles sont munies du comptage de références et sont garanties à zéro terminal. En interne, une ansistring est traitée comme un pointeur: le contenu réel de la chaîne est stocké dans le tas, il est alloué autant de mémoire que nécessaire pour stocker son contenu.
  • Widestrings (utilisé pour représenter des chaînes de caractères unicode) sont implémentées de manière proche des ansistring: comptage de référence, tableaux à zéro terminal, seulement elles sont implémentées comme des tableaux de WideChar au lieu de Chars.
  • Le type de donnée boolean ne peut avoir que deux valeurs: TRUE ou FALSE.

Un exemple de déclaration de plusieurs variables est:

var
  age, year, grade : integer;
  circumference : real;
  LetterGrade : char;
  DidYouFail : Boolean;

Obtenu du manuel de FPC

integer types
Type Plage Octets
Byte 0 .. 255 1
Shortint -128 .. 127 1
Smallint -32768 .. 32767 2
Word 0 .. 65535 2
Integer smallint or longint 2 or 4
Cardinal longword 4
Longint -2147483648 .. 2147483647 4
Longword 0..4294967295 4
Int64 -9223372036854775808 .. 9223372036854775807 8
QWord 0 .. 18446744073709551615 8

Free Pascal does automatic type conversion in expressions where different kinds of integer types are used.

real types
Type Plage Significant digits Octets
Real platform dependent ??? 4 or 8
Single 1.5E-45 .. 3.4E38 7-8 4
Double 5.0E-324 .. 1.7E308 15-16 8
Extended 1.9E-4932 .. 1.1E4932 19-20 10
Comp -2E64+1 .. 2E63-1 19-20 8
Currency -922337203685477.5808 922337203685477.5807 8


boolean types
Type Octets Ord(True)
Boolean 1 1
ByteBool 1 Toute valeur non nulle
WordBool 2 Toute valeur non nulle
LongBool 4 Toute valeur non nulle
précédent table des matières suivant