Лекция №2. - Форум Регистрация Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Лекция №2.
inqusiionДата: Четверг, 07.04.2011, 15:49 | Сообщение # 1
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
Лекция №2.
Система типов данных языка Turbo Pascal. Описание переменных и констант.

Каждый элемент данных относится к одному из конечного множества типов, допустимых для конкретной версии языка программирования.
Тип – это множество значений, которые может принимать переменная и, как следствие, множество операций, допустимых над данной переменной. Язык Turbo Pascal является типизированным, или статическим языком. Это означает, что тип переменной определяется при ее описании и не может быть изменен. Переменная может участвовать только в операциях, допустимых с ее типом. Такой подход способствует большей аккуратности и ответственности при составлении программы, приводит к более высокой надежности программы.
Язык Turbo Pascal имеет развитую и изощренную систему типов. На основе небольшого числа стандартных типов программист может конструировать данные произвольной структуры и сложности, которые оптимальным образом отражают суть его задачи.
Систему типов представим в виде схемы:

 
СообщениеЛекция №2.
Система типов данных языка Turbo Pascal. Описание переменных и констант.

Каждый элемент данных относится к одному из конечного множества типов, допустимых для конкретной версии языка программирования.
Тип – это множество значений, которые может принимать переменная и, как следствие, множество операций, допустимых над данной переменной. Язык Turbo Pascal является типизированным, или статическим языком. Это означает, что тип переменной определяется при ее описании и не может быть изменен. Переменная может участвовать только в операциях, допустимых с ее типом. Такой подход способствует большей аккуратности и ответственности при составлении программы, приводит к более высокой надежности программы.
Язык Turbo Pascal имеет развитую и изощренную систему типов. На основе небольшого числа стандартных типов программист может конструировать данные произвольной структуры и сложности, которые оптимальным образом отражают суть его задачи.
Систему типов представим в виде схемы:


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:49
inqusiionДата: Четверг, 07.04.2011, 15:52 | Сообщение # 2
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
Система типов
языка ТР

простые стандартные Стандартные скалярные


ограниченные пользовательские


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


составные интервальный


массивы


с троки


записи


файлы


м ножества


классы


интерфейсы



с сылочные


процедурные


Variant
 
СообщениеСистема типов
языка ТР

простые стандартные Стандартные скалярные


ограниченные пользовательские


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


составные интервальный


массивы


с троки


записи


файлы


м ножества


классы


интерфейсы



с сылочные


процедурные


Variant

Автор - inqusiion
Дата добавления - 07.04.2011 в 15:52
inqusiionДата: Четверг, 07.04.2011, 15:53 | Сообщение # 3
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
В языке Pascal для описания типа в общем случае используется зарезервированное слово Type.
Формат записи.
Type
<имя типа> = <значения типа>;

Базовыми в системе типов являются простые (скалярные) типы.
Составные типы по определенным правилам строятся из простых типов.
Ссылочные типы образуются из любых других типов.
Ограниченные типы формируются из простых типов путем сужения их области допустимых значений.
Процедурные типы расширяют понятие подпрограмм, позволяя обращаться с подпрограммами как с переменными.
Классы и Интерфейсы представляют Объектные типы (объекты), которые позволяют программировать в объектно-ориентированном стиле.
Пользовательские типы – перечисляемый и интервальный – разрабатываются самим программистом.
Стандартные скалярные типы представляют традиционные в языках программирования множества значений: целые, вещественные, символьные (литерные), булевские и их модификации.
В десятичной форме числа могут записываться двумя способами: с фиксированной и с плавающей точкой.
скалярные типы данных
Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 1 до 4 байт в ТР и от 1 до 8 байт в Delphi. Эта группа типов обозначает множества целых чисел в различных диапазонах. Имеется пять (девять) целых типов, различающихся допустимым диапазоном значений и размером занимаемой оперативной памяти.
Перед числом может находиться знак "+" или "–". Если знак отсутствует, по умолчанию число считается положительным.
Данные целочисленных типов могут быть представлены как в десятичной, так и в шестнадцатеричной системах счисления. Если число представлено в шестнадцатеричной системе, перед ним без пробела записывается знак $. Диапазон изменений шестнадцатеричных чисел от $0000 до $FFFF:
Например, 546 – целое десятичное число, $1FF – шестнадцатеричное число
Целые типы в ТР обозначаются идентификаторами Integer, Byte, Shortint, Word, Longint. Их характеристики приведем в таблице.
Тип диапазон значений размер памяти
Byte 0 .. 255 1 байт
Shortint –127 .. 127 1 байт
Integer –32768 .. 32767 2 байта
Word 0 .. 655553 2 байта
Longint –2147483648..2147483647 4 байта

 
СообщениеВ языке Pascal для описания типа в общем случае используется зарезервированное слово Type.
Формат записи.
Type
<имя типа> = <значения типа>;

