Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»
Таблица 4 – Функции преобразования типов
Функция |
Описание |
function Chr(X: Byte): Char; |
Возвращает символ с заданным порядковым |
|
номером |
function High(X); |
Возвращает верхний предел диапазона |
|
значений аргумента |
function Low(X); |
Возвращает нижний предел диапазона |
|
значений аргумента |
function Ord(X); |
Возвращает порядковый номер значения |
|
порядкового типа |
function Round(X: Extended): Int64; |
Округляет значение вещественного типа к |
|
ближайшему целому |
function Trunc(X: Extended): Int64; |
Преобразует значение вещественного типа |
|
к целому путем отсечения дробной части |
В модуле System также находятся функции для работы с файлами и динамической памятью, а также некоторые другие подпрограммы.
В поставку Delphi входит модуль Math в который, как можно догадаться по названию, входят часто используемые математические функции. Преимуществом использования функций из этого модуля является то, что они очень быстро работают, так как написаны на языке ассемблера. Ниже приведена таблица некоторых функций модуля Math.
Таблица 5 – Тригонометрические и гиперболические функции
Функция Описание
Тригонометрические и обратные тригонометрические функции
function CoTan(const X: Extended): Extended; function Tan(const X: Extended): Extended;
procedure SinCos(const Theta: Extended; var Sin, Cos: Extended);
function ArcSin(const X: Extended): Extended; function ArcCos(const X: Extended): Extended; function ArcTan2(const X: Extended): Extended;
Котангенс
Тангенс
Вычисление синуса и косинуса угла, работает в два раза быстрее, чем если вычислять отдельно cos и sin.
Арксинус
Арккосинус
Арктангенс с учетом квадранта(функция ArcTan, не учитывающая квадрант, находится в модуле System)
Гиперболические функции
function ArcCosh(const X: Extended): Extended; |
Гиперболический арккосинус |
function ArcSinh(const X: Extended): Extended; |
Гиперболический арксинус |
function ArcTahn(const X: Extended): Extended; |
Гиперболический арктангенс |
Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»
function Sinh(const X: Extended): Extended; |
|
Гиперболический синус |
|
function Tanh(const X: Extended): Extended; |
|
Гиперболический тангенс |
|
function Cosh(const X: Extended): Extended; |
|
Гиперболический косинус |
|
Функции преобразования |
|||
function CycleToRad(const Cycles: Extended): |
|
Преобразование циклов в радианы |
|
|
|||
Extended; |
|
|
|
function DegToRad (const Degrees: Extended): |
|
Преобразование градусов в радианы |
|
Extended; |
|
|
|
function GradToRad (const Grads: Extended): |
|
Преобразование градов в радианы |
|
Extended; |
|
|
|
function RadToCycle (const Radians: Extended): |
Преобразование радианов в циклы |
||
Extended; |
|
|
|
function RadToDeg (const Radians: Extended): |
|
Преобразование радианов в градусы |
|
Extended; |
|
|
|
function RadToGrad (const Radians: Extended): |
|
Преобразование радианов в грады |
|
Extended; |
|
|
|
Таблица 6 – Арифметические функции модуля Math |
|
|
|
|
|
||
Функция |
|
Описание |
|
function Cell (const X: Extended): Integer; |
|
Округление вверх |
|
function Floor(const X: Extended): Integer; |
|
Округление вниз |
|
function IntPower(const Base: Extended; |
|
Возведение числа в целую степень. |
|
const Exponent: Integer): Extended; |
|
Работает быстрее, чем функция Power. |
|
function Ldexp (const X: Extended; const P: |
|
Умножение Х на 2 в степени P |
|
Integer): Extended; |
|
|
|
function LnXP1 (const X: Extended): |
|
Вычисление натурального логарифма Х+1. |
|
Extended; |
|
Рекомендуется для X, близких к нулю |
|
function LogN (const Base, X: Extended): |
|
Вычисление логарифма Х по основанию N |
|
Extended; |
|
|
|
function Log10 (const X: Extended): |
|
Вычисление десятичного логарифмах |
|
Extended; |
|
|
|
function Log2 (const X: Extended): Extended; |
|
Вычисление двоичного логарифмах |
|
function Power (const Base, Exponent: |
|
Возведение числа в степень. Работает |
|
Extended): Extended; |
|
медленнее IntPower. |
|
Кроме того модуль Math содержит множество подпрограмм для статистической обработки данных, а также некоторые функции используемые в финансовом анализе. Более подробную информацию о модуле Math можно получить воспользовавшись справочной системой.
Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»
Модуль SysUtils содержит большое количество вспомогательных подпрограмм таких как, например, подпрограмм преобразования типов (см. Лабораторную работу №2). Ввиду частого применения подпрограмм из этого модуля, модуль SysUtils автоматически добавляется в шаблон приложения.
Некоторые из функций этого модуля были рассмотрены ранее, другие функции будут рассматриваться в следующих лабораторных работах. Кроме модуля SysUtils часто используются еще два модуля. Это модули Windows и Messages которые обеспечивают вызов функций Windows API из программ Object Pascal.
1.Перепишите задание 3 из лабораторной работы №7 с использованием модуля.
2.Создайте модуль для работы с массивами. В состав модуля должны войти подпрограммы для ввода и вывода массивов, вставки и удаления элементов, несколько видов сортировки. Напишите тестовый проект для демонстрации возможностей модуля.
3.Перепишите программу из листинга 7 лабораторной работы №6 с использованием модуля. Интерфейсная часть модуля должна быть идентична модулю созданному в первом задании.
1.Сколько и какие разделы содержит модуль Object Pascal?
2.Каково назначение каждого раздела модуля?
3.Как подключить модуль к программе?
4.В чем основное различие между разделом интерфейса и разделом реализации модуля?
5.В каком порядке выполняются разделы инициализации модулей?
6.Сколько предложений uses может содержать модуль?
7.Каково назначение файла проекта?
8.Как добавить модуль в файл проекта?
9.Как создать файл модуля?
10.В чем отличие между файлом модуля с исходным текстом и откомпилированным файлом модуля?
11.Каков алгоритм поиска файла модуля если он включен в файл проекта, если не включен?
Справочные таблицы |
|
|
Таблица 1 – Математические функции модуля System ............................................................. |
9 |
|
Таблица 2 – Подпрограммы для работы со строками.............................................................. |
10 |
|
Таблица 3 |
– Подпрограммы для работы с переменными порядковых типов........................ |
10 |
Таблица 4 |
– Функции преобразования типов........................................................................... |
11 |
Таблица 5 |
– Тригонометрические и гиперболические функции............................................ |
11 |
Таблица 6 |
– Арифметические функции модуля Math.............................................................. |
12 |