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

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

Таблица 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).