Базовыми в системе типов являются простые (скалярные) типы.
Составные типы по определенным правилам строятся из простых типов.
Ссылочные типы образуются из любых других типов.
Ограниченные типы формируются из простых типов путем сужения их области допустимых значений.
Процедурные типы расширяют понятие подпрограмм, позволяя обращаться с подпрограммами как с переменными.
Классы и Интерфейсы представляют Объектные типы (объекты), которые позволяют программировать в объектно-ориентированном стиле.
Пользовательские типы – перечисляемый и интервальный – разрабатываются самим программистом.
Стандартные скалярные типы представляют традиционные в языках программирования множества значений: целые, вещественные, символьные (литерные), булевские и их модификации.
В десятичной форме числа могут записываться двумя способами: с фиксированной и с плавающей точкой.
скалярные типы данных
Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 1 до 4 байт в ТР и от 1 до 8 байт в Delphi. Эта группа типов обозначает множества целых чисел в различных диапазонах. Имеется пять (девять) целых типов, различающихся допустимым диапазоном значений и размером занимаемой оперативной памяти.
Перед числом может находиться знак "+" или "–". Если знак отсутствует, по умолчанию число считается положительным.
Данные целочисленных типов могут быть представлены как в десятичной, так и в шестнадцатеричной системах счисления. Если число представлено в шестнадцатеричной системе, перед ним без пробела записывается знак $. Диапазон изменений шестнадцатеричных чисел от $0000 до $FFFF:
Например, 546 – целое десятичное число, $1FF – шестнадцатеричное число
Целые типы в ТР обозначаются идентификаторами Integer, Byte, Shortint, Word, Longint. Их характеристики приведем в таблице.
Тип диапазон значений размер памяти
Byte 0 .. 255 1 байт
Shortint –127 .. 127 1 байт
Integer –32768 .. 32767 2 байта
Word 0 .. 655553 2 байта
Longint –2147483648..2147483647 4 байта


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:53
inqusiionДата: Четверг, 07.04.2011, 15:53 | Сообщение # 4
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
Целые типы в Delphi обозначаются идентификаторами Integer, Byte, Shortint, Word, Longint, SmallInt, Cardinal, Int64, LongWord. Их характеристики приведем в таблице.

Тип диапазон значений размер памяти
Byte 0 .. 255 1 байт
Shortint –127 .. 127 1 байт
Word 0 .. 655553 2 байта
SmallInt –32768 .. 32767 2 байта
Cardinal 0 .. 4294967295 4 байта
LongWord 0 .. 4294967295 4 байта
Integer -2147483648..2147483647 4 байта
Longint –2147483648..2147483647 4 байта
Int64 -263 .. 263-1 8 байт
Наибольшая производительность центрального процессора и операционной системы достигается при использовании типов Integer и Cardinal. Все остальные типы, кроме Int64, представляют собой подмножества типов Integer и Cardinal.
Пример.
Var
A1,A2 : byte;
y1: word;
Над целыми значениями допустимы следующие операции:
1. Четыре арифметические операции:
+ сложение;
– вычитание;
* умножение;
/ деление.
2. Две дополнительные операции:
div деление нацело (отбрасывается дробная часть);
mod взятие остатка от целочисленного деления.
При работе с целочисленным типом данных все перечисленные операции (кроме деления) дают целый результат. Операция деления всегда дает вещественный результат.

Вещественные типы.
Вещественные десятичные числа с фиксированной точкой записываются по обычным правилам арифметики. Целая часть от дробной отделяется десятичной точкой. Если десятичная точка отсутствует, число считается целым. Перед числом может находиться знак "+" или "–". Если знак отсутствует, по умолчанию число считается положительным.
Пример.
123.456 – положительное вещественное число
–12.345 – отрицательное вещественное число
Вещественные десятичные числа в форме с плавающей точкой представляются в экспоненциальном виде: mE+p, где m – мантисса (целое или дробное число с десятичной точкой), Е – означает "десять в степени", р – порядок (целое число).
Пример.
1.23Е+02 = 1.23 * 10^2 = 123 –10E–03 = –10 * 10^(–3) = –0.01

 
СообщениеЦелые типы в Delphi обозначаются идентификаторами Integer, Byte, Shortint, Word, Longint, SmallInt, Cardinal, Int64, LongWord. Их характеристики приведем в таблице.

