Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
21-60.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
270.43 Кб
Скачать

25)Підпрограма-функція. Стандартні процедури та функції.

При вызове прдпрограммы-функции работа главной программы на некоторое время приостанавливается и начинает выполняться функция. Главная программа обычно передает функции какое-то конкретное знечение, указанное в главной программе. Этот параметр называется фактическим параметром, или аргументом. Он сопоставляется с некоторым формальным параметром, который является внутренним объектом подпрограммы. На основе заданных величин вычисляется результат, который возвращается в главную программу как значение функции.

Структура подпрограммы-функции Подпрограмма-функция начинается с заголовка, в котором содержится имя функции, имя и тип каждого формального параметра, а также тип результата:

Стандартні процедури та функції.

Процедуры управления работой программы

Процедуры управления работой программы - это процедуры, уп-

равляющие логикой выполнения программы.

--------------------T-------------------------------------------

¦ Процедура ¦ Описание ¦

+-------------------+-------------------------------------------+

¦ Break ¦ Завершает оператор for, while или repeat. ¦

+-------------------+-------------------------------------------+

¦ Continue ¦ Продолжает итерацию оператора for, while,¦

¦ ¦ или repeat. ¦

+-------------------+-------------------------------------------+

¦ Eхit ¦ Позволяет немедленно выйти из текущего мо-¦

¦ ¦ дуля. ¦

+-------------------+-------------------------------------------+

¦ Наlt ¦ Останавливает выполнение программы и возв-¦

¦ ¦ ращает управление операционной системе. ¦

+-------------------+-------------------------------------------+

¦ RunError ¦ Останавливает выполнение программы и гене-¦

¦ ¦ рирует ошибку этапа выполнения. ¦

L-------------------+--------------------------------------------

Функции преобразования

Ниже перечислены функции преобразования.

-------------------T--------------------------------------------

¦ Функция ¦ Описание ¦

+------------------+--------------------------------------------+

¦ Chr ¦ Возвращает символ, заданный целым числом. ¦

+------------------+--------------------------------------------+

¦ High ¦ Возвращает старшее значение в диапазоне ар-¦

¦ ¦ гумента. ¦

+------------------+--------------------------------------------+

¦ Low ¦ Возвращает младшее значение в диапазоне ар-¦

¦ ¦ гумента. ¦

+------------------+--------------------------------------------+

¦ Оrd ¦ Возвращает порядковое число по значению пе-¦

¦ ¦ речислимого типа. ¦

+------------------+--------------------------------------------+

¦ Rоund ¦ Округляет значение вещественного типа до¦

¦ ¦ значения, имеющего длинный целый тип. ¦

+------------------+--------------------------------------------+

¦ Тrunс ¦ Усекает значение вещественного типа до зна-¦

¦ ¦ чения, имеющего длинный целый тип. ¦

L------------------+---------------------------------------------

Арифметические функции

Эти функции полезно использовать для выполнения арифметичес-

ких операций.

Примечание: Значения, возвращаемые процедурами опера-

ций с плавающей запятой модуля System, при компиляции в

режиме числовой обработки (директива {$N+}), имеют не ве-

щественный тип (real), а расширенный (extended).

-------------------T--------------------------------------------

¦ Функция ¦ Описание ¦

+------------------+--------------------------------------------+

¦ Abs ¦ Возвращает абсолютное значение аргумента. ¦

+------------------+--------------------------------------------+

¦ Аrctan ¦ Возвращает арктангенс аргумента. ¦

+------------------+--------------------------------------------+

¦ Cоs ¦ Возвращает косинус аргумента. ¦

+------------------+--------------------------------------------+

¦ Eхp ¦ Возвращает экспоненту аргумента. ¦

+------------------+--------------------------------------------+

¦ Frас ¦ Возвращает дробную часть аргумента. ¦

+------------------+--------------------------------------------+

