
- •Содержание
- •Тема 1. Основные понятия
- •1.2. Задача, алгоритм, программа
- •1.2.Структура модуля исходного кода
- •Тема 2. Линейный блок: оператор присваивания, переменная, процедура и функция
- •2.1 Линейный блок
- •2.2. Переменные и константы
- •Синтаксис объявления переменной в ObjectPascal
- •Синтаксис объявления именной константы в ObjectPascal
- •Синтаксис объявления переменных в VisualBasic
- •2.3Типыпеременныхиконстант
- •Var1: type definitions;
- •Var2, var3: type definition4;
- •Var4 : typel;
- •2.4. Простые типы данных
- •2.4.1. Порядковые типы
- •Поддиапазонные типы
- •Перечислимые типы
- •Операции над порядковыми типами
- •2.4.2. Целые переменные
- •Integer Shortint Smallint Longint Byte Word Cardinal
- •Физические целые типы
- •Логические целые типы
- •2.4.3. Вещественные переменные
- •Вещественные типы.
- •2.4.4. Строковые переменные
- •2.4.5. Булевы типы
- •Размеры переменных булевых типов
- •2.5. Процедуры и функции
- •Описание и вызов процедуры
- •Описание и вызов функции
- •Передача параметров
- •2.6 Область видимости переменных, констант, процедур и функций
- •2.7 Стандартные функции
- •Функции преобразования типов
- •Математические функции
- •Функции вещественных типов
- •Функции обработки строк
- •Строковые функции
- •2.8 Операции над данными
- •2.9 Приоритеты операций
- •2.10. Структурные типы
- •2.10.1. Записи
- •1: Variantnamel: varianttype3;
- •2, 3: Variantname2: varianttype4;
- •1: (KinfWorker: String[15];
- •2: (PosAdmin: String[20]);
- •2.10.2. Массивы
- •Var ИмяМассива: array [ТипИндекса1, ...., ТипИндексаN] of БазовыйТип
- •Var MyArray: Array [1..10] of Integer;
- •2.10.3. Множества
- •Var MyAlphaSet: CharSet;
- •2.10.4. Файловый тип
- •2.11. Указательные типы
- •Средства работы с указателями
- •2.12. Процедурные типы
- •2.13. Тип variant
- •Тема 3. Блок принятия решений: операторы ветвления
- •3.1 Оператор if
- •If условие1 then
- •3.3Операторcase
- •Тема 4. Цикличекий блок: операторы повторяющихся действий
- •4.1.Цикл for
- •4.2. Циклы while и repeat
- •4.3. Операторы break и cont inue
- •Тема 5. Работа с текстовыми файлами
- •5.1. Типы доступа к текстовым файлам
- •5.2. Текстовые файлы
- •5.2.2 Бинарные файлы
- •Id : String[12];
- •Тема 6. Работа с классами
- •6.1. Понятие класса
- •6.2. Классы в object pascal
- •6.3. Свойства класса
- •Способ глобальных и локальных переменных
- •Способ процедуры свойств
- •Создание и удалениеобъектов
- •Inherited Create;
- •Inherited Destroy;
- •6.4. Методы класса
- •6.5. Объявление и удаление объектов
- •Литература
Var1: type definitions;
// В одном разделе "var" можно объявить несколько переменных.
// Нескольким переменным можно присваивать один и тот же тип.
Var2, var3: type definition4;
// Программу легче читать, если переменным присвоены существующие типы
Var4 : typel;
Пример
type
Str25 = String[25];
Синтаксис Object Pascalпозволяет одновременно конструировать исключительно сложные типы и определение переменных. Однако определение типов в разделахtypeтех или иных блоков дает возможность использовать эти типы в разных частях программы.
Новые типы определяются из типов следующих категории.
1.Простые типыдля хранения информации в форме чисел и других "упорядоченных" значении.
2. Строковые типы для хранения последовательностей символов.
3. Структурные типыдля одновременного хранения информации разных типов.
4. Указательные типы для косвенного обращения к переменным заданных типов.
5. Процедурные типыдля обращения к процедурам и функциям, рассматриваемым как переменные.
6. Вариантные типыдля хранения в одной переменной данных различных типов.
Обычно идентификаторы типов используются только при определении новых типов или объявлении переменных. Есть, однако, несколько функций, в которых имя типа может использоваться как часть выполняемого оператора. Например, функция SizeOf(Т) возвращает количество байтов, занимаемых переменной Т. Функция SizeOf очень важна для написания эффективных программ. Многие из определенных в Object Pascal типов имеют очень сложную структуру и могут занимать в памяти довольно много места. При этом элементы таких типов созданы скорее для представления значений в некотором логическом порядке, а не для того, чтобы занимать место в памяти. Функция SizeOf избавляет программиста от необходимости вычислять объем данных в подобных случаях.
Простые типы данных представлены в табл. 2.3.
Таблица 2.3 | |||||
Простые типы данных переменных и констант в ObjectPascal | |||||
Тип данных |
Описание |
Диапазон значений |
Занимаемая память | ||
Object Pascal |
С++ |
VB |
| ||
Boolean |
Вool
|
Boolean |
Логический |
True или False |
2 байта |
Byte |
unsigned char |
Byte |
Двоичные данные |
От 0 до 255 |
1 байт |
Shortint |
Char
|
|
Двоичные данные |
От –128 до 127 |
1 байт |
Smallint |
Short
|
Integer |
Целые числа |
От –32768 до 32767 |
2 байта |
Integer |
Long |
Long |
Целые числа (длинные) |
От –2 147 483 648 до +2 147 483 647 |
4 байта |
Int64 |
|
|
Целые числа |
От –263до 263-1 |
8 байта |
Char |
|
|
Символьный |
1 символ |
1 байт |
ShortString |
|
|
Символьный |
От 1 до 255 символов |
2-256 байт |
String |
|
String |
Символьный |
От 4 байт до 2 Гб |
от 4 байт до 2 Гб |
Single |
Float
|
Single |
Вещественные числа |
От± 1.4*10-45 до + 3.4*10+45 (7-8 значащих. цифр) |
4 байта |
Real48 |
|
|
Вещественные числа |
От± 2,9*10-39 до + 1.7*10+38 (10-12 значащих. цифр) |
6 байта |
Real |
Double
|
Double
|
Вещественные числа |
От 5.0 10-324 до 1.7 10+308 (15-16 значащих. цифр) |
8 байтов |
Extended |
Long Double |
|
Вещественные числа |
От 3.6 10-4951 до 1.1 10+4932 (19-20 значащих. цифр) |
10 байтов |
Comp |
|
|
Целые числа |
‑263до 263-1 (19-20 значащих. цифр) |
8 байт |
Currency |
|
Currency |
Вещественные числа |
‑922337203685477,5808 до 922337203685477,5808 (19-20 значащих. цифр) |
8 байт |