Тип диапазон значений размер памяти
Byte 0 .. 255 1 байт
Shortint –127 .. 127 1 байт
Word 0 .. 655553 2 байта
SmallInt –32768 .. 32767 2 байта
Cardinal 0 .. 4294967295 4 байта
LongWord 0 .. 4294967295 4 байта
Integer -2147483648..2147483647 4 байта
Longint –2147483648..2147483647 4 байта
Int64 -263 .. 263-1 8 байт
Наибольшая производительность центрального процессора и операционной системы достигается при использовании типов Integer и Cardinal. Все остальные типы, кроме Int64, представляют собой подмножества типов Integer и Cardinal.
Пример.
Var
A1,A2 : byte;
y1: word;
Над целыми значениями допустимы следующие операции:
1. Четыре арифметические операции:
+ сложение;
– вычитание;
* умножение;
/ деление.
2. Две дополнительные операции:
div деление нацело (отбрасывается дробная часть);
mod взятие остатка от целочисленного деления.
При работе с целочисленным типом данных все перечисленные операции (кроме деления) дают целый результат. Операция деления всегда дает вещественный результат.

Вещественные типы.
Вещественные десятичные числа с фиксированной точкой записываются по обычным правилам арифметики. Целая часть от дробной отделяется десятичной точкой. Если десятичная точка отсутствует, число считается целым. Перед числом может находиться знак "+" или "–". Если знак отсутствует, по умолчанию число считается положительным.
Пример.
123.456 – положительное вещественное число
–12.345 – отрицательное вещественное число
Вещественные десятичные числа в форме с плавающей точкой представляются в экспоненциальном виде: mE+p, где m – мантисса (целое или дробное число с десятичной точкой), Е – означает "десять в степени", р – порядок (целое число).
Пример.
1.23Е+02 = 1.23 * 10^2 = 123 –10E–03 = –10 * 10^(–3) = –0.01


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:53
inqusiionДата: Четверг, 07.04.2011, 15:54 | Сообщение # 5
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
Поскольку данные в компьютере хранятся в виде двоичных кодов, то действительные числа представляются приближенно, хотя и с большой степенью точности.
Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 10 байт. Turbo Pascal и Delphi допускают представление вещественных значений в виде как с плавающей, так и с фиксированной точкой.
Turbo Pascal поддерживает пять различных вещественных типов. Они именуются идентификаторами: Real, Single, Double, Extended и Comp и имеют следующие характеристики:
Тип диапазон значений число цифр мантиссы размер памяти
Real 2.9E–39 .. 1.7E38 11 – 12 6 байт
Single 1.5Е–45 .. 3.4Е38 7 – 8 4 байт
Double 5.0Е–324 .. 1.7Е308 15 – 16 8 байт
Extended 3.4Е–4932 .. 1.1Е4932 19 – 20 10 байт
Comp –2Е+63 .. +2Е+63–1 10 – 20 8 байт

Помни:
• Хотя тип Comp считается вещественным типом, он содержит только целые числа из весьма значительного диапазона, которые представляются в вычислениях как вещественные (с нулевой мантиссой).
• Все вещественные типы, кроме Real, могут использоваться в программе, только если в конфигурации персонального компьютера имеется математический сопроцессор Intel 8087/80287. Для корректной компиляции программы, использующей эти типы, необходимо установить директиву компилятора { $N+ }.

Delphi поддерживает семь различных вещественных типов. Они именуются идентификаторами: Real, Real48, Single, Double, Extended и Comp, Currency и имеют следующие характеристики:

Тип диапазон значений число цифр мантиссы размер памяти
Real 5.0Е–324 .. 1.7Е308 15 – 16 8 байт
Real48 2.9E–39 .. 1.7E38 11 – 12 6 байт
Single 1.5Е–45 .. 3.4Е38 7 – 8 4 байт
Double 5.0Е–324 .. 1.7Е308 15 – 16 8 байт
Extended 3.6Е–4951 .. 1.1Е4932 19 – 20 10 байт
Comp –2Е+63 .. +2Е+63–1 10 – 20 8 байт
Currency - 922337203685477.5808 .. ..922337203685477.5808 19 – 20 8 байт
Наибольшая производительность центрального процессора достигается при использовании типа Real.
Тип Real48 предназначен для только для совместимости с ранними версиями Delphi. При его использовании производительность процессора минимальна.
Тип Extended позволяет производить расчеты с максимальной точностью. Более того, математический сопроцессор выполняет операции с действительными числами,

 
СообщениеПоскольку данные в компьютере хранятся в виде двоичных кодов, то действительные числа представляются приближенно, хотя и с большой степенью точности.
Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 10 байт. Turbo Pascal и Delphi допускают представление вещественных значений в виде как с плавающей, так и с фиксированной точкой.
Turbo Pascal поддерживает пять различных вещественных типов. Они именуются идентификаторами: Real, Single, Double, Extended и Comp и имеют следующие характеристики:
Тип диапазон значений число цифр мантиссы размер памяти
Real 2.9E–39 .. 1.7E38 11 – 12 6 байт
Single 1.5Е–45 .. 3.4Е38 7 – 8 4 байт
Double 5.0Е–324 .. 1.7Е308 15 – 16 8 байт
Extended 3.4Е–4932 .. 1.1Е4932 19 – 20 10 байт
Comp –2Е+63 .. +2Е+63–1 10 – 20 8 байт

