![](/user_photo/2706_HbeT2.jpg)
- •Введение в object pascal
- •Лекция 1. Интегрированная Среда и Состав языка Object Pascal
- •1.1 Работа с окнами
- •1.2 Редактирование в Object Pascal
- •1.3 Команды меню
- •1.4 «Горячие» клавиши в Object Pascal
- •1.5 Состав языка
- •1.5.1 Алфавит и ключевые слова
- •1.5.2 Идентификаторы
- •1.5.3 Знаки операций, разделители, выражения и операторы
- •Лекция 2. Описательная часть программы
- •2.1 Структура программы
- •2.2 Описание констант
- •2.3 Описание и использование меток
- •2.4 Комментарии
- •Лекция 3. Описание переменных
- •3.1 Структура раздела описания переменных
- •3.2 Классификация типов данных
- •3.2.1 Целочисленные типы
- •3.2.2 Логический тип
- •3.2.3 Символьный тип
- •3.2.4 Вещественные типы
- •3.3 Описание типов пользователя
- •Лекция4. Выражения
- •4.1 Порядок выполнения операций
- •4.2 Выражения целого типа
- •4.3 Вещественные выражения
- •4.4 Логические выражения
- •Лекция 5. Программы Линейной структуры
- •5.1 Операторы ввода (Read, Readln)
- •5.2 Операторы вывода (Write, Writeln)
- •5.2.1 Форматирование численных значений
- •5.2.2 Вывод строковых, символьных и логических значений
- •5.2.3 Вывод вещественных значений в экспоненциальном формате
- •5.2.4 Расположение данного в поле вывода. Примеры
- •5.3 Оператор присваивания
- •5.4 Составной оператор
- •5.5 Стандартные процедуры и функции
- •5.5.1 Понятие процедуры и функции
- •5.5.2 Описание некоторых стандартных процедур и функций
- •5.5.3 Примеры программ линейной структуры
- •Лекция 6. Операторы ветвления (выбора)
- •6.1 Оператор ветвления if
- •6.2 Оператор множественного выбора (варианта) - case
- •Лекция 7. Операторы организации циклов
- •7.1 Цикл типа for
- •7.1.1 Прямая форма оператора for
- •7.1.2 Обратная форма оператора for
- •7.1.3 Советы для начинающих и примеры
- •7.2 Цикл типа While
- •7.3 Цикл типа Repeat... Until
- •7.4 Дополнительные операторы при программировании циклов
- •7.4.1 Досрочный выход из цикла - break
- •7.4.2 Переход к следующей итерации цикла - continue
- •Лекция 8. Массивы
- •8.1 Одномерные массивы
- •8.2 Сортировка одномерного массива
- •8.3 Массивы с большей размерностью
- •8.4 Констант-массивы
- •8.5 Генератор случайных чисел
- •8.5.1 Описание функции Random
- •8.5.2 Применение случайных чисел при работе с массивами
- •Лекция 9. Строки
- •9.1 Строковый тип
- •9.2 Операции над строками
- •Лекция 10. Записи и множества
- •10.1 Запись
- •10.2 Множества
- •11 Пользовательские процедуры и функции
- •11.1 Описание функции и процедуры
- •11.2 Понятие формальных и фактических параметров
- •11.3 Способы передачи параметров в подпрограмму через заголовок
- •11.4 Область видимости идентификаторов
- •12 Файлы
- •12.1 Основные понятия
- •12.2 Типизированные файлы
- •12.3 Текстовые файлы
3.2.4 Вещественные типы
В Object Pascal имеются пять встроенных вещественных типов: Real, Single, Double, Extended и Сотр.
Вещественные типы различаются диапазоном и точностью значений (смотри таблицу 3.3).
Таблица 3.3. Характеристики вещественных типов
Тип |
Диапазон |
Кол-во десятичных значащих цифр |
Размер в байтах |
Real |
2.9∙10-39..1.7∙1038 |
11-12 |
6 |
Single |
1.5∙10-45..3.4∙1038 |
7-8 |
4 |
Double |
5∙10-324..1.7∙10308 |
15-16 |
8 |
Extended |
3.4∙10-932 ..1.1∙104932 |
19-20 |
10 |
Comp |
-9.2∙1018..9.2∙1018 |
19-20 |
8 |
Приведём пример описания переменных вещественного типа:
var
A, B : Real;
X : Single;
Z, C : Double;
3.3 Описание типов пользователя
Существует несколько возможностей создания (описания) типов пользователя. Описание типов пользователя выполняется в разделе, начинающегося с ключевого слова type.
1. Полное соответствие стандартному типу. В этом случае переменные нового типа обладают такими же свойствами, что и переменные базового типа.
type
<идентификатор — имя типа> = <идентификатор
стандартного базового типа>;
Примеры:
type
Mylnteger = Integer;
MyReal = Real;
MyString = String[255];
2. Поддиапазон стандартного типа. Такие типы называются ограниченными. Базовым типом в этом случае может быть любой перечислимый тип. Ограниченный тип сохраняет все свойства базового и отличается лишь тем, что имеет ограниченный диапазон значений. Использование ограниченных типов, определенных пользователем, значительно улучшает наглядность и читаемость программ. Кроме того, специальная опция компилятора позволяет включить контроль выхода переменных за пределы объявленного диапазона, а это удобно при отладке программы. Включение контроля: {$R+}, а выключение его: {$R—}.
type
< идентификатор - имя типа > = < начальное значение
бaзового типа >.. < конечное значение базового типа >;
Примеры:
1)
type
MyInteger = -327.. 327;
СharS = 'A ' .. 'Z ' ;
2)
program p3_2 ;
type
MyType = 0 . . 9;
var
varl, var2 : MyType;
begin
{$R-}
varl: =55; { выход за диапазон, но ошибки не возникает }
{$R+}
var2:= 55; { выход за диапазон, ошибка возникнет }
end.
3. Новый перечислимый тип. При его определении в соответствующем порядке задаются все необходимые значения, которые может принимать переменная данного типа. Значения переменных нового типа будут представлены при помощи идентификаторов, которые, таким образом, будут являться константами нового типа.
Примеры:
type
Operator = ( plus, minus, multi, divide );
Day = ( Mon, Tues, Wed, Thur, Fri, Sat, Sun);
Из примеров видно, что переменные типа Operator могут принимать одно из четырех значений plus, minus, multi, divide; переменные типа Day могут одно из 7 значений.
Операции отношения =, <>, >, <, >=, <= можно применять ко всем переменным перечислимых типов, в том числе к описанным пользователем. Для определения результата операций сравнения мы записываем значения в нужном порядке. Для типа Operator в приведенном выше примере справедливы соотношения: plus < minus < multi < divide.