Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции ИВАНОВ Книга Паскаль.doc
Скачиваний:
5
Добавлен:
18.11.2019
Размер:
1.93 Mб
Скачать

Стандартные константы

Таблица 2.3

идентификатор

тип

значение

описание

pi

real

3.1415926536

число Пи

true

boolean

True

истина

false

boolean

False

ложь

maxint

integer

32 767

максимальное

целое число

maxlongint

longint

2 147 483 647

максимальное

длинное целое число

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

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

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

Все переменные описываются в специальном разделе, который начинается зарезервированным словом var.

Примеры:

var a, b: integer;

P:real;

2.3 ТИПЫ ДАННЫХ ЯЗЫКА ПАСКАЛЬ

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

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

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

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

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

Структуру типов данных представим в следующем виде:

  1. Простые:

  • стандартные

  • пользовательские

    • целочисленные

  • перечисляемый

    • вещественные

  • интервальный (тип-диапазон)

    • символьный

    • логический

  1. Структурированные:

  • множественный

  • регулярный (массивы)

  • комбинированный (записи)

  • файловый

  1. Строковый

  2. Ссылочный (указатели)

  3. Процедурные

  4. Объектные

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

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

2.3.1 Целочисленные типы данных

Целый тип представляет собой подмножество целых констант, которые могут занимать в памяти от 1 до 4 байт.

Таблица 2.4

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

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

Требуемая память (байт)

byte

0 .. 255

1

shortint

-128 .. 127

1

word

0 .. 65 535

2

integer

-32 768 .. 32 767

2

longint

-2 147 483 648 .. 2 147 483 647

4

Обычно переменные этого типа используются в арифметических выражениях, для организации счетчиков, индексации элементов массива. Значения целых типов могут отображаться в программе в десятичном виде и в шестнадцатеричном виде (в начале числа ставится знак $, а цифры старше 9 обозначаются латинскими буквами от A до F). Наиболее часто в простейших программах используется тип integer.

Пример:

var x, y : word;

Запись x:=68000 будет неверна, т.к. для переменной x типа word с диапазоном от 0 до 65535 произойдет переполнение – выход из допустимого для определенного типа данных диапазона значений.

Над данными этого типа определены операции:

  • арифметические (стандартные): сложение (+), вычитание (-), умножение (*) и деление нацело (/);

  • div и mod;

  • отношения (=, <>, <, >, <=, >=), вырабатывающие результат логического типа.

Результат выполнения арифметических операций (кроме деления), а также div и mod над целыми операндами получается также целого типа.

Следует знать:

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

Дело в том, что при действиях с целыми числами тип результата соответствует типу операндов. Например, для переменных типа integer, принимающих значения a=2000, b=4000, в арифметическом выражении a*b/a возникает переполнение. При вводе исходных данных результат составит не 4000, как это можно было бы ожидать, а 2304. Предупреждения об ошибке не возникнет.

Причина состоит в том, что мы, указав в разделе описания переменных для величин а и b тип integer, зарезервировали в памяти место для хранения только целых чисел, принимающих значения в интервале от -32768 до 32767. Промежуточный результат операции умножения a*b получится число 8000000, который превышает верхнюю границу этого диапазона. Избежать всего этого можно с помощью скобок: a*(b/a).