Помни:
• Хотя тип Comp считается вещественным типом, он содержит только целые числа из весьма значительного диапазона, которые представляются в вычислениях как вещественные (с нулевой мантиссой).
• Все вещественные типы, кроме Real, могут использоваться в программе, только если в конфигурации персонального компьютера имеется математический сопроцессор Intel 8087/80287. Для корректной компиляции программы, использующей эти типы, необходимо установить директиву компилятора { $N+ }.

Delphi поддерживает семь различных вещественных типов. Они именуются идентификаторами: Real, Real48, Single, Double, Extended и Comp, Currency и имеют следующие характеристики:

Тип диапазон значений число цифр мантиссы размер памяти
Real 5.0Е–324 .. 1.7Е308 15 – 16 8 байт
Real48 2.9E–39 .. 1.7E38 11 – 12 6 байт
Single 1.5Е–45 .. 3.4Е38 7 – 8 4 байт
Double 5.0Е–324 .. 1.7Е308 15 – 16 8 байт
Extended 3.6Е–4951 .. 1.1Е4932 19 – 20 10 байт
Comp –2Е+63 .. +2Е+63–1 10 – 20 8 байт
Currency - 922337203685477.5808 .. ..922337203685477.5808 19 – 20 8 байт
Наибольшая производительность центрального процессора достигается при использовании типа Real.
Тип Real48 предназначен для только для совместимости с ранними версиями Delphi. При его использовании производительность процессора минимальна.
Тип Extended позволяет производить расчеты с максимальной точностью. Более того, математический сопроцессор выполняет операции с действительными числами,


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:54
inqusiionДата: Четверг, 07.04.2011, 15:54 | Сообщение # 6
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
представленными в формате Extended. Если используются типы Real, Single или Double, то результат вычислений усекается до соответствующей точности.
Типы Comp и Currency используются для бухгалтерских расчетов. В типе Comp дробная часть отсутствует, а в типе Currency она ограничена четырьмя знаками. В оперативной памяти ПК значения этих типов представляются как данные целого типа, занимающие 8 байт. Это позволяет минимизировать ошибки округления в денежных расчетах. С другой стороны, значения типов Comp и Currency совместимы со значениями других вещественных типов, т.е. над ними могут выполняться все вещественные операции и им можно присваивать значения переменных и выражений других вещественных типов. Но при этом будет происходить усечение значений до четырех знаков в дробной части для типа Currency и полное отбрасывание дробной части для типа Comp.
Пример.
Var
Summ1: single;
koren: double;

Над значениями вещественных типов допустимы следующие четыре арифметические операции:
+ сложение;
– вычитание;
* умножение;
/ деление.
Все они дают вещественный результат, если хотя бы один операнд вещественный.

Помни:
• Операция возведения в степень в ТР не поддерживается.

