§ 2.2. Данные. Виды и типы данных

 

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

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

const

         a=5;

         b=1.3/a;

         c=’текстовая переменная’

const d=3; f=d+a;

 

В общем виде описание простой нетипизированной константы делается так:

Const имя_константы = выражение;

Типизированные константы описываются в виде:

Const имя_константы : тип = выражение;

В выражениях могут быть использованы:

·        числа или набор символов в апострофах;

·        математические операции;

·        операции отношения и логические операции;

·        функции abs(x), round(x),trunc(x);

·        функции chr(x), ord(x), pred(x), succ(x) и другие.

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

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

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

·        буквы латинского алфавита;

·        цифры;

·        знак подчеркивания.

Примеры: A, A_1, AА, i, j, x, y и т.п. Неверные имена: My 1, 1A. Длина имени переменной может быть до 126 символов, поэтому старайтесь подбирать осмысленные имена переменных. Однако, компилятор различает в именах первые 63 символов. Зато он не различает строчные и прописные буквы, как в именах переменных, так и в написании служебных идентификаторов.

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

Тип переменной – должен быть обязательно определён в блоке описания переменных VAR. Значением переменной является константа того же типа.

Каждая программа работает с данными. Данные – это в широком смысле слова объекты, которые обрабатывает программа. Тип данного – это его характеристика. От типа зависит:

·        в каком виде будет храниться это данное,

·        сколько ячеек памяти на его хранение будет отведено,

·        какое минимальное и максимальное значение оно может принимать,

·        какие операции с ним можно выполнять.

Некоторые простые типы данных Pascal:

1.        Целые типы (ShortInt, Integer, LongInt, Byte, Word).

2.        Вещественные типы (Real, Single, Double, Extended, Comp).

3.        Логический (Boolean).

4.        Символьный (Char).

5.                     Строковые типы (String, String [n]).

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

Различия между переменными типов одной группы более тонкие, и первое время можно не вдумываться в эти отличия, а использовать в качестве целого - тип Integer, в качестве вещественного - тип Real, в качестве строкового - тип String.

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

В общем виде описание типа переменных делается так:

var

        имя_перемен1, имя_перемен2, …: общий_тип_перемен1,2..n;

        имя_перемен_m : тип_перемен_m;

Например:

var

         i, j, k : integer;

         x, y, z : real;

         Familiya : string [20];

 

Описание целых типов данных

Значение переменной или константы в программе может быть целое число, например 123, -15, 0, 17, то есть число без точки со знаком + или без него. Соответственно для различных целей предусмотрено пять типов целых данных.

Имя типа

Диапазон

ShortInt

-128…127

Integer

-32768…32767

LongInt

-2147483648…2147483648

Byte

0…255

Word

0…65535

 

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

 

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

Значениями переменных и констант могут быть дробные числа, то есть числа с точкой +123.6, -0.015, 15.

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

Имя типа

Диапазон

Real

±±

Single

±±

Double

±±

Extended

±±

 

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

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