- •Содержание
- •Часть 1. Основные понятия программирования §1.1. Этапы разработки программного обеспечения
- •§1.2. Основные сведения об алгоритмах Понятие алгоритма
- •Свойства алгоритма
- •Формы записи алгоритмов
- •Блок-схемы алгоритмов
- •§1.3. Языки программирования
- •§1.4. Паскаль и Object Pascal, Турбо-Паскаль и Delphi
- •Контрольные вопросы
- •Язык, оболочка и интегрированная среда разработки
- •Часть 2. Общие сведения о языке Паскаль §2.1. Алфавит и служебные слова
- •Описание общих конструкций языка
- •§2.2. Структура программы
- •§2.3. Разделы описаний Описание меток
- •Определение констант
- •Определение типов
- •Описание переменных
- •Контрольные вопросы
- •Часть 3. Простые типы данных Иерархия типов
- •§3.1. Целые типы
- •§3.2. Вещественные типы
- •§3.3. Логический тип
- •§3.4. Литерный тип
- •§3.5. Перечисляемый тип
- •§3.6. Диапазоны (интервальный тип)
- •Дополнительные типы в Delphi
- •Контрольные вопросы
- •Глава 4. Операторы языка Паскаль Выражения
- •§4.1. Оператор присваивания
- •§4.2. Ввод-вывод данных
- •§4.3. Составной оператор
- •§4.4. Пустой оператор
- •§4.5. Безусловный оператор перехода
- •§4.6. Условный оператор
- •§4.7. Оператор цикла с параметром for
- •§4.8. Оператор цикла с предусловием while
- •§4.9. Оператор цикла с постусловием repeat
- •§4.10. Оператор выбора case
- •Контрольные вопросы
- •Глава 5. Процедурное программирование §5.1. Функции
- •Параметры – значения
- •Параметры – переменные
- •Бестиповые параметры
- •§5.2. Процедуры
- •Правила использования подпрограмм
- •Рекурсия
- •Директивы
- •Процедурные типы
- •Пример использования подпрограмм
- •Контрольные вопросы
- •Глава 6. Структурированные типы данных
- •§6.1. Массивы
- •§6.2. Строки
- •§6.3. Записи
- •§6.4. Множества
- •Пример использования множеств
- •§6.5. Файлы
- •Установочные и завершающие операции
- •Операции ввода-вывода
- •Перемещения по файлу
- •Пример работы с файлом
- •Обработка ошибок ввода-вывода
- •Специальные операции
- •Пример объединения двух файлов
- •Текстовые файлы
- •Стандартные текстовые файлы
- •Файлы без типа
- •Контрольные вопросы
- •Глава 7. Динамические структуры данных §7.1. Динамические переменные
- •§7.2. Указатели
- •Работа с динамическими переменными
- •Пример двухсвязанного циклического списка
- •Указатели без типа
- •Контрольные вопросы
- •Глава 8. Низкоуровневые возможности Паскаля §8.1. Язык Ассемблер
- •§8.2. Доступ к аппаратуре Доступ к памяти
- •Доступ к портам ввода-вывода
- •Работа по прерываниям
- •Контрольные вопросы
- •Глава 9. Модули §9.1. Основные понятия
- •§9.2. Использование модулей
- •§9.3. Стандартные модули
- •§9.4. Модуль Crt
- •Работа с экраном в текстовом режиме
- •Работа с клавиатурой
- •Работа со звуком
- •§9.5. Модуль dos
- •§9.6. Графический режим монитора
- •Контрольные вопросы
- •Глава 10. Введение в объектно-ориентированное программирование §10.1. История развития программирования
- •Понятие объекта
- •§10.2. Свойства объектов
- •Раннее и позднее связывание
- •§10.3. Виртуальные методы
- •Конструкторы и деструкторы
- •§10.4. Динамические объекты
- •Скрытые поля и методы
- •Контрольные вопросы
- •Литература
§3.1. Целые типы
В Паскале есть только один целый тип – Integer. В Турбо-Паскале это группа из пяти типов, обозначающих множества целых чисел в разных диапазонах. Их характеристики приведены в табл. 3.1.
Таблица 3.1. Целые типы данных
Обозначение целого типа |
Диапазон значений |
Размер памяти в байтах |
Shortint |
-128...127 |
1 |
Integer |
-32768...32767 |
2 |
Longint |
-2 147 483 648...2 147 483 647 |
4 |
Byte |
0...255 |
1 |
Word |
0...65535 |
2 |
Целая константа – это последовательность цифр со знаком или без знака. Константы записываются в десятичной системе счисления, но в Турбо-Паскале может использоваться и шестнадцатеричная. В этом случае перед числом ставится знак $ и разрешается дополнительно к цифрам использовать буквы от А до F ($f5). Обычно шестнадцатеричная система счисления используется с целыми типа Byte и Word. Пример описания типа:
Const X:Word=$ff25;
Var i:byte;
l,m:integer;
Над целыми значениями допустимы следующие арифметические операции:
+ сложение,
- вычитание,
* умножение,
/ деление.
Если первые три операции дают целый точный результат, то последняя – вещественный, который может быть приближенным, например 1/3=0.3333333. Для точного выполнения деления используются операции целочисленной арифметики:
div – деление нацело;
mod – остаток от целочисленного деления. Например:
1 div 3 = 0
1 mod 3 = 1
Кроме этого, над целыми числами в Турбо-Паскале допускается применять логические операции, обычно над данными типа Byte и Word. Так же над всеми простыми типами данных, включая целые, допустимо использование операций отношения (сравнения). Эти два класса операций будут рассмотрены с логическим типом данных.
§3.2. Вещественные типы
В Паскале есть только один вещественный тип – Real. В Турбо-Паскале это группа из пяти типов, обозначающих множества вещественных чисел в разных диапазонах и с различной точностью, ориентированных на представление информации в конкретных процессорах – фирмы Intel. Их характеристики приведены в следующей таблице.
Обозначение типа |
Диапазон значений |
Число десятичных цифр мантиссы |
Размер памяти в байтах |
Real |
2.9*10-39 ... 1.7*10+38 |
11-12 |
6 |
Single |
1.5*10-45 ... 3.4*10+38 |
7-8 |
4 |
Double |
5.0*10-324 ... 1.7*10+308 |
15-16 |
8 |
Extended |
3.4*10-4932 ... 1.1*10+4932 |
19-20 |
10 |
Comp |
-9.2*10+18 ...9.2*10+18 |
19-20 |
8 |
Использование последних четырех типов возможно только с использованием математического сопроцессора (должна быть включена соответствующая опция транслятора). Тип Comp хотя и считается вещественным, но на самом деле содержит целые числа из весьма большого диапазона.
Вещественные константы имеют две формы представления: с фиксированной и плавающей точкой. В первом случае число представляется как целая и дробная часть:
[<знак>]<целая часть>.<дробная часть>
Наличие точки является признаком вещественного типа числа.
В представлении с плавающей точкой, или экспоненциальном, число условно разбивается на две части: мантиссу и порядок (иначе называемый характеристикой), поэтому в общем виде число выглядит как:
[<знак мантиссы>]<целая часть мантиссы> [.<дробная часть мантиссы>] E [<знак порядка>]<порядок>
Здесь буква Е является разделителем, отделяющим мантиссу от порядка или характеристики. Числа представляются только в десятичной системе счисления, например
1234.5610 = 1.23456E3 ( 1,23456103) = 1234.56E0 ,
то есть положение десятичной точки зависит от значения порядка и может изменяться.
Таким образом, признаком вещественного числа является наличие точки или разделителя. Так, число «единица» может быть представлено в трех разных форматах:
1Е0 – вещественное число с плавающей точкой;
1.0 – вещественное число с плавающей точкой;
1 – целое число.
Над вещественными значениями допустимы следующие операции:
+ сложение;
- вычитание;
* умножение;
/ деление.
Все они дают вещественный результат, если хотя бы один операнд вещественный.
Применение операций отношения дает логический результат.
