- •Внимание! Серым цветом выделен необязательный материал! Глава «Введение» - также для общего развития.
- •Курс лекций по программированию на языке Pascal Содержание курса
- •Введение
- •Программное управление компьютером
- •Этапы разработки программного обеспечения. Языки программирования.
- •Языки программирования
- •Трансляция
- •Алгоритмы и структурное программирование
- •Основные структуры алгоритмов. Понятие о структурном подходе к разработке алгоритмов
- •Методы разработки программного обеспечения
- •Структуры данных
- •Сортировка
- •Стратегии распределения памяти
- •Объектно-ориентированное программирование
- •Базовые элементы языка тurbo рascal
- •Алфавит
- •Константы и переменные
- •Выражения и операции
- •Структура программы
- •Типы данных языка тр
- •Простые типы
- •Целые типы
- •Логический тип
- •Символьный тип
- •Перечисляемый тип
- •Вещественный тип
- •Математические функции
- •Математические процедуры
- •Структурированные типы
- •Массивы
- •Множества
- •Процедуры преобразования
- •Совместимость и преобразование типов
- •Управляюшие структуры языка turbo pascal Операторы
- •Простой и составной оператор
- •Условный оператор
- •Оператор множественного выбора
- •Оператор цикла "пока" (с предусловием)
- •Оператор цикла "до" (с постусловием)
- •Оператор цикла с параметром (цикл по счетчику)
- •Оператор безусловного перехода
- •Процедуры и функции
- •Особенности функций
Типы данных языка тр
Любые данные (константы, переменные, значения функций или выражения) в ТР характеризуются своими типами. Тип - это множество значений, которые могут принимать объекты программы, а также совокупность операций, допустимых над этими значениями. Кроме того, тип определяет также и формат внутреннего представления данных в памяти компьютера.
Простые типы
Эти типы определяют тип только одного отдельного значения.
Простые типы можно разделить на два класса. Порядковые типы отличается тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определенным образом упорядочить, и, поэтому с каждым из них можно сопоставить некоторое целое число - порядковый номер значения. Вещественные типы, строго говоря, тоже имеют конечное число значений (количество этих значений определяется форматом внутреннего представления вещественного числа). Однако количество возможных значений настолько велико, что сопоставить с каждым из них целое число (его номер) не представляется возможным.
К любому из порядковых типов (целые, логический, символьный, перечисляемый и тип-диапазон) применима функция ORD(X), которая возвращает порядковый номер значения Х. Применительно к целым эта функция возвращает само значение Х (т.е. ORD(X) = X). Применительно к логическому типу дает в результате 0 или 1, к символьному - целое число от 0 до 255 (коды), к перечисляемому - целое число от 0 до 65535. Тип-диапазон сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции ORD(X) зависит от свойств этого типа.
К порядковым типам также применимы функции:
PRED(X) - возвращает предыдущее значение порядкового типа (значение, которое соответствует порядковому номеру ORD(X)-1). Следовательно, ORD(PRED(X)) = ORD(X) - 1.
SUCC(X) - возвращает следующее значение порядкового типа (соответствует номеру ORD(X) +1). Т.е. ORD(SUCC(X)) = ORD(X) + 1;
Запрещены Pred ( первый элемент перечисления ) и Succ (последний элемент перечисления).
Пример,
Var
c,d : char;
begin
c := ‘f’;
d := PRED(c);
end.
Значение переменной d - это символ ‘e’.
Рассмотрим вначале особенности порядковых типов.
Целые типы
Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта.
НАЗВАНИЕ |
Длина, байт |
Диапазон значений |
Byte |
1 |
0..255 |
ShortInt |
1 |
-128..+127 |
Word |
2 |
0..65535 |
Integer |
2 |
-32768..+32767 |
LongInt |
4 |
-2 147 483 648..+2 147 483 647 |
Целочисленные значения записываются привычным способом: 123 4 -5 -63333. Число должно быть записано без всяких преобразований. Будет ошибкой задать целое число следующим образом: 1е+2 (в смысле 100), 123.0.
Как говорилось ранее, при действиях с целыми числами тип результата будет соответствовать типу операндов, а если операнды относятся к разным типам, - типу того операнда, который имеет максимальную мощность (максимальный диапазон значений (иначе называется общим типом).
Стандартные функции, которые применяются к целым типам, будут рассмотрены после рассмотрения вещественных типов.
