close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Переменные и константы. Типы данных.
В языке Паскаль любые объекты, т.е. константы, переменные, значения функций или
выражения, характеризуются своими типами. Тип определяет множество допустимых
значений того или иного объекта, а также множество операций, которые к нему
применимы. Кроме того, тип определяет формат внутреннего представления данных в
памяти ЭВМ. В отношении типов объектов Паскаль является статическим языком. Это
означает, что тип объекта, например, переменной, определяется при ее описании и не
может быть изменен в дальнейшем.
В практике встречаются самые различные типы данных: целые и дробные числа,
символы, строки, массивы и др.
В языке Турбо-Паскаль под типом понимается множество значений, которые может
принимать переменная, и совокупность действий, которые можно выполнять с этими
значениями.
Классификация типов данных.
СКАЛЯРНЫЕ
стандартные
целые
пользователя
диапазон
вещественны
литерный
логический
перечислимы
К скалярным типам относятся стандартные типы и типы, определяемые
пользователем.
Стандартные типы включают целые, действительные, символьный, логические и
адресный типы. Типы, определяемые пользователем, - перечисляемый и интервальный.
Простые типы языка
К простым типам относятся порядковые, вещественный, строковый и адресный
(указатели) типы. Все они определяют тип только одного отдельного значения.
Порядковые типы характеризуются тем, что каждый из них имеет конечное число
возможных значений, среди которых установлен линейный порядок. С каждым из
значений можно сопоставить некоторое целое число - его порядковый номер.
1.1. Целочисленные типы - обозначают множества целых чисел в различных
диапазонах. Имеется пять целочисленных типов, различающихся диапазоном допустимых
значений и размером занимаемой оперативной памяти. Целочисленные типы
обозначаются идентификаторами: Byte, ShortInt, Word, Integer, LongInt; их
характеристики приведены в следующей таблице.
Тип
Диапазон
Byte
ShortInt
Word
Integer
LongInt
0 ... 255
-128 ... 127
0 ... 65535
-32768 ... 32767
-2147483648 ... 2147483647
Размер в
байтах
1
1
2
2
4
1.2 Логический тип (Boolean) - состоит всего из двух значений: False (ложно)
и True (истинно). Слова False и True определены в языке и являются, по сути,
логическими константами. Регистр букв в их написании несущественен: FALSE = false.
Значения этого типа являются результатом вычислений условных и логических
выражений и участвуют во всевозможных условных операторах языка.
Примеры описания:
VAR
b1, b2, b3, b4 : boolean;
Примеры присвоения значения:
b1 := True; b2 := False; b3 := not b1;
Допустимые операции:
- присваивание;
- сравнение: <, >, >=, <=, <>, =;
- логические операции: NOT, OR, AND, XOR
1.3 Символьный тип (Char) - это тип данных, состоящих из одного символа (знака,
буквы, кода). Значением типа Char может быть любой символ из набора ASCII. Если
символ имеет графическое представление, то в программе он записывается заключенным
в одиночные кавычки (апострофы), например:
'ж'
's'
'.'
'*'
' '-(пробел)
Для представления самого апострофа его изображение удваивается: ''''.
Если же символ не имеет графического представления, например, символ табуляции или
символ возрата каретки, то можно воспользоваться эквивалентной формой записи
символьного значения, состоящего из префикса # и ASCII-кода символа:
#9
#32
#13
Допустимые операции:
- присваивание;
- сравнение: <, >, >=, <=, <>, =. Большим считается тот символ, который имеет больший
ASCII-номер.
1.4 Диапазон или (ограниченный тип) не является предопределенным типом языка
(таким как, например, Integer или Char) и поэтому ему не соответствует никакой
идентификатор. Этот тип является вводимм пользователем. Используя его мы можем
определить новый тип, который будет содержать значения только из ограниченного
поддиапазона некоего базового типа. Базовым типом может быть только целочисленный
тип, тип Char (символьный) и любой из введенных программистом перечислимых типов.
Для введения нового типа - диапазона - нужно в блоке описания типов TYPE указать
имя вводимого типа и границы диапазона через специальный символ диапазона ".." (две
точки подряд):
TYPE
Century = 1..21; { поддиапазон цилочисленного типа }
CapsLetters = 'А'..'Я'; { поддиапазон из типа Char }
Вещественные типы - обозначают множества вещественных чисел в различных
диапазонах. Имеется пять вещественных типов, различающихся диапазоном допустимых
значений и размером занимаемой оперативной памяти. Вещественные типы обозначаются
идентификаторами: Real, Single, Double, Extended, Comp; их характеристики приведены
в следующей таблице.
Тип
Real
Single
Double
Extended
Comp
Диапазон
2.9·10-39 ... 1.7·1038
1.5·10-45 ... 3.4·1038
5.0·10-324 ... 1.7·10308
3.4·10-4932 ... 1.1·10-4932
-2·1063 ... +2·1063-1
Размер
в байтах
6
4
8
10
8
Тип Comp хотя и относится к вещественным типам, на самом деле является
целочисленным с очень огромным диапазоном значений.
Примеры описания:
VAR
c, d, e : real;
d1, d2: double;
Примеры присвоения значения:
с := -125.6;
e := 10;
d := 1.e02;
d1 := 1.2e-257; { 1.2*10-257 }
Вещественное число в форме с плавающей точкой (экспоненциальная форма)
записывается как пара
<мантисса> Е <порядок>
Такое обозначение понимается как "мантисса, умноженная на десять в степени,
равном порядку". Например,
-1.6E+12 сответствует -1.6·1012
Допустимые операции:
- присваивание;
- все арифметические: +, - ,*, / ;
- сравнение: <, >, >=, <=, <>, =. При сравнении вещественных чисел следует помнить, что
в следствие неточности их представления в памяти компьютера (в виду неизбежности
округления) стоит избегать попыток определения строгого равенства двух вещественных
значений. Есть шанс, что равенство окажется ложным, даже если на самом деле это не так.
Структурированные типы имеют четыре разновидности: массивы, множества,
записи и файлы.
Строковый тип
Переменная строкового типа задается набором символов, заключенных в кавычки.
Примеры описания:
VAR
s : string[25]; { Длина переменной s может изменяться от 1 до 25
символов }
s1 : string;
{ длина переменной s1 не указывается, наибольшее
число символов равно 255 }
Примеры присвоения значения:
s := 'Привет';
s1 := 'Hello';
Массив
Массив - упорядоченные данные одного типа, состоящие из переменных (элементов
массива). Элементы массива имеют свой порядковый номер (индекс) и значение. Значение
присваивается отдельно каждому элементу массива, либо сразу всем элементам массива
(копирование одного массива в другой в случае массивов одинакового типа). Массив может
быть многомерным (без ограничения), но занимать не более 65520 байт.
Примеры описания:
VAR
M1 : array[1..200] of integer; { М1, A1 - одномерные массивы целых и
вещественных чисел }
A1 : array[100..200] of real;
ch1 : array['A'..'Z'] of char; { сh1, ch2 - одномерные массивы
символов }
ch2 : array[0..255] of char;
Примеры присвоения значения:
M1[1] := 5;
M1[2] := 8;
M1[3]:= M1[1];
M1[100] := 32;
A1[101] := 0.2;
A1[102] := 2.31;
ch1['B'] := 'C';
ch2[1] := '!'
Тип диапазон и перечислимый тип задаются программистом.
1/--страниц
Пожаловаться на содержимое документа