
- •Оглавление
- •Введение
- •Основные этапы решения задач на эвм
- •Анализ постановки задачи и ее предметной области
- •Формальное решение задачи
- •Алгоритмизация
- •Основные средства представления алгоритмов
- •Визуальные алгоритмы
- •Процесс программирования
- •Языки программирования
- •Язык программирования Pascal
- •Среда программирования Delphi
- •Событийная модель ос Windows
- •Концепция объектно-ориентированного программирования
- •Delphi. Основные характеристики продукта
- •Высокопроизводительный компилятор в машинный код
- •Быстрая разработка приложения из прототипов
- •Структурное объектно-ориентированное программирование
- •Создание приложения в Delphi
- •Свойства в Delphi
- •События в Delphi
- •Основные понятия алгоритмического языка Состав языка
- •Основные символы
- •Элементарные конструкции
- •Выражения
- •Комментарии
- •Директивы компилятора
- •Тип данных
- •Приведение типов
- •Простые типы данных Целые типы данных
- •Битовая арифметика
- •Вещественные типы данных
- •Логический тип данных
- •Символьный тип данных
- •Структура программы
- •Константы
- •Переменные
- •Операторы Оператор присваивания
- •Оператор перехода
- •Структурные операторы
- •Операторы управления выполнением цикла
- •Оператор варианта
- •Подпрограммы
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Структурированные типы данных Массивы
- •Строковой тип данных (строки)
- •Множества
- •Файлы. Файловый тип
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Последовательный и прямой доступ к компонентам файла
- •Процедурный тип
- •Вариантный тип
- •Адресный тип. Указатели
- •Динамические переменные
- •Динамические структуры данных
- •Динамические массивы
- •Очереди
- •Статические методы
- •Виртуальные методы
- •Динамические методы
- •Методы обработки сообщений
- •Конструкторы и деструкторы
- •Замещенные методы
- •Абстрактные методы
- •Свойства
- •Обработчики событий
- •Список рекомендуемой литературы
Битовая арифметика
Битовая или поразрядная арифметика введена в ObjectPascal для обеспечения возможности работы с двоичными разрядами (битами). Операции битовой арифметики применимы только к целым типам.
Первая группа операций - логические операции not, and, or и xor.
Операция not является одноместной, она изменяет каждый бит целого числа на обратный.
Операции and, or и xor - двуместные, операнды этих операций – целые величины одинаковой длины. Операции выполняются попарно над всеми двоичными разрядами операндов.
Вторая группа операций - это операции сдвига влево shl и сдвига вправо shr:
I shl N
I shr N.
Эти операции сдвигают двоичную последовательность значения I влево или вправо на N двоичных разрядов. При этом биты, уходящие за пределы разрядной сетки, теряются, а освободившиеся двоичные разряды заполняются нулями. При сдвиге вправо отрицательных значений освободившиеся разряды заполняются единицами.
Вещественные типы данных
Вещественные типы данных определяют данные, которые реализуются подмножеством вещественных чисел, допустимых в ЭВМ.
Вещественные типы в TurboPascal
Тип |
Диапазон значений |
Количество цифр мантиссы |
Требуемая память, байт |
Real |
2.9e-39 .. 1.7e+38 |
11 |
6 |
Single |
1.5e-45 .. 3.4e+38 |
7 |
4 |
Double |
5.0e-324 .. 1.7e+308 |
15 |
8 |
Extended |
3.4e-4932 .. 1.1e+4932 |
19 |
10 |
Comp |
-9.2e+18 .. 9.2e+18 |
19 |
8 |
Вещественные типы в ObjectPascal
Тип |
Диапазон значений |
Количество цифр мантиссы |
Требуемая память, байт |
Real48 * |
2.9e-39 .. 1.7e+38 |
11–12 |
6 |
Single |
1.5e–45 .. 3.4e+38 |
7–8 |
4 |
Double (Real) |
5.0e–324 .. 1.7e+308 |
15–16 |
8 |
Extended |
3.6e–4951 .. 1.1e+4932 |
19–20 |
10 |
Comp * |
–2^63+1 .. 2^63 –1 |
19–20 |
8 |
Currency |
–922337203685477.5808.. 922337203685477.5807 |
19–20 |
8 |
* - устаревшие типы данных, оставленные для совместимости с TurboPascal, рекомендуется неиспользовать.
Над вещественными операндами можно выполнять следующие арифметические операции, дающие вещественный результат:
сложение + , вычитание - , умножение * , деление / .
К величинам вещественного типа применимы все операции отношения, дающие булевский результат.
Один из операндов, участвующих в этих операциях, может быть целым.
К вещественным аргументам применимы функции, дающие вещественный результат:
Abs(X), Sqr(X), Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X), Frac(X), Int(X), Pi.
Функция Frac(X) возвращает дробную часть X, функция Int(X) – целую часть X.
Безаргументная функция Pi возвращает значение числа Пи действительного типа.
К аргументам действительного типа применимы также функции Trunc(X) и Round(X), дающие целый результат. Первая из них выделяет целую часть действительного аргумента путем отсечения дробной части, вторая округляет аргумент до ближайшего целого.