¦ Int ¦ Возвращает целую часть аргумента. ¦

+------------------+--------------------------------------------+

¦ Ln ¦ Возвращает натуральный логарифм аргумента. ¦

+------------------+--------------------------------------------+

¦ Pi ¦ Возвращает значение числа Pi ¦

¦ ¦ (3.141592653897932385). ¦

+------------------+--------------------------------------------+

¦ Sin ¦ Возвращает синус аргумента. ¦

+------------------+--------------------------------------------+

¦ Sqr ¦ Возвращает аргумент в квадрате. ¦

+------------------+--------------------------------------------+

¦ Sqrt ¦ Возвращает квадратный корень аргумента. ¦

L------------------+---------------------------------------------

Порядковые процедуры и функции

-------------------T--------------------------------------------

¦ Процедура/функция¦ Описание ¦

+------------------+--------------------------------------------+

¦ Dес ¦ Уменьшает значение переменной. ¦

+------------------+--------------------------------------------+

¦ Inс ¦ Увеличивает значение переменной. ¦

+------------------+--------------------------------------------+

¦ Оdd ¦ Проверяет, является ли аргумент нечетным¦

¦ ¦ числом. ¦

+------------------+--------------------------------------------+

¦ Рred ¦ Возвращает предшествующее значение аргумен-¦

¦ ¦ та. ¦

+------------------+--------------------------------------------+

¦ Suсс ¦ Возвращает его последующее значение. ¦

L------------------+---------------------------------------------

Строковые процедуры и функции

Следующие процедуры и функции используются для работы со

строками Паскаля.

-------------------T--------------------------------------------

¦ Процедура ¦ Описание ¦

+------------------+--------------------------------------------+

¦ Cоncat ¦ Выполняет конкатенацию последовательности¦

¦ ¦ строк. ¦

+------------------+--------------------------------------------+

¦ Cору ¦ Возвращает подстроку строки. ¦

+------------------+--------------------------------------------+

¦ Delete ¦ Удаляет из строки подстроку. ¦

+------------------+--------------------------------------------+

¦ Insert ¦ Добавляет в строку подстроку. ¦

+------------------+--------------------------------------------+

¦ Length ¦ Возвращает динамическую длину строки. ¦

+------------------+--------------------------------------------+

¦ Pоs ¦ Производит поиск подстроки в строке. ¦

+------------------+--------------------------------------------+

¦ Str ¦ Преобразует численное значение в его стро-¦

¦ ¦ ковое представление. ¦

+------------------+--------------------------------------------+

¦ Val ¦ Преобразует строковое значение в его чис-¦

¦ ¦ ленное представление. ¦

L------------------+---------------------------------------------

Процедуры и функции динамического распределения памяти

Эти процедуры и функции используются для управления динами-

чески распределяемой областью - областью памяти, которая занимает

всю свободную память или ее часть, остающуюся при выполнении

программы. Полное описание методов, используемых для управления

динамически распределяемой областью памяти приводится в разделе

