Виды переменных в паскале. Pascal

27.09.2019

Данные - это общее понятие для всего того, с чем оперирует вычислительная машина. Любой тип данных определяет множество значений, которые может принимать та или иная переменная, и те операции, которые можно к ним применять.С каждой встречающейся в программе переменной должен быть сопоставлен один и только один тип.

В Паскале существуют простые типы двух видов: ординальные типы и вещественный тип. Ординальный тип либо определяется программистом (перечисляемый тип или диапазонный), либо обозначается именем одного из трех предописанных ординальных типов: Boolean, Integer или Char . Вещественный тип обозначается именем предописанного типа Real .

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

Диапазонный (ограниченный) тип задается с помощью минимального и максимального значений, относящихся к предварительно описанному ординальному типу. Так порождается новый ординальный тип.

Ординальные типы данных

Ординальный тип данных описывает конечное и упорядоченное множество значений. Эти значения отображаются на последовательность порядковых номеров 0,1,2,...; исключение делается лишь для целых ординальных чисел, которые отображаются сами на себя. Каждый ординальный тип имеет минимальное и максимальное значение. Для всех значений, кроме минимального, существует предшествующее значение, а для всех значений, кроме максимального - последущее.

Предописанные функции succ, pred, ord воспринимают аргументы любого из ординальных типов:
succ(X) - дает следующее за X ординальное значение
pred(X) - дает предшествующее X ординальное значение
ord(X) - дает ординальный номер для X

Для всех ординальных типов существуют операции отношения = , = и > , причем предполагается, что оба операнда одного и того же типа.

Логический тип (Boolean)

Логическое значение - одно из двух истиностных значений, обозначаемых предопределенными именами false и true .

Существуют следующие логические операции, дающие логическое значение при применении их к логическим операндам:
and - логическое И
or - логическое ИЛИ
not - логическое НЕ

Также любая из операций отношения (= , = , > , in) поставляет логический результат.

Кроме того логический тип определен так, что false

Существуют и предописанные логические функции (т.е функции, дающие логический результат):
odd(F) - true, если целое F-нечетное и результат false, если F-четное
eoln(F) - проверка на конец строки
eof(F) - проверка на конец файла

Целый тип (Integer)

Тип integer включает в себя множество целых чисел.

При работе с целыми операндами следующие арифметические операции дают целые значения:
* - умножение
div - целая часть от деления
mod - остаток от деления
+ - сложение
- - вычитание

В Паскале существует также предописанная константа с именем MaxInt , которая содержит максимальное значение целого типа Integer и равна 32767

Целый результат дают и четыре важные предописанные функции:
abs(I) - абсолютное значение целого значения I
sgr(I) - целое значение I, возведенное в квадрат при условии, что I trunc(R) - выдает целую часть вещественного числа R
round(R) - выдает округленное целое. При этом: для R>0 означает trunc(R+0.5) , а для R

Если I - целое значение, то:
succ(I) - дает следующее целое значение (I+1)
pred(I) - дает предыдущее целое значение (I-1)

Символьный тип (Char)

