Стандартные функции Pascal
В программировании, как и в любой другой науке со временем накапливается опыт и способы решения разных задач становятся все более совершенными. При этом решения многих задач – универсальные.
Поэтому нет никакого смысла писать один и тот же алгоритм для их решения, если он уже давно известен и написан программистами. Подобные алгоритмы представлены в виде модулей и функций, а затем применяются в программах, которые пишутся в настоящее время.
Процедура или функция уже может входить в язык программирования или в модуль, который нужно «подключить» к программе. Дальше приведем стандартные функции языка программирования Pascal.
Стандартные функции Pascal
Основные или арифметические функции
Функция | Назначение | Тип результата |
abs (x) | абсолютное значение аргумента | совпадает с типом аргумента |
sqr (x) | квадрат аргумента | совпадает с типом аргумента |
sqrt (x) | квадратный корень аргумента | вещественный |
cos (x) | косинус аргумента | вещественный |
sin (x) | синус аргумента | вещественный |
arctan (x) | арктангенс аргумента | вещественный |
exp (x) | ex | вещественный |
ln (x) | натуральный логарифм | вещественный |
int (x) | целая часть числа | вещественный |
frac (x) | дробная часть числа | вещественный |
Функции преобразования типов
round (x) | — округляет вещественное число до ближайшего целого. |
trunc (x) | — выдает целую часть вещественного числа, отбрасывая дробную. |
Пользовательские функции Pascal
Функция в Pascal – это подпрограмма, которая всегда возвращает определенное значение (в отличие от процедуры). Поэтому в теле функции ее имени присваивается результат (вычислительное значение), который она возвращает.
Другими словами, функция представляет собой подпрограмму, результатом работы которой выступает определенное значение.
Функции применяют для:
- проведения одинаковых расчетов в разных местах программы;
- для создания общедоступных библиотек функций.
Синтаксис:
- заголовок начинается служебным словом function
- описание формальных параметров (тех, значения которых передаются из программы в функцию):
- параметры-переменные — параметры, значения которых будут доступны и в основной программе (они возвращаются в программу)
- тип возвращаемого функцией результата через двоеточие описывается в конце заголовка функции:
- Функция вызывается в теле основной программы, только если ее имя есть в каком-либо выражении (процедура же вызывается отдельно).
- Внутри функции можно объявлять и применять локальные переменные:
Правила использования функций в Pascal:
- чтобы воспользоваться функцией, необходимо указать ее в правой части оператора присваивания;
- при обращении к функции нужно указать ее аргументы в круглых скобках;
- в разделе описания переменных важно правильно указывать типы переменных, которые планируете употребить в качестве результата или агрумента функции;
- в одном выражении доступно обращение к нескольким функциям.
Правила применения процедур:
- для выполнения процедуры ее необходимо вызвать в программе в качестве оператора;
- в разделе описания переменных правильно указывайте тип переменной, которую планируете употребить, как аргумент процедуры.
Задача. Найдите значения выражений:
a) (1+x)2
b)
c) |a+ bx|
Перед тем как приступить к составлению программы, нужно перевести данные выражения с математического языка на Pascal.
a) (1+x)2 → sqr(1+x)
b) → sqrt((1+A)*5)
c) |A+ bx| → abs(A+b*x)
Теперь можно переходить к составлению самой программы.
Program Primer;
Uses
Crt;
Var
A : word; {так как подкоренное выражение должно быть положительно}
b, x, result : real;
Begin
ClrScr;
Writeln(‘Введите значения переменных (A-положительно)’);
Write(‘A=’);
Readln(A);
Write(‘b=’);
Readln(b);
Write(‘x=’);
Readln(x);
Result := sqr(1+x);
Writeln (‘sqr(1+x)=’, result);
Result := sqrt((1+A)*5);
Writeln (‘sqrt((1+A)*5)=’, result);
Result := abs(A+b*x);
Writeln (‘abs(A+b*x)=’, result);
Readln;
End.
Задание. Наберите программу, протестируйте ее работоспособность, добавьте комментарий, сохраните файл, после чего распечатайте листинг.
Любые вопросы по материалу можете задать в комментариях. Возникли ли у вас какие-то сложности?