Pascal - Types de variables

Une variable n'est rien d'autre qu'un nom donné à une zone de stockage que nos programmes peuvent manipuler. Chaque variable en Pascal a un type spécifique, qui détermine la taille et la disposition de la mémoire de la variable; la plage de valeurs pouvant être stockées dans cette mémoire; et l'ensemble des opérations qui peuvent être appliquées à la variable.

Le nom d'une variable peut être composé de lettres, de chiffres et du caractère de soulignement. Il doit commencer par une lettre ou un trait de soulignement. Pascal estnot case-sensitive, donc les lettres majuscules et minuscules signifient la même chose ici. Sur la base des types de base expliqués dans le chapitre précédent, il y aura les types de variables de base suivants -

Variables de base en Pascal

Sr. Non Type et description
1

Character

Généralement un seul octet (un octet). Il s'agit d'un type entier.

2

Integer

La taille entière la plus naturelle de la machine.

3

Real

Une valeur à virgule flottante simple précision.

4

Boolean

Spécifie des valeurs logiques vraies ou fausses. C'est également un type entier.

5

Enumerated

Spécifie une liste définie par l'utilisateur.

6

Subrange

Représente des variables dont les valeurs se trouvent dans une plage.

sept

String

Stocke un tableau de caractères.

Le langage de programmation Pascal permet également de définir divers autres types de variables, que nous aborderons dans les chapitres suivants comme Pointer, Array, Records, Sets, and Files, etc. Pour ce chapitre, étudions uniquement les types de variables de base.

Déclaration de variable en Pascal

Toutes les variables doivent être déclarées avant de les utiliser dans le programme Pascal. Toutes les déclarations de variables sont suivies du mot-clé var . Une déclaration spécifie une liste de variables, suivie de deux points (:) et du type. La syntaxe de la déclaration de variable est -

var
variable_list : type;

Ici, type doit être un type de données Pascal valide comprenant un caractère, un entier, un réel, un booléen ou tout autre type de données défini par l'utilisateur, etc., et variable_list peut être constitué d'un ou plusieurs noms d'identificateurs séparés par des virgules. Certaines déclarations de variables valides sont affichées ici -

var
age, weekdays : integer;
taxrate, net_income: real;
choice, isready: boolean;
initials, grade: char;
name, surname : string;

Dans le tutoriel précédent, nous avons expliqué que Pascal permet de déclarer un type. Un type peut être identifié par un nom ou un identifiant. Ce type peut être utilisé pour définir des variables de ce type. Par exemple,

type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;

Maintenant, les types ainsi définis peuvent être utilisés dans les déclarations de variables -

var
weekdays, holidays : days;
choice: yes;
student_name, emp_name : name;
capital: city;
cost: expenses;

Veuillez noter la différence entre la déclaration de type et la déclaration var . La déclaration de type indique la catégorie ou la classe des types tels que entier, réel, etc., tandis que la spécification de variable indique le type de valeurs qu'une variable peut prendre. Vous pouvez comparer la déclaration de type en Pascal avec typedef en C. Plus important encore, le nom de la variable fait référence à l'emplacement mémoire où la valeur de la variable va être stockée. Ce n'est pas le cas avec la déclaration de type.

Initialisation de variable en Pascal

Les variables se voient attribuer une valeur avec deux points et le signe égal, suivi d'une expression constante. La forme générale d'attribution d'une valeur est -

variable_name := value;

Par défaut, les variables en Pascal ne sont pas initialisées avec zéro. Ils peuvent contenir des valeurs de déchets. Il est donc préférable d'initialiser des variables dans un programme. Les variables peuvent être initialisées (affectées d'une valeur initiale) dans leur déclaration. L'initialisation est suivie duvar mot-clé et la syntaxe d'initialisation est la suivante -

var
variable_name : type = value;

Quelques exemples sont -

age: integer = 15;
taxrate: real = 0.5;
grade: char = 'A';
name: string = 'John Smith';

Prenons un exemple, qui utilise divers types de variables discutées jusqu'à présent -

program Greetings;
const
message = ' Welcome to the world of Pascal ';

type
name = string;
var
firstname, surname: name;

begin
   writeln('Please enter your first name: ');
   readln(firstname);
   
   writeln('Please enter your surname: ');
   readln(surname);
   
   writeln;
   writeln(message, ' ', firstname, ' ', surname);
end.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Please enter your first name:
John
Please enter your surname:
Smith
Welcome to the world of Pascal John Smith

Variables énumérées

Vous avez vu comment utiliser des types de variables simples comme entier, réel et booléen. Voyons maintenant les variables de type énuméré, qui peuvent être définies comme -

var
var1, var2, ...  : enum-identifier;

Lorsque vous avez déclaré un type énuméré, vous pouvez déclarer des variables de ce type. Par exemple,

type
months = (January, February, March, April, May, June, July, August, September, October, November, December);
Var
m: months;
...
M := January;

L'exemple suivant illustre le concept -

program exEnumeration;
type
beverage = (coffee, tea, milk, water, coke, limejuice);

var
drink:beverage;

begin
   writeln('Which drink do you want?');
   drink := limejuice;
   
   writeln('You can drink ', drink);
end.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Which drink do you want?
You can drink limejuice

Variables de sous-plage

Les variables de sous-plage sont déclarées comme -

var
subrange-name : lowerlim ... uperlim;

Des exemples de variables de sous-plage sont -

var
marks: 1 ... 100;
grade: 'A' ... 'E';
age: 1 ... 25;

Le programme suivant illustre le concept -

program exSubrange;
var
marks: 1 .. 100;
grade: 'A' .. 'E';

begin
   writeln( 'Enter your marks(1 - 100): ');
   readln(marks);
   
   writeln( 'Enter your grade(A - E): ');
   readln(grade);
   
   writeln('Marks: ' , marks, ' Grade: ', grade);
end.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Enter your marks(1 - 100): 
100
Enter your grade(A - E):
A
Marks: 100 Grade: A