Значениями типа Char являются элементы конечного и упорядоченного множества символов. Значения такого типа обозначаются одним символом, заключенным в одни кавычки (апострофы). Если нужен сам апостроф, то он пишется дважды.
Примеры: "*" "G" "3" """" "X"

    Для типа Char справедливы следующие минимальные допущения:
  1. Десятичные цифры от 0 до 9 упорядочены в соответствии с их числовыми значениями и следуют одна за другой (например, succ("5") = "6").
  2. Могут существовать прописные буквы от "A" до "Z"; если это так, то они упорядочены в алфавитном порядке, но не обязательно следуют одна за другой (например, "A"
  3. Могут существовать строчные буквы от "a" до "z"; если это так, то они упорядочены в алфавитном порядке, но не обязательно следуют одна за другой (например, "a"

Для отображения заданного множества символов на порядковые номера и обратно существуют две предописанные функции:
ord(C) - дает порядковый номер символа С в упомянутом упорядоченном множестве символов
chr(I) - дает символ с порядковым номером I

Для аргументов типа Char предописанные функции pred и succ могут быть определены таким образом:
pred(C) = chr(ord(C)-I)
succ(C) = chr(ord(C)+I)

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

Вещественный тип (Real)

Значениями вещественного типа являются элементы определяемого реализацией подмножества вещественных чисел.

Все операции над величинами вещественного типа - приближенные, их точность определяется реализацией (машиной), с которой вы имеете дело. Вещественный тип относится к простому типу, это не ординальный тип. У вещественных значений нет ординального номера и для любого из них не существует предшествующего и следующего значений.

Если хотя бы один из операндов - вещественного типа (другой может быть и целым), следующие операции дают вещественный результат:
* - умножение
/ - деление (оба операнда могут быть целыми, но результат всегда вещественный)
+ - сложение
- - вычитание

Существуют предописанные функции, дающие вещественный результат при вещественном аргументе:
abs(R) - абсолютное значение R
sqr(R) - R в квадрате, если результат не выходит за диапазон вещественных чисел

А эти предописанные функции дают вещественный результат при целом или вещественном аргументе:
sin(X) - дает синус Х; Х выражено в радианах
cos(X) - дает косинус Х; Х выражено в радианах
arctan(X) - дает выраженное в радианах значение арктангенса от Х
ln(X) - дает значение натурального (с основанием е) логарифма для Х, Х>0
exp(X) - дает значение экспоненциальной функции (т.е в степени Х)
sqrt(X) - дает значение корня квадратного Х, Х>=0

Предупреждение. К вещественным аргументам нельзя применять функции pred, succ Нельзя использовать значения вещественного типа при индексировании массивов, для управления в цикле с параметром, для определения базового типа множеств, для индексирования в операторе варианта.

Наиболее распространенные в математике числовые типы – это целые числа, которые представляют бесконечное множество дискретных значений, и действительные числа, которые представляют неограниченный континуум значений.

Описание числовых типов данных (целые) Паскаля

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

С целыми числовыми типами данных Паскаля можно выполнять следующие операции:

  • Арифметические:
    сложение(+);
    вычитание(-);
    умножение(*);
    остаток от деления (mod);
    возведение в степень;
    унарный плюс (+);
    унарный минус (-).
  • Операции отношения:
    отношение равенства (=);
    отношение неравенства (<>);
    отношение меньше (<);
    отношение больше (>);
    отношение не меньше (>=);
    отношение не больше (<=).

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

Особое внимание следует уделить операции деления целых числовых типов данных. В Паскале допускается две операции деления, которые соответственно обозначаются "/" и div . Нужно знать, что результатом деления "/" является не целое, а вещественное число (это справедливо, даже если вы делите 8 на 2, т.е. 8/2=4.0). Деление div – это целочисленное деление , т.е. тип результата целый.

Описание числовых типов данных (действительные) Паскаля

К вещественному числовому типу данных относится подмножество вещественных чисел, которые могут быть представлены в так называемом формате с плавающей запятой и фиксированным числом цифр. С плавающей точкой каждый числовой тип данных представляется в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая – порядком. В общем виде числовой тип данных в форме с плавающей точкой может быть представлено так: X= {+|-}MP {+ | -} r , где M – мантисса числа; r – порядок числа (r – целое число); P – основание системы счисления. Например, для десятичного основания представление 2Е-1 (здесь Е – основание десятичной системы счисления) будет иметь вид: 2*10 -1 =0.2, а представление 1.234Е5 будет соответствовать: 1.234*10 5 =123400.0.

В Паскале используются следующие типы вещественных чисел, которые определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа:

При описании вещественной переменной типа real в памяти компьютера будет создана переменная размерностью 4 байта. При этом 3 байта будут отданы под мантиссу, а один – под порядок.

Над действительными числовыми типами данных можно выполнять следующие операции:

  • Арифметические:
    сложение (+);
    вычитание(-);
    умножение(*);
    деление(/);
    возведение в степень;
    унарный плюс (+);
    унарный минус (-).
  • Операции отношения:
    отношение неравенства (<>);
    отношение меньше (<);
    отношение больше (>);
    отношение не меньше (>=);
    отношение не больше (<=).

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

Особое положение в Паскале занимает числовой тип данных comp , который трактуется как вещественное число без экспоненциальной и дробной частей. Фактически, comp – это «большое» целое число со знаком, сохраняющее 19..20 значащих десятичных цифр. В то же время числовой тип данных comp в выражениях полностью совместим с другими вещественными типами: над ним определены все вещественные операции, он может использоваться как аргумент математических функций и т.д.

О преобразовании числовых типов данных Паскаля

В Паскале почти невозможны неявные (автоматические) преобразования числовых типов данных. Исключение сделано только для типа integer , который разрешается использовать в выражениях типа real . Например, если переменные описаны следующим образом:

Var X: integer; Y: real;

То оператор

будет синтаксически правильным, хотя справа от знака присваивания стоит целочисленное выражение, а слева – вещественная переменная, компилятор сделает преобразование числовых типов данных автоматически. Обратное же преобразование автоматически типа real в тип integer в Паскале невозможно. Вспомним, какое количество байт выделяется под переменные типа integer и real : под целочисленный тип данных integer выделяется 2 байта памяти, а под real – 6 байта. Для преобразования real в integer имеются две встроенные функции: round (x) округляет вещественное x до ближайшего целого, trunc (x) усекает вещественное число путем отбрасывания дробной части.

Тип данных определяет множество допустимых значений и множество допустимых операций.

Простые типы.

Простые типы делятся на ПОРЯДКОВЫЕ и ВЕЩЕСТВЕННЫЕ.

1. ПОРЯДКОВЫЕ ТИПЫ , в свою очередь, бывают:

а) целые

В Паскале определено 5 целых типов, которые определяются в зависимости от знака и значения, которое будет принимать переменная.

Название типа

Длина (в байтах)

Диапазон значений

32 768...+32 767

2 147 483 648...+2 147 483 647

б) логический

Название этого типа BOOLEAN. Значениями логического типа может быть одна из логических констант: TRUE (истина) или FALSE (ложь).

в) символьный

Название этого типа CHAR - занимает 1 байт. Значением символьного типа является множество всех символов ПК. Каждому символу присваивается целое число в диапозоне 0…255. Это число служит кодом внутреннего представления символа.

2. ВЕЩЕСТВЕННЫЕ ТИПЫ .

В отличие от порядковых типов, значения которых всегда сопоставляются с рядом целых чисел и, следовательно, представляются в ПК абсолютно точно, значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.

Длина числового типа данных, байт

Название числового типа данных

Количество значащих цифр числового типа данных

Диапазон десятичного порядка числового типа данных

2*1063 +1..+2*1063 -1

СТРЕКТУРИРОВАННЫЕ ТИПЫ

Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов.

Структурированные типы данных в отличие от простых задают множества сложных значений с одним общим именем. Можно сказать, что структурные типы определяют некоторый способ образования новых типов из уже имеющихся.

Существует несколько методов структурирования. По способу организации и типу компонентов в сложных типах данных выделяют следующие разновидности: регулярный тип (массивы); комбинированный тип (записи); файловый тип (файлы); множественный тип (множества); строковый тип (строки); в языке Турбо Паскаль версии 6.0 и старше введен объектный тип (объекты).

В отличие от простых типов данных, данные структурированного типа характеризуются множественностью образующих этот тип элементов, т.е. переменная или константа структурированного типа всегда имеет несколько компонентов. Каждый компонент в свою очередь может принадлежать структурированному типу, т.е. возможна вложенность типов.

1. Массивы

Массивы в Турбо Паскале во многом схожи с аналогичными типами данных в других языках программирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием порядкового номера.

Описание массива задаётся следующим образом:

<имя типа> = array [<сп.инд.типов>] of <тип>

Здесь <имя типа> - правильный идентификатор;

Array, of – зарезервированные слова (массив, из);

<сп.инд.типов> - список из одного или нескольких индексных типов, разделённых запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса;

<тип> - любой тип Турбо Паскаля.

В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LongInt и типов-диапазонов с базовым типом LongInt.

Глубина вложенности структурированных типов вообще, а следовательно, и массивов – произвольная, поэтому количество элементов в списке индексов типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления любого массива не может быть больше 65520 байт.

2. Записи

Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.

Структура объявления типа записи такова:

< имя типа > = RECORD < сп . полей > END

Здесь <имя типа> - правильный идентификатор;

RECORD, END – зарезервированные слова (запись, конец);

<сп.полей> - список полей; представляет собой последовательность разделов записи, между которыми ставится точка с запятой.

3. Множества

Множества – это набор однотипных логических связанных друг с другом объектов. Характер связей между объектами лишь подразумевается программистом и никак не контролируется Турбо Паскалем. количество элементов, входящих в множество, может меняться в пределах от 0до 256 (множество, не содержащее элементов, называется пустым).именно непостоянством количества своих элементов множества отличаются от массивов и записей.

Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы, причём порядок следования элементов множества безразличен. Если все элементы одного множества входят также и в другое, говорят о включении первого множества во второе.

Описание типа множества имеет вид:

< имя типа > = SET OF < баз . тип >

Здесь <имя типа> - правильный индификатор;

SET, OF – зарезервированные слова (множество, из);

<баз.тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD, INTEGER и LONGINT.

Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми; список обрамляется квадратными скобками. Спецификациями элементов могут быть константы или выражения базового типа, а также – тип-диапазон того же базового типа.

4. Файлы

Под файлом понимается либо именованная область внешней памяти ПК, либо логическое устройство – потенциальный источник или приёмник информации.

Любой файл имеет три характерные особенности

    у него есть имя, что даёт возможность программе работать одновременно с несколькими файлами.

    он содержит компоненты одного типа. Типом компонентов может быть любой тип Турбо Паскаля, кроме файлов. Иными словами, нельзя создать «файл файлов».

    длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только ёмкостью устройств внешней памяти.

Файловый тип или переменную файлового типа можно задать одним из трёх способов:

< имя >= FILE OF < тип >;

< имя >=TEXT;

<имя> = FILE;

Здесь <имя> - имя файлового типа (правильный индификатор);

FILE, OF – зарезервированные слова (файл, из);

TEXT – имя стандартного типа текстовых файлов;

<тип> - любой тип Турбо Паскаля, кроме файлов.

В зависимости от способа объявления можно выделить три вида файлов:

· типизированные файлы (задаются предложением FILE OF…);

· текстовые файлы (определяются типом TEXT);

· нетипизированные файлы (определяются типом FILE).

О преобразовании числовых типов данных Паскаля

В Паскале почти невозможны неявные (автоматические) преобразования числовых типов данных. Исключение сделано только для типа integer, который разрешается использовать в выражениях типа real. Например, если переменные описаны следующим образом:

Var X: integer; Y: real;

то оператор

будет синтаксически правильным, хотя справа от знака присваивания стоит целочисленное выражение, а слева – вещественная переменная, компилятор сделает преобразование числовых типов данных автоматически. Обратное же преобразование автоматически типа real в тип integer в Паскале невозможно. Вспомним, какое количество байт выделяется под переменные типа integer и real: под целочисленный тип данных integer выделяется 2 байта памяти, а под real – 6 байта. Для преобразования real в integer имеются две встроенные функции: round(x) округляет вещественное x до ближайшего целого, trunc(x) усекает вещественное число путем отбрасывания дробной части.

Наиболее важными элементами программы являются переменные. Именно они влияют на ход событий в программе во время ее выполнения. Например, если бы мы не указали значение переменной Name в , кому было бы адресовано приветствие, выведенное программой?

Переменные могут содержать совершенно различные данные. Например, в одной переменной может храниться чье-то имя, в другой – год рождения, в – третьей – рост и т.д. Такие разные данные и представляются компьютером по-разному. Имя – это строка символов, год рождения – целое число, рост – вещественное число (например, рост равен 1.72 м).

Способ представления данных компьютером определяется их типом . Кроме того, тип данных определяет, какие действия разрешается выполнять над этими данными.

Ниже перечислены основные стандартные типы данных языка Турбо-Паскаль:

  1. INTEGER – целочисленные данные в диапазоне от –32768 до 32767, в памяти занимают два байта;
  2. REAL – вещественные числа в диапазоне от 2.9´10 -39 (2.9E-39) до 1.7´10 38 (1.7E38), занимают шесть байт;
  3. CHAR – отдельный символ, один байт;
  4. STRING – строка символов, количество символов в строке (длина строки) ограничивается числом N в квадратных скобках, занимает N+1 байт (если число N не указано, то максимальная длина строки равна 255 символов);
  5. BOOLEAN – логический тип, имеет два значения: FALSE (ложь) и TRUE (истина), один байт.

Заметим, что типы INTEGER, CHAR, и BOOLEAN относятся к порядковым типам (ordinal types).

Как Вы, наверное, помните, при описании переменной после ее имени ставится двоеточие, а затем указывается тип. Если несколько переменных имеют одинаковый тип, их имена можно перечислить через запятую.

Пример описания переменных различных типов:

Delphi/Pascal

var a, b, c: integer; sum: real; Alpha, Beta: char; S: string; S_1: string; t: boolean;

a , b , c : integer ;

sum : real ;

Alpha , Beta : char ;

S : string [ 25 ] ;

S_1 : string ;

t : boolean ;

Заметьте, что переменная S_1 является строкой символов, но при ее описании не указывается длина. В таком случае компилятор сам устанавливает максимально возможную длину – 255 символов.

Для хранения целых и вещественных чисел существуют и другие предопределенные типы данных. Их характеристики приведены в таблицах ниже. Сравните эти типы с типами INTEGER и REAL, также приведенными в таблицах.

Диапазон

Размер в байтах

SHORTINT
INTEGER
LONGINT

2147483648 .. 2147483647

BYTE
WORD

Вещественные типы данных

Диапазон

Число значащих цифр

Размер в байтах

REAL

2.9´10 -39 .. 1.7´10 3 8

SINGLE

1.5´10 – 45 .. 3.4´10 3 8

DOUBLE

5.0´10 -3 24 .. 1.7´10 3 08

EXTENDED

3.4´10 -4932 .. 1.1´10 49 32

COMP

2 63 +1 .. 2 63 -1

Какой тип данных использовать

Столько разных типов, скажете Вы, и какой же из них использовать?
Это зависит от поставленной перед Вами задачи. Например, Вам нужна переменная, в которой Вы будете хранить рост некоторого человека (вещественное значение): в этом случае достаточно использовать тип SINGLE. Если какая-то переменная используется у Вас для подсчета количества определенных объектов (целое положительное значение), то прикиньте, может ли быть это число больше 255, если нет – используйте BYTE, если же может – Вам не обойтись без WORD, а в некоторых случаях может понадобиться и LONGINT.

Чтобы узнать о различных типах побольше, нажмите Shift+F1 в среде Турбо-Паскаль (появится окно индекса помощи), а затем выбирайте интересующий Вас объект (например, наберите ‘type’ или ‘real’).

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

Как и в других языках программирования высокого уровня, типы переменных в Паскале оптимизированы для выполнения задач различной направленности, имеют различный диапазон значений и длину в байтах.

Подразделение типов переменных

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

Рассмотрим порядковые и вещественные типы. К порядковым относятся 5 целых типов, перечисляемый и тип-диапазон.

Порядковые типы

Существует 5 целых типов, различающихся длиной в байтах и диапазоном значений.

Длина Byte и ShortInt - 1 байт. Различие между ними состоит в том, что Byte хранит только неотрицательные значения, а ShortInt позволяет хранить и отрицательные (от -128 до +127). Аналогично соотносятся друг с другом типы Word и Integer, с тем лишь различием, что их размер - 2 байта.

Наконец, LongInt позволяет хранить и отрицательные, и положительные значения, используя 4 байта - в числовом измерении 16-й степени в обе стороны от нуля. Различные виды переменных в Паскале способствуют эффективному решению пользовательских задач, поскольку в каждом конкретном случае может требоваться как малый, так и большой диапазон значений, а также не исключено наличие ограничений по объему выделяемой памяти.

Важно понимать, что нуль занимает столько же места в памяти, сколько и любое другое число. Таким образом, при формировании диапазона значений минимальное отрицательное число по модулю будет на единицу больше, чем положительное: например, от -128 до +127.

Переменные, принадлежащие к могут принимать значение TRUE (истина) или FALSE (ложь) и требуют 1 байт памяти.

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

Вещественные типы

Среди типов переменных в Паскале выделяется несколько числовых с возможностью записи дробной части. Различие между типами Single, Real, Double и Extended сводится к диапазону принимаемых значений, количеству значащих цифр после запятой и размеру в байтах.

В соответствии с порядком, представленным выше, переменная каждого типа будет занимать 4, 6, 8 или 10 байт.

Массивы

Структурированные типы данных являются сложными и позволяют объединять в рамках одной переменной ряд простых значений. Яркий пример представляет собой массив, который можно задать следующим образом:

String=array of char;

Таким образом, мы получили тип под названием String, позволяющий задавать переменные длиной в 100 символов. В последней строке задан непосредственно одномерный массив Y, имеющий тип String. Описание переменных в Паскале осуществляется путём размещения с левой стороны идентификатора, а справа, после знака равенства, значения переменной.

Диапазон индексов, записанный в позволяет обращаться к каждому конкретному элементу массива:

В данном случае мы произвели чтение второго элемента созданного ранее массива Y.

Частным случаем одномерного массива являются и строковые переменные в Паскале, ведь строка - это последовательность символов, т. е. элементов типа char.

Записи

Запись состоит из нескольких полей, заполненных данными любых типов кроме файлового. В целом переменная такого типа похожа на элемент базы данных. Например, можно занести в неё имя человека и номер его телефона:

type NTel = Record

В первой строке слева указывается имя типа, а справа - служебное слово record. Во второй строке задано поле с именем, в третьей - номер телефона. Слово «end» говорит о том, что мы ввели все поля, которые хотели, и на этом процесс создания записи завершается.

Наконец в последней строке мы задаём переменную One, имеющую тип NTel.

Обращаться можно как к записи в целом, так и к отдельным её компонентам, например: one.NAME (т. е. имя_переменной.имя_поля_записи).

Файлы

Паскаль позволяет работать с текстовыми, типизированными и нетипизированными файлами, которые представляют собой структурированную последовательность компонент, имеющих одинаковый тип.

При чтении из файла или записи в него может использоваться как полный адрес, так и краткая его форма:

‘C:\Folder\File2.txt’

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

Задать переменную файлового типа можно следующим образом:

f1: file of integer;

Для работы с файлами используются различные функции и процедуры, связывающие переменную с файлом на диске, открывающие его для чтения, записи и перезаписи, закрывающие по окончании работы, позволяющие создавать новое имя и удаляющие файл с компьютера.

В заключение

Без умения использовать различные типы переменных в Паскале пользователь не сможет реализовать даже простейшую задачу. Для того чтобы программа выполняла алгоритм без ошибок, требуется выучить как служебные слова, так и синтаксис, поскольку машина умеет «понимать» команды только в том случае, если они написаны единственно верным способом.