Литерный (символьный) тип определяется множеством символов кодовой таблицы ЭВМ.
В ТР используется кодовая таблица – ASCII (American Standard Code For Information Interchange – американский стандартный код для обмена информацией), используемая в операционной системе MS DOS. Это множество состоит из 256 различных символов, упорядоченных определенным образом, и содержит символы заглавных и строчных букв, цифр, и различных других символов, включая специальные управляющие символы. Допускаются некоторые отклонения от стандарта ASCII, в частности, при наличии соответствующей системной поддержки это множество может содержать буквы русского алфавита.
Для переменной литерного типа требуется один байт. Литерный тип обозначаются идентификатором Char.
В Delphi имеется три символьных типа:
Тип Размер в байтах
ANSIChar 1
WideChar 2
Char 1
Тип ANSIChar представляет собой так называемые ANSI-символы. Это символы, которые используются в операционных системах семейства Windows. Каждому символу соответствует число – код ANSI (American National Standard Institute – Американский национальный институт

 
Сообщениепредставленными в формате Extended. Если используются типы Real, Single или Double, то результат вычислений усекается до соответствующей точности.
Типы Comp и Currency используются для бухгалтерских расчетов. В типе Comp дробная часть отсутствует, а в типе Currency она ограничена четырьмя знаками. В оперативной памяти ПК значения этих типов представляются как данные целого типа, занимающие 8 байт. Это позволяет минимизировать ошибки округления в денежных расчетах. С другой стороны, значения типов Comp и Currency совместимы со значениями других вещественных типов, т.е. над ними могут выполняться все вещественные операции и им можно присваивать значения переменных и выражений других вещественных типов. Но при этом будет происходить усечение значений до четырех знаков в дробной части для типа Currency и полное отбрасывание дробной части для типа Comp.
Пример.
Var
Summ1: single;
koren: double;

Над значениями вещественных типов допустимы следующие четыре арифметические операции:
+ сложение;
– вычитание;
* умножение;
/ деление.
Все они дают вещественный результат, если хотя бы один операнд вещественный.

Помни:
• Операция возведения в степень в ТР не поддерживается.

Литерный (символьный) тип определяется множеством символов кодовой таблицы ЭВМ.
В ТР используется кодовая таблица – ASCII (American Standard Code For Information Interchange – американский стандартный код для обмена информацией), используемая в операционной системе MS DOS. Это множество состоит из 256 различных символов, упорядоченных определенным образом, и содержит символы заглавных и строчных букв, цифр, и различных других символов, включая специальные управляющие символы. Допускаются некоторые отклонения от стандарта ASCII, в частности, при наличии соответствующей системной поддержки это множество может содержать буквы русского алфавита.
Для переменной литерного типа требуется один байт. Литерный тип обозначаются идентификатором Char.
В Delphi имеется три символьных типа:
Тип Размер в байтах
ANSIChar 1
WideChar 2
Char 1
Тип ANSIChar представляет собой так называемые ANSI-символы. Это символы, которые используются в операционных системах семейства Windows. Каждому символу соответствует число – код ANSI (American National Standard Institute – Американский национальный институт


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:54
inqusiionДата: Четверг, 07.04.2011, 15:54 | Сообщение # 7
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
стандартизации. В нем был разработан этот код). В таблице кодов содержится 256 символов, которые кодируются числами от 0 до 255. Символы с номерами о 0 до 31 являются управляющими и не имеют графического изображения.
Тип WideChar предназначен для хранения так называемых Unicode-символов, которые в отличие от ANSI-символов занимают в памяти 2 байта, поэтому кодируются числами от 0 до 65535. эти символы используются для представления различных азиатских алфавитов. Первые 256 символов в стандарте Unicode совпадают с символами ANSI.
Тип Char в Delphi эквивалентен типу ANSIChar и обеспечивает наибольшую производительность.
Консольное приложение в Delphi выполняется под управлением операционной системы MS DOS, которая эмулируется операционными системами семейства Windows. В отличие от Windows в MS DOS используется кодировка символов ASCII. Сравнивая таблицы символов ASCII и ANSI, можно заметить, что первые 128 символов с кодами 0..127 совпадают (цифры и латинские буквы), а остальные различны (буквы русского алфавита). Поскольку консольное приложение создаются в операционной системе Windows, а выполняется как программа MS DOS, то вывод на экран русских символов не возможен из-за различия в кодировках. Но, имея таблицы кодировок, можно написать функцию перекодировки символов.
Если символьное значение имеет графическое представление, то оно изображается соответствующим знаком, заключенным в одинарные кавычки (апострофы), например:
'a' 'A' 'H' ...

Пример.
Var
liter: char;
alfa, znak: char;

Булевский (логический) тип в представлен двумя значениями, представляющими логические истинностные значения: (истина/ложь). Эти значения обозначаются с помощью стандартных идентификаторов: True (истина) и False (ложь).
В ТР имеется один логический тип

Тип диапазон значений размер памяти
Boolean True, False 1 байт

В Delphi имеется 4 логических типа:

Тип диапазон значений размер памяти
Boolean True, False 1 байт
ByteBool True, False 1 байт
WordBool True, False 2 байта
LongBool True, False 2 байта

Основным логическим типом в Delphi является Boolean. Остальные типы нужны для совместимости с логическими данными, используемыми в ОС Windows и некоторых других

 
Сообщениестандартизации. В нем был разработан этот код). В таблице кодов содержится 256 символов, которые кодируются числами от 0 до 255. Символы с номерами о 0 до 31 являются управляющими и не имеют графического изображения.
Тип WideChar предназначен для хранения так называемых Unicode-символов, которые в отличие от ANSI-символов занимают в памяти 2 байта, поэтому кодируются числами от 0 до 65535. эти символы используются для представления различных азиатских алфавитов. Первые 256 символов в стандарте Unicode совпадают с символами ANSI.
Тип Char в Delphi эквивалентен типу ANSIChar и обеспечивает наибольшую производительность.
Консольное приложение в Delphi выполняется под управлением операционной системы MS DOS, которая эмулируется операционными системами семейства Windows. В отличие от Windows в MS DOS используется кодировка символов ASCII. Сравнивая таблицы символов ASCII и ANSI, можно заметить, что первые 128 символов с кодами 0..127 совпадают (цифры и латинские буквы), а остальные различны (буквы русского алфавита). Поскольку консольное приложение создаются в операционной системе Windows, а выполняется как программа MS DOS, то вывод на экран русских символов не возможен из-за различия в кодировках. Но, имея таблицы кодировок, можно написать функцию перекодировки символов.
Если символьное значение имеет графическое представление, то оно изображается соответствующим знаком, заключенным в одинарные кавычки (апострофы), например:
'a' 'A' 'H' ...

Пример.
Var
liter: char;
alfa, znak: char;

Булевский (логический) тип в представлен двумя значениями, представляющими логические истинностные значения: (истина/ложь). Эти значения обозначаются с помощью стандартных идентификаторов: True (истина) и False (ложь).
В ТР имеется один логический тип

