Учебники

Паскаль — Типы переменных

Переменная — это не что иное, как имя, данное области памяти, которой могут манипулировать наши программы. Каждая переменная в Паскале имеет определенный тип, который определяет размер и расположение памяти переменной; диапазон значений, которые могут быть сохранены в этой памяти; и набор операций, которые могут быть применены к переменной.

Имя переменной может состоять из букв, цифр и символа подчеркивания. Он должен начинаться либо с буквы, либо с подчеркивания. Паскаль не чувствителен к регистру , поэтому заглавные и строчные буквы здесь означают одно и то же. Основываясь на базовых типах, описанных в предыдущей главе, будут следующие базовые типы переменных:

Основные переменные в Паскале

Sr.No Тип и описание
1

символ

Обычно один октет (один байт). Это целочисленный тип.

2

целое число

Наиболее натуральный размер целого числа для машины.

3

реальный

Значение с плавающей запятой одинарной точности.

4

логический

Указывает истинные или ложные логические значения. Это также целочисленный тип.

5

Перечислимый

Определяет пользовательский список.

6

Поддиапа- зон

Представляет переменные, значения которых лежат в диапазоне.

7

строка

Хранит массив символов.

символ

Обычно один октет (один байт). Это целочисленный тип.

целое число

Наиболее натуральный размер целого числа для машины.

реальный

Значение с плавающей запятой одинарной точности.

логический

Указывает истинные или ложные логические значения. Это также целочисленный тип.

Перечислимый

Определяет пользовательский список.

Поддиапа- зон

Представляет переменные, значения которых лежат в диапазоне.

строка

Хранит массив символов.

Язык программирования Pascal также позволяет определять различные другие типы переменных, которые мы рассмотрим в следующих главах, таких как Pointer, Array, Records, Sets, Files и т. Д. В этой главе мы изучим только основные типы переменных.

Объявление переменных в Паскале

Все переменные должны быть объявлены до того, как мы используем их в программе Pascal. Все объявления переменных сопровождаются ключевым словом var . Объявление определяет список переменных, за которыми следует двоеточие (:) и тип. Синтаксис объявления переменной —

var
variable_list : type;

Здесь тип должен быть допустимым типом данных Pascal, включая символьные, целые, действительные, логические или любые другие определяемые пользователем типы данных и т. Д., А variable_list может состоять из одного или нескольких имен идентификаторов, разделенных запятыми. Некоторые действительные объявления переменных показаны здесь —

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

В предыдущем уроке мы обсуждали, что Pascal позволяет объявлять тип. Тип может быть идентифицирован по имени или идентификатору. Этот тип может использоваться для определения переменных этого типа. Например,

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

Теперь определенные типы могут использоваться в объявлениях переменных —

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

Обратите внимание на разницу между объявлением типа и объявлением var . Объявление типа указывает категорию или класс типов, таких как целое число, вещественное и т. Д., Тогда как спецификация переменной указывает тип значений, которые может принимать переменная. Вы можете сравнить объявление типа в Pascal с typedef в C. Самое главное, имя переменной относится к области памяти, где будет храниться значение переменной. Это не так с объявлением типа.

Инициализация переменной в Паскале

Переменным присваивается значение с двоеточием и знаком равенства, за которым следует постоянное выражение. Общая форма присвоения значения —

variable_name := value;

По умолчанию переменные в Паскале не инициализируются с нуля. Они могут содержать мусорные значения. Поэтому лучше инициализировать переменные в программе. Переменные могут быть инициализированы (им присвоено начальное значение) в их объявлении. За инициализацией следует ключевое слово var, а синтаксис инициализации следующий:

var
variable_name : type = value;

Вот некоторые примеры:

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

Давайте посмотрим на пример, который использует различные типы переменных, которые обсуждались до сих пор —

Live Demo

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.

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

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

Перечисляемые переменные

Вы видели, как использовать простые типы переменных, такие как integer, real и boolean. Теперь давайте посмотрим переменные перечислимого типа, которые можно определить как —

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

Когда вы объявили перечислимый тип, вы можете объявить переменные этого типа. Например,

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

Следующий пример иллюстрирует концепцию —

Live Demo

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.

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

Which drink do you want?
You can drink limejuice

Переменные поддиапазона

Переменные поддиапазона объявляются как —

var
subrange-name : lowerlim ... uperlim;

Примеры поддиапазонных переменных:

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

Следующая программа иллюстрирует концепцию —

Live Demo

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.

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —