
- •Содержание
- •Тема 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. Объявление и удаление объектов
- •Литература
2.7 Стандартные функции
Object Pascal располагает большим набором стандартных функций, предназначенных для решения разнообразных функций. Из них можно выделить несколько категорий
функции преобразования типов,
математические функции,
функции обработки строк.
Таблица 2.10.
Функции преобразования типов
Функция/Процедура |
Назначение |
CompToCurrency() |
Преобразует значение Comp в значение Currency |
CompToDouble() |
Преобразует значение Comp в значение Double |
CurrencyToComp() |
Преобразует значение Currency в значение Comp |
CurrToStr() |
Преобразует значение Currency в строку |
CurrToStrF() |
Преобразует значение Currency в строку в заданном формате |
DoubleToComp() |
Преобразует значение Double в значение Comp |
lnt() |
Возвращает целую часть вещественного значения |
IntToStr() |
Преобразует значение Integer в строку |
Round() |
Округляет вещественное значение до ближайшего целого |
Str() |
Преобразует числовое значение в строку |
StrToCurr() |
Преобразует строку в значение Currency |
StrTolnt() |
Преобразует строку, в которой представлено целое значение (в десятичной или шестнадцатеричной форме), в целое значение |
StrTolnt64() |
Преобразует строку, в которой представлено целое значение (в десятичной или шестнадцатеричной форме), в целое значение типа Int64 |
Truncf() |
Усекает вещественное значение до целого (отбрасывает дробную часть) |
Val() |
Преобразует строку в числовое значение |
Математические функции
Над целыми данными выполняются все математические операции как над "живыми" числами. Данные целых типов можно складывать (+), вычитать (-) и умножать (*). Однако некоторые операции и функции, применяемые к данным целых типов, имеют несколько иной смысл.
Таблица 2.11.
Операция |
Результат |
Abs (X) |
Возвращает абсолютное целое значение Х |
Х Div Y |
Возвращает целую часть частного деления Х на Y |
Х Mod Y |
Возвращает остаток частного деления Х на Y |
Odd (X) |
Возвращает булево True (истина), если Х — нечетное целое, и False (ложь) — в противном случае |
Sqr (X) |
Возвращает целый квадрат Х (т.е. Х*Х) |
В Delphi есть модуль System, содержащий ряд процедур обработки данных вещественных типов. Наиболее распространенные из них перечислены в табл. 2.12. Много полезных процедур содержится также в модулях SysUtils и Math.
Таблица 2.12.
Функции вещественных типов
Функция |
Возвращаемое значение |
Abs (x) |
Абсолютная величина х |
АrсТаn(х) |
Арктангенс х |
Cos (х) |
Косинус х (х выражается в радианах, а не в градусах) |
Ехр (х) |
Экспоненциальная функция от х |
Frac(x) |
Дробная часть х |
Int (х) |
Целая часть х. Несмотря на название, возвращает вещественное значение (с плавающей запятой), т.е. просто устанавливает нуль в дробной части |
Ln (х) |
Натуральный логарифм от х |
Pi |
Число Пи (3.1416...) |
Round (х) |
Ближайшее к х целое значение. Возвращает значение целого типа. Условие "ближайшее к х" не работает, если верхнее и нижнее значения оказываются равноудаленными (например, ес-ли дробная часть точно равна 0,5). В этих случаях Delphi перекладывает решение на операционную систему. Обычно процессоры Intel решают эту задачу в соответствии с рекоменда-цией IEEE округлять в сторону ближайшего четного целого числа. |
Sin(x) |
Синус х |
Sqr(x) |
Квадрат х, т.е. X*X |
Sqrt (х) |
Квадратный корень от х |
Тrunc (х) |
Целая часть х. В отличие от Int, возвращающей вещественное значение, Trunc возвращает целое |