Тип диапазон значений размер памяти
Boolean True, False 1 байт

В Delphi имеется 4 логических типа:

Тип диапазон значений размер памяти
Boolean True, False 1 байт
ByteBool True, False 1 байт
WordBool True, False 2 байта
LongBool True, False 2 байта

Основным логическим типом в Delphi является Boolean. Остальные типы нужны для совместимости с логическими данными, используемыми в ОС Windows и некоторых других


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:54
inqusiionДата: Четверг, 07.04.2011, 15:54 | Сообщение # 8
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
системах программирования, например, Visual C. Они используются, как правило, при вызове стандартных подпрограмм, имеющих параметры этого типа.
Над значениями булевского типа допустимы операции сравнения, причем считается, что
True > False.
Кроме того, имеются четыре стандартные логические операции, обозначаемые служебными словами:
and логическое умножение
or логическое сложение
xor сложение по модулю 2 (исключающее "или")
not логическое отрицание (унарная операция).

пользовательские типы
Кроме стандартных типов данных, ТР и Delphi поддерживают скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы. Данные этих типов занимают в памяти один байт, поэтому любой пользовательский тип не может содержать более 256 элементов. Их применение значительно улучшает наглядность программы, делает более легким поиск ошибок и экономит память.
Перечисляемый (перечислимый) тип задается непосредственным перечислением всех значений, которые может принимать переменная данного типа. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки.

Формат записи:
Type
<имя типа> = (<значение 1, значение 2 ,..., значение n>);
Var
<идентификатор, ...>: <имя типа>;
Пример.
Type
Svet = (Red, Yellow, Green);
Move = (Left, Right, Up, Down);

Var
S1, S2, S3: Svet;
M: Move;
Season: (Winter, Spring, Summer, Autumn);
В данном примере приведены два явно описанных типа данных Svet и Move. Определены их значения – обозначения цветов и направлений движения. Переменные Svet, Move могут принимать одно из перечисленных значений. Попытка присвоить им любое другое значение вызовет программное прерывание. Третий тип перечисления анонимный (не имеет имени) и задается перечислением значений в разделе Var. Season является переменной этого типа и может принимать значения Winter, Spring, Summer и Autumn. Таким образом может быть задан любой тип, но это не всегда приемлемо, т.к. первый способ более соответствует характеру языка ТР.

 
Сообщениесистемах программирования, например, Visual C. Они используются, как правило, при вызове стандартных подпрограмм, имеющих параметры этого типа.
Над значениями булевского типа допустимы операции сравнения, причем считается, что
True > False.
Кроме того, имеются четыре стандартные логические операции, обозначаемые служебными словами:
and логическое умножение
or логическое сложение
xor сложение по модулю 2 (исключающее "или")
not логическое отрицание (унарная операция).

пользовательские типы
Кроме стандартных типов данных, ТР и Delphi поддерживают скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы. Данные этих типов занимают в памяти один байт, поэтому любой пользовательский тип не может содержать более 256 элементов. Их применение значительно улучшает наглядность программы, делает более легким поиск ошибок и экономит память.
Перечисляемый (перечислимый) тип задается непосредственным перечислением всех значений, которые может принимать переменная данного типа. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки.

Формат записи:
Type
<имя типа> = (<значение 1, значение 2 ,..., значение n>);
Var
<идентификатор, ...>: <имя типа>;
Пример.
Type
Svet = (Red, Yellow, Green);
Move = (Left, Right, Up, Down);

Var
S1, S2, S3: Svet;
M: Move;
Season: (Winter, Spring, Summer, Autumn);
В данном примере приведены два явно описанных типа данных Svet и Move. Определены их значения – обозначения цветов и направлений движения. Переменные Svet, Move могут принимать одно из перечисленных значений. Попытка присвоить им любое другое значение вызовет программное прерывание. Третий тип перечисления анонимный (не имеет имени) и задается перечислением значений в разделе Var. Season является переменной этого типа и может принимать значения Winter, Spring, Summer и Autumn. Таким образом может быть задан любой тип, но это не всегда приемлемо, т.к. первый способ более соответствует характеру языка ТР.


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:54
inqusiionДата: Четверг, 07.04.2011, 15:54 | Сообщение # 9
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
Имена внутри круглых скобок являются константами соответствующего типа перечисления и соответствуют обычным правилам для констант. Эти идентификаторы должны быть уникальны в пределах блока.

Помни:
• Описание двух или более перечисляемых типов с совпадающими константами недопустимо.

