- •Модуль и его структура
- •Структура модуля
- •Список uses
- •Интерфейс
- •Реализациия
- •Инициализация и завершение
- •Ключевые слова
- •Слово const
- •Слово type
- •Слово var
- •Комментарии
- •Переменные
- •Типы данных и переменные
- •Преобразование типов
- •Знаки операций
- •Массивы
- •Одномерные массивы
- •Многомерные массивы
- •Функции Low и High
- •Динамические массивы
- •Короткая строка
- •Длинная строка
- •Расширенная строка
- •Строка с терминальным нулем
- •Операции со строками Слияние
- •Извлечение символа
- •Управляющие символы в строках
- •Разбиение литерала по строкам программы
- •Сравнение строк
- •Строковые функции
- •Форматирование строк
- •Множества
- •Объявление записи
- •Оператор with
- •Массивы записей
- •Совместимость типов данных
- •Указатели
- •Статические и динамические переменные
- •Размещение динамических переменных
- •Разыменование указателя
- •Управление вычислениями Операторы if, then, else
- •Выполнение нескольких инструкций.
- •Вложенные условия.
- •Циклы Элементы структуры цикла
- •Цикл for…
- •Функции Pred и Succ
- •Цикл while
- •Цикл repeat
- •Управление циклами
- •Оператор goto
- •Оператор case
- •Область видимости идентификаторов
- •Подпрограммы
- •Процедуры и функции
- •Объявление и определение подпрограммы
- •Параметры подпрограмм
- •Локальные процедуры и функции
- •Перегрузка подпрограмм
- •Параметры по умолчанию
- •Включение внешнего файла в модуль
Знаки операций
С помощью знаков операций выполняют вычисления, сравнивают значения и т.д. Object Pascal предоставляет программисту большой набор операций над данными. Сначала рассмотрим те из них, которые применяются наиболее часто. Их список дан в таблице 1.2.
Таблица 1.2. Знаки операций
Символ |
Описание |
Пример |
Математические |
||
+ |
Сложение |
x := y + z; |
- |
Вычитание |
x := y - z; |
* |
Умножение |
x := y * z; |
/ |
Вещественное деление |
x := y / 3.14; |
div |
Целочисленное деление |
x := y div 10; |
Присваивание |
||
:= |
Присвоить |
x := 10; |
Логические |
||
and |
Логическое «И» |
if (x=1) and (y=2) then ... |
or |
Логическое «ИЛИ» |
if (x=1) or (y=2) then ... |
xor |
Исключающее «ИЛИ» |
if (x=1) xor (y<=2) then .. |
Битовые |
||
and |
Поразрядное «И» |
x := x and $02; |
or |
Поразрядное «ИЛИ» |
x := x or $FF; |
xor |
Сложение по модулю 2 |
x := x xor $AB |
Сравнения |
||
= |
Равно |
if (x = 10) then ... |
<> |
Не равно |
if (x <> 10) then ... |
< |
Меньше чем |
if (x < 10) then ... |
> |
Больше чем |
if (x > 10) then ... |
<= |
Меньше или равно |
if (x <= 10) then ... |
>= |
Больше или равно |
if (x >= 10) then ... |
Одноместные |
||
^ |
Разыменование ссылки |
MyObject.Data^; |
@ |
Адрес |
ptr := @MyRecord; |
not |
Поразрядное отрицание |
x := x and not $02; |
not |
Логическое отрицание |
if not Valid then ... |
Другие |
||
$ |
Шестнадцатеричное число |
X := $FF; |
[] |
Индекс элемента массива |
X := MyArray[5]; |
. |
Точка – соединение полей |
X := Record.Data; |
Список операций достаточно внушителен. Учить его наизусть нет необходимости. Все эти операции вы постепенно научитесь использовать в процессе создания различных программ. Необходимость применения ряда операций возникает очень редко. Но есть и такие, которые необходимы постоянно.
Обратите внимание на операции and, or, xor и not. Например, ключевое слово and можно применить и как знак логической операции «И», так и как знак поразрядной операции над битами (двоичными цифрами) машинного кода.
Логические операции участвуют в выражениях, результатом вычисления которых является либо true (истинно), либо false (ложно). Результаты логических вычислений либо присваиваются переменным булевого типа (boolean), либо принимают участие в управлении программой if. . . then . . . ; while . . . do ; until …; Например
if Assigned(MyObject) and (MyObject.Age >=10)
then MyObject.Run;
Битовые операции выполняются над битами целых чисел. При этом операция применяется к значению 0 или 1, так, как если бы это были false или true. Область применения битовых операций – формирование признаков ветвления программы, работа с цветом, масками закраски фона и т.п.
Следующая таблица обобщает логические операции
Операция |
Результат |
not a |
true становится false и наоборот |
a and b |
true только когда оба операнда true |
a or b |
true когда один из операндов true |
a xor b |
true когда оба операнда имеют противоположную истинность, т.е. любое из двух true-false или false-true, но не true-true или false-false |