Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Глава 2. Простые типы данных в языке Паскаль

Поиск

Понятие и классификация типов данных

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

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

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

Тип определяется теми операциями, которые можно выполнять над данными. Существует всего 4 типа простых данных. Это числовые, логические, адресные и символьные данные. В рассматриваемой версии Turbo Pascal реализованы все перечисленные типы. Следует отметить, что числовые типы подразделяются на целочисленные, вещественные и комплексные, причем первые и вторые могут иметь различную форму представления. Рассмотрим основные виды простых данных.

Целочисленные типы

 

Особенностями работы с целыми числами в ЭВМ являются ограничения, накладываемые на значения из-за фиксированного размера памяти, выделяемой переменным. Следует учитывать три особенности при вычислениях с целочисленными данными:

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

2. Тип результата совпадает с типом операндов (кроме вещественного деления целых чисел). Если результат не помещается в отведенное место, старшие разряды теряются. Таким образом, множество целых чисел в ЭВМ представляет собой замкнутое кольцо – за самым большим значением следует самое малое.

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

В Turbo Pascal предусмотрено 5 разных стандартных описаний целых чисел, в зависимости от возможных диапазонов их изменения (соответственно выделяемой на числовое значение места в оперативной памяти). Их характеристики приведены в таблице.

 

Таблица 1. Описатели переменных целочисленных типов.

тип р в байтах формат диапазон
shortint integer longint byte word   знак. знак. знак. б/зн. б/зн. -128.. 127 -32768.. 32767 -2147483648.. 2147483647 0.. 255 0.. 65535

 

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

Значения целочисленных данных могут записываться в 10- и 16-тиричной форме, причем в последнем случае константе должен предшествовать знак $.

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

534, -1, 21000000, $1С07, $7fffffff, $ABCD и др.

Существует стандартная константа MAXINT=32767, которую можно использовать не объявляя.

Обычно в разделе VAR для знаковых переменных используют тип integer, а для беззнаковых - word, например:

VAR

I,J,MaxI,Period: integer;

Number,NegativCount: word;

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

 

Лекция 5

 

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

Для объектов, описывающих любую физическую измеряемую величину в программе должны заводиться переменные вещественного типа. В памяти значения вещественных чисел хранятся в нормализованной экспоненциальной форме в 3-х полях: знаковом, поле для порядка числа и поле для цифр мантиссы. В зависимости от размеров выделяемых полей меняется как диапазон возможных чисел, так и точность их представления. В Turbo Pascal предусмотрены следующие стандартные описатели для вещественных переменных:

 

Таблица 2. Описатели переменных вещественных типов.

 

тип размер (байт) цифр диапазон возможных значений
real single double   11-12 7-8 15-16 2.9e-39..1.7e38 1.5e-45..3.4e38 5.0e-324..1.7e308

 

Обычно используют тип real, два других типа можно использовать только при специальной настройке. Важно помнить, что другие языки (фортран, C) используют 4-х или 8-ми байтовые представления вещественных чисел, поэтому, если нужна совместимость по данным, Паскаль-программа должна использовать описатели single или double.

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

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

3.1416, 0.0735, -21.0

Вторая форма получается из первой дописыванием десятичного порядка, отделяя его от мантиссы символом "Е" или "е", например:

0.5e7, -4.57e-3, 1E10 и т.д.

Лекция 6

 

Логический тип

Логический (или булевский, битовый) тип данных предназначен для данных, которые могут принимать только 2 значения (обозначаемые терминами "истина" и "ложь" - TRUE и FALSE, и над которыми возможны логические операции. Хотя для логической переменной достаточно отводить 1 бит (в нем может храниться 0 или 1), в целях удобства работы с этими данными на них выделяется целый байт. Избыточность отводимой памяти оправдана повышением скорости обработки, так как наименьшей адресуемой величиной в ЭВМ является байт, и вырезание из него нужного бита требует дополнительных команд, а следовательно, и времени.

 

Таблица 3. Описатели переменных логического типа.

 

тип р в байтах диапазон возможных значений
boolean   TRUE, FALSE

 

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

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

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

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

Иногда ошибочно операцию сцепления строк '+' называют символьной. На самом деле это операция над другими типами данных (будет рассмотрена ниже).

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

 

Таблица 4. Описатели переменных символьного типа

 

тип р в байтах диапазон возможных значений
char   Кодовая таблица ASCII,коды:0..255

 

Чаще всего в русифицированных ПЭВМ используется таблица кодов, называемая "альтернативной кодировкой", в которой первые 128 символов - стандартные символы ASCII ("Американского Стандартного Кода Обмена Информации"), а следующие 128 символов содержат буквы русского алфавита (кириллицу) и символы псевдографики. Таблица альтернативной кодировки символов приведена в приложении.

При написании символьных констант в программе, их следует заключать в апострофы, например: 'a', '!', '5', ','. Если нужно написать значение апострофа, его удваивают внутри внешних апострофов: ''''- это один символ.

 

Лекция 7

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 157; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.196.150 (0.007 с.)