Пример.
Type
Color1 = (Red, Yellow, Green);
Color2 = (Blue, Grey, Green);
являются некорректными из-за повторного использования идентификатора Green.
Перечисляемые типы являются дискретными типами. Над значениями перечисляемых типов определены операции сравнения: считается, что значения этого типа указаны в списке в порядке возрастания. Например, будет истинно выражение Red< Green, т.к. Red имеет меньший номер по порядку в описании типа, чем Green.
В отличие от данных других типов, ТР не поддерживает операции ввода–вывода значений пользовательского перечисляемого типа. При необходимости программист сам должен организовать ввод–вывод таких данных.
В языке ТР допускается образование ограниченных типов из перечисляемых по обычным правилам.
Интервальный тип (тип-диапазон) позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограммы проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона.

Помни:
• Обе константы должны принадлежать одному из стандартных типов (тип real здесь недопустим).
• Значение первой константы должно быть обязательно меньше значения второй.
Формат записи:
Type
< имя типа > = <константа1> . . <константа2>;
Var
<идентификатор, ...> : < имя типа >;

Пример.
Type
Dni = 1 .. 31;
Var
X1, X2: Dni;

Переменные Х1 и Х2 могут принимать любые значения из диапазона 1 .. 31. Выход из диапазона вызывает программное прерывание.
Можно определить интервальный тип и более универсальным способом, задав границы диапазона не значениями констант, а их именами:

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

Помни:
• Описание двух или более перечисляемых типов с совпадающими константами недопустимо.

Пример.
Type
Color1 = (Red, Yellow, Green);
Color2 = (Blue, Grey, Green);
являются некорректными из-за повторного использования идентификатора Green.
Перечисляемые типы являются дискретными типами. Над значениями перечисляемых типов определены операции сравнения: считается, что значения этого типа указаны в списке в порядке возрастания. Например, будет истинно выражение Red< Green, т.к. Red имеет меньший номер по порядку в описании типа, чем Green.
В отличие от данных других типов, ТР не поддерживает операции ввода–вывода значений пользовательского перечисляемого типа. При необходимости программист сам должен организовать ввод–вывод таких данных.
В языке ТР допускается образование ограниченных типов из перечисляемых по обычным правилам.
Интервальный тип (тип-диапазон) позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограммы проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона.

Помни:
• Обе константы должны принадлежать одному из стандартных типов (тип real здесь недопустим).
• Значение первой константы должно быть обязательно меньше значения второй.
Формат записи:
Type
< имя типа > = <константа1> . . <константа2>;
Var
<идентификатор, ...> : < имя типа >;

Пример.
Type
Dni = 1 .. 31;
Var
X1, X2: Dni;

Переменные Х1 и Х2 могут принимать любые значения из диапазона 1 .. 31. Выход из диапазона вызывает программное прерывание.
Можно определить интервальный тип и более универсальным способом, задав границы диапазона не значениями констант, а их именами:


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:54
inqusiionДата: Четверг, 07.04.2011, 15:55 | Сообщение # 10
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
Const
Min = 1; Max = 31;
Type
Dni = Min .. Max;
Var
X1,X2 : Dni;
ограниченные типы
Стандартные скалярные типы, о которых только что шла речь, являются предопределенными в языке Turbo Pascal, т.е. их смысл в языке фиксирован. На основе стандартных скалярных типов программист может определить новые, собственные скалярные типы, используя несколько простых правил.
Самым простым способом образования новых типов из уже существующих является ограничение, а именно сужение допустимого диапазона значений некоторого стандартного скалярного типа. Это ограничение определяется заданием минимального и максимального значений диапазона, например:
1 .. 10 –100 .. 100 'a' .. 'z'
В этом примере определяются новые типы значений: первые два образованы ограничениями диапазона некоторого целого типа, третий является производным символьного типа. Выведенный таким образом тип можно обозначить именем и использовать для определения переменных, а также строить с его помощью другие типы.
Использование ограниченных типов весьма оправдано. Каждый раз, когда заранее известно, что значения некоторой переменной лежат внутри некоторого диапазона, следует использовать ограниченный тип. Это существенно повышает наглядность программ и, кроме того, позволяет более надежно контролировать ошибочные выходы значений за пределы заданного диапазона.
тип дата-время
Тип дата-время определен в Delphi и предназначен для одновременного хранения даты и времени. Он определяется при помощи стандартного идентификатора …..
структурированные типы данных
Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов.
В языке ТР допускаются следующие структурированные типы данных: строки, массивы, множества, записи, файлы, указатели, процедурные типы и объекты. Все они требуют более детального рассмотрения и будут описаны позже.
тождественность и совместимость типов
Для написания правильных выражений необходимо рассмотреть понятия тождественности и совместимости типов.
Два типа Т1 и Т2 являются тождественными, если выполняется одно из двух условий:
1. Т1 и Т2 представляют собой один и тот же идентификатор типа;
2. Тип Т2 описан с использованием типа Т1 с помощью непосредственного равенства вида:
 
