русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Простые типы данных


Дата добавления: 2013-12-24; просмотров: 1663; Нарушение авторских прав


Типы в Турбо Паскале

 

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

 

Группа Подгруппа Название Идентификатор
Простой Порядковый Короткий целый ShortInt
Байтовый Byte
Слово Word
Целый Integer
Длинный целый LongInt
Символьный Char
Булев Boolean
Вещественный Вещественный Real
С одинарной точностью Single
С двойной точностью Double
С повышенной точностью Extended
Сложный Comp
Строковый     String
Структурный   Массив Array
Множество Set
Файл File
Запись Record
Ссылочный     Pointer
Процедурный   Процедура Procedure
Функция Function
Объектный     Object

 

 

К простым типам относятся порядковые и вещественные типы.

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

 

· Целые типы.

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

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

· Перечисляемый тип.

· Тип-диапазон.

 

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

Таблица 1

 

Длина, байт Название типа Диапазон значений
Byte 0 ... 255
ShortInt -128 ... 127
Word 0 ... 65535
Integer -32768 ... 32767
LongInt -2 147 483 648 ... 2 147 483 647

 



При использовании процедур и функций с целочисленными параметрами следует учитывать “вложенность” типов, т.е. везде, где используется тип WORD, допускается использование типа BYTE, но не наоборот. В тип LONGINT входит тип INTEGER, который в свою очередь включает в себя тип SHORTINT. При действиях с целыми числами, тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, то типу того операнда, который имеет максимальный диапазон значений.

 

Над целыми числами могут выполняться операции:

Арифметические:

· Сложение (+);

· Вычитание (-);

· Умножение (*);

· Целочисленное деление (DIV);

· Остаток от целочисленного деления (MOD);

· Левый сдвиг (SHL);

· Правый сдвиг (SHR).

Логические:

· НЕ (NOT).

· И (AND).

· ИЛИ (OR).

· Исключающее ИЛИ (XOR).

 

Результатом целочисленного деления будет также целое число, полученное после отбрасывания дробной части результата: 11 DIV 3 = 3.

Результатом функции MOD будет целое число, представляющее собой остаток от деления двух операндов: 11 MOD 3 = 2.

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

1110 SHR 2 = 210 , так как 000010112 SHR 2 = 000000102

1110 SHL 2 = 4410 , так как 000010112 SHL 2 = 001011002 .

Логические операции выполняются над отдельными двоичными разрядами чисел:

 

Операнд A Операнд B Логическая функция
NOT A A AND B A OR B A XOR B
       
       
 
 
 
 

 

Вместе с тем результат операции NOT зависит от типа целого операнда (длины разрядной сетки). Если целая переменная A имеет тип BYTE и равняется 11, то функция NOT A даст результат 244, если эта переменная была описана типом WORD, то NOT A = 65524, а для переменной A, описанной типом INTEGER получим NOT A = -12.

Для примера рассмотрим работу программы INT_TYPE.PAS.

 

Символьный тип CHAR используется для описания символьных переменных. Всего возможно 256 различных символов в соответствии с таблицей ASCII – кодов. Задать значение символьной переменной можно несколькими способами:

· Указать сам символ, заключив его в верхние апострофы: A1 : = ‘X’, где A1 – переменная типа CHAR.

· Указать его код, например А1 : = # 88.

· Использовать функцию CHR(X), например А1 : = CHR(88).

 

Противоположной по отношению к функции CHR является функция ORD(X), которая для переменной X типа CHAR выдает ее ASCII–код.

Существует функция UPCASE, которая преобразует строчные буквы латинского алфавита в прописные, но не изменяет другие символы, например:

 

UPCASE(‘r’) = ‘R’

UPCASE(‘5’) = ‘5’

UPCASE(‘ш’) = ‘ш’

 

Два символа можно сравнивать посредством операций отношений:

· Меньше <.

· Больше >.

· Равно =.

· Меньше или равно <=.

· Больше или равно >=.

· Не равно <>.

 

При сравнении символьных значений сравниваются их коды. Например, справедливы соотношения:

‘A’ < ‘B’ < ‘C’

Для примера рассмотрим работу программы CHAR_TYP.PAS.

 

Логический (булев) тип BOOLEAN имеет два возможных значения – “истина” (TRUE) и “ложь” (FALSE). Эти значения считаются упорядоченными, т.е. FALSE < TRUE. Под булево значение отводится один байт памяти. Над булевыми переменными используются операции NOT, AND, OR, XOR.

Для примера рассмотрим работу программы BOOL_TYP.PAS.

 

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

16.75 = 0.1675E2

Используются следующие вещественные типы, характеристики которых приведены в табл.2.:

Таблица 2

 

Длина, байт Название типа Мантисса, значащие десятичныецифры Диапазон десятичного порядка
single 7 ... 8 -45 ... +38
real 11 ... 12 -39 ... +38
double 15 ... 16 -324 ... +308
extended 19 ... 20 -4951 ... +4932
comp 19 ... 20 -263 +1 … +263-1

 

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

Особое положение занимает тип COMP, который также относят к вещественным. Число типа COMP трактуется как вещественное, хотя оно не имеет дробной части, занимает в памяти 8 байт и имеет диапазон от -263 +1 до +263-1. Наиболее подходящей областью применения типа COMP являются бухгалтерские расчеты, в которых часто проводятся операции с большими целыми числами.

Для работы с данными всех вещественных типов, кроме REAL, следует в меню OPTION→COMPILE→NUMERIC PROCESSING установить режим трансляции 8087/80287.

Над вещественными переменными возможны арифметические операции:

· Сложение (+).

· Вычитание (-).

· Умножение (*).

· Деление (/).

Для примера рассмотрим работу программы REAL_TYP.PAS.



<== предыдущая лекция | следующая лекция ==>
Вывод информации из базы данных | Скалярные типы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.