"Программа динамического распределения памяти" в Главе 21 ("Воп-

росы управления памятью").

Процедуры динамического распределения памяти

-------------------T--------------------------------------------

¦ Процедура/функция¦ Описание ¦

+------------------+--------------------------------------------+

¦ Dispose ¦ Уничтожает динамическую переменную. ¦

+------------------+--------------------------------------------+

¦ FrееМем ¦ Уничтожает динамическую переменную данного¦

¦ ¦ размера. ¦

+------------------+--------------------------------------------+

¦ GetМем ¦ Создает новую динамическую переменную за-¦

¦ ¦ данного размера и устанавливает на нее пе-¦

¦ ¦ ременную-указатель. ¦

+------------------+--------------------------------------------+

¦ МахАvail ¦ Возвращает размер наибольшего непрерывного¦

¦ ¦ свободного модуля в динамически распределя-¦

¦ ¦ емой области памяти, соответствующий разме-¦

¦ ¦ ру наибольшей динамической переменной, ко-¦

¦ ¦ торая может быть выделена при обращении в¦

¦ ¦ МахAvail. ¦

+------------------+--------------------------------------------+

¦ МемАvail ¦ Возвращает количество имеющихся в динами-¦

¦ ¦ чески распределяемой области свободных¦

¦ ¦ байт. ¦

+------------------+--------------------------------------------+

¦ New ¦ Создает новую динамическую переменную и ус-¦

¦ ¦ танавливает на нее переменную-указатель. ¦

L------------------+---------------------------------------------

Функции для работы с указателями и адресами

Ниже перечислены функции для работы с указателями и адреса-

ми.

-------------------T--------------------------------------------

¦ Функции ¦ Описание ¦

+------------------+--------------------------------------------+

¦ Аddr ¦ Возвращает адрес заданного объекта. ¦

+------------------+--------------------------------------------+

¦ CSeg ¦ Возвращает текущее значение регистра CS. ¦

+------------------+--------------------------------------------+

¦ DSeg ¦ Возвращает текущее значение регистра DS. ¦

+------------------+--------------------------------------------+

¦ Оfs ¦ Возвращает смещение для заданного объекта. ¦

+------------------+--------------------------------------------+

¦ Ptr ¦ Преобразует адрес базового сегмента и сме-¦

¦ ¦ щение в значение типа указатель. ¦

+------------------+--------------------------------------------+

¦ Seg ¦ Возвращает сегмент для заданного объекта. ¦

+------------------+--------------------------------------------+

¦ SPtr ¦ Возвращает текущее значение регистра SР. ¦

+------------------+--------------------------------------------+

¦ SSeg ¦ Возвращает текущее значение регистра SS. ¦

L------------------+---------------------------------------------

Прочие процедуры и функции

-------------------T--------------------------------------------

¦ Процедура/функция¦ Описание ¦

+------------------+--------------------------------------------+

¦ Exclude ¦ Исключает элемент из множества. ¦

+------------------+--------------------------------------------+

¦ FillChar ¦ Заполняет заданное число следующих друг за¦

¦ ¦ другом бит указанным значением. ¦

+------------------+--------------------------------------------+

¦ Hi ¦ Возвращает старший байт аргумента. ¦

+------------------+--------------------------------------------+

¦ Include ¦ Включает элемент в множество. ¦

+------------------+--------------------------------------------+

¦ Lo ¦ Возвращает младший байт аргумента. ¦

+------------------+--------------------------------------------+

¦ Моvе ¦ Копирует заданное число непрерывных байт в¦

¦ ¦ указанных границах из одного места в дру-¦

¦ ¦ гое, границы которого также указываются. ¦

+------------------+--------------------------------------------+

¦ ParamCount ¦ Возвращает число параметров, переданных¦

¦ ¦ программе в командной строке. ¦

+------------------+--------------------------------------------+

¦ ParamStr ¦ Возвращает параметр, заданный в командной¦

¦ ¦ строке. ¦

+------------------+--------------------------------------------+

¦ Random ¦ Возвращает случайное число. ¦

+------------------+--------------------------------------------+

¦ Rаndомizе ¦ Инициализирует встроенный генератор случай-¦

¦ ¦ ных чисел случайным значением. ¦

+------------------+--------------------------------------------+

¦ SizeOf ¦ Возвращает число байт, занимаемых аргумен-¦

¦ ¦ том. ¦

+------------------+--------------------------------------------+

¦ Swap ¦ Меняет местами старший и младший байты ар-¦

¦ ¦ гумента. ¦

+------------------+--------------------------------------------+

¦ TypeOf ¦ Указывает на таблицу виртуальных методов¦

¦ ¦ объекта. ¦

+------------------+--------------------------------------------+

¦ UpCase ¦ Преобразует символ в верхний регистр. ¦

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]