СообщениеConst
Min = 1; Max = 31;
Type
Dni = Min .. Max;
Var
X1,X2 : Dni;
ограниченные типы
Стандартные скалярные типы, о которых только что шла речь, являются предопределенными в языке Turbo Pascal, т.е. их смысл в языке фиксирован. На основе стандартных скалярных типов программист может определить новые, собственные скалярные типы, используя несколько простых правил.
Самым простым способом образования новых типов из уже существующих является ограничение, а именно сужение допустимого диапазона значений некоторого стандартного скалярного типа. Это ограничение определяется заданием минимального и максимального значений диапазона, например:
1 .. 10 –100 .. 100 'a' .. 'z'
В этом примере определяются новые типы значений: первые два образованы ограничениями диапазона некоторого целого типа, третий является производным символьного типа. Выведенный таким образом тип можно обозначить именем и использовать для определения переменных, а также строить с его помощью другие типы.
Использование ограниченных типов весьма оправдано. Каждый раз, когда заранее известно, что значения некоторой переменной лежат внутри некоторого диапазона, следует использовать ограниченный тип. Это существенно повышает наглядность программ и, кроме того, позволяет более надежно контролировать ошибочные выходы значений за пределы заданного диапазона.
тип дата-время
Тип дата-время определен в Delphi и предназначен для одновременного хранения даты и времени. Он определяется при помощи стандартного идентификатора …..
структурированные типы данных
Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов.
В языке ТР допускаются следующие структурированные типы данных: строки, массивы, множества, записи, файлы, указатели, процедурные типы и объекты. Все они требуют более детального рассмотрения и будут описаны позже.
тождественность и совместимость типов
Для написания правильных выражений необходимо рассмотреть понятия тождественности и совместимости типов.
Два типа Т1 и Т2 являются тождественными, если выполняется одно из двух условий:
1. Т1 и Т2 представляют собой один и тот же идентификатор типа;
2. Тип Т2 описан с использованием типа Т1 с помощью непосредственного равенства вида:

Автор - inqusiion
Дата добавления - 07.04.2011 в 15:55
inqusiionДата: Четверг, 07.04.2011, 15:55 | Сообщение # 11
Лейтенант
Группа: Администраторы
Сообщений: 47
Награды: 0
Репутация: 0
Статус: Offline
Type
T2 = T1;
или посредством цепочки таких равенств.
Пример.
Type
T1 = integer;
T2 = T1;
T3 = T2;

Типы Т1 и Т2 являются тождественными, т.к. Т2 описан непосредственно через Т1; тип Т3 тождественен Т1, т.к. он описан через Т1 посредством цепочки равенств.
Данное определение налагает достаточно жесткие ограничения.

Пример.
Type
F1: real;
F2: real;
Типы F1 и F2 не являются тождественными, т.к. они не удовлетворяют определению тождественных типов (один тип не описан через другой).

Пример.
Var
V1 , V2: integer;
Переменные V1 и V2 тождественны, т.к. их описания нераздельны.
В чистом виде тождественность типов требуется только в случае передачи параметров при вызове процедур или функций. В других конструкциях языка ТР используют несколько ослабленные ограничения, называемые совместимостью типов.
Совместимость типов играет важнейшую роль в выражениях и операциях сравнения и в операциях присваивания.
Два типа совместимы, если выполняется одно их следующих условий:
• два типа тождественны;
• оба типа являются либо целыми, либо оба типа являются вещественными;
• один тип является поддиапазоном другого;
• оба типа являются поддиапазонами одного и того же основного типа;
• оба типа являются множественными типами с совместимыми базовыми типами.

 
СообщениеType
T2 = T1;
или посредством цепочки таких равенств.
Пример.
Type
T1 = integer;
T2 = T1;
T3 = T2;

Типы Т1 и Т2 являются тождественными, т.к. Т2 описан непосредственно через Т1; тип Т3 тождественен Т1, т.к. он описан через Т1 посредством цепочки равенств.
Данное определение налагает достаточно жесткие ограничения.

Пример.
Type
F1: real;
F2: real;
Типы F1 и F2 не являются тождественными, т.к. они не удовлетворяют определению тождественных типов (один тип не описан через другой).

Пример.
Var
V1 , V2: integer;
Переменные V1 и V2 тождественны, т.к. их описания нераздельны.
В чистом виде тождественность типов требуется только в случае передачи параметров при вызове процедур или функций. В других конструкциях языка ТР используют несколько ослабленные ограничения, называемые совместимостью типов.
Совместимость типов играет важнейшую роль в выражениях и операциях сравнения и в операциях присваивания.
Два типа совместимы, если выполняется одно их следующих условий:
• два типа тождественны;
• оба типа являются либо целыми, либо оба типа являются вещественными;
• один тип является поддиапазоном другого;
• оба типа являются поддиапазонами одного и того же основного типа;
• оба типа являются множественными типами с совместимыми базовыми типами.


Автор - inqusiion
Дата добавления - 07.04.2011 в 15:55
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024.