Стандартные математические функции паскаля таблица. Математические функции и процедуры в языке программирования паскаль


В программировании, как и в любой науке (хотя это и искусство также), с течением исторического времени накапливается опыт, методы решения различных задач. Решение многих задач является достаточно универсальным. Незачем каждый раз писать алгоритм для ее решения, если он уже был написан много лет назад и одобрен сообществом программистов. Такие алгоритмы оформляются в виде функций и модулей, а затем используются в программах, которые пишутся здесь и сейчас.

Функция или процедура может быть уже включена в сам язык программирования, а может входить в модуль, который требуется «подключить» к программе.

Ниже описаны стандартные (включенные в язык) функции языка программирования Паскаль.

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

Арифметические функции можно использовать только с величинами целого и вещественного типа.

Функция Назначение Тип результата
abs (x) абсолютное значение аргумента совпадает с типом аргумента
sqr (x) квадрат аргумента совпадает с типом аргумента
sqrt (x) квадратный корень аргумента вещественный
cos (x) косинус аргумента вещественный
sin (x) синус аргумента вещественный
arctan (x) арктангенс аргумента вещественный
exp (x) e x вещественный
ln (x) натуральный логарифм вещественный
int (x) целая часть числа вещественный
frac (x) дробная часть числа вещественный

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

Эти функции предназначены для преобразования типов величин, например, символа в целое число, вещественного числа в целое и т.д.

4.3. Стандартные функции в Turbo Pascal 7

В языке Паскаль существует ряд заранее разработанных подпрограмм-функций, которые можно использовать как готовые объекты. В Turbo Pascal их количество увеличено по сравнению со стандартом языка, и все они объединены в стандартные модули (см. п. 16). В данном разделе рассмотрены наиболее часто используемые стандартные функции. Стандартные функции ввода-вывода и динамического распределения памяти описаны в пп. 11 и 7 соответственно. Другие стандартные функции (работы со строками, указателями и адресами и т. д.), а также более подробное рассмотрение всех упомянутых выше функций, приведены в п. 16.

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

Арифметические функции можно использовать только с величинами целого и ипцественного типа. Их перечень приведен в табл. 4.

Таблица 4. Арифметические функции

Функция Назначение Тип результата
Abs(X) Абсолютное значение аргумента Совпадает с типом X
Arctan(X) Арктангенс аргумента Вещественный
Cos(X) Косинус аргумента Вещественный
Ехр(Х) е x Вещественный
Frac(X) Дробная часть числа Вещественный
Lnt(X) Целая часть числа Вещественный
Ln(X) Натуральный логарифм Вещественный
Pi Значение величины Pi=3.1415926535897932385 Вещественный
Sin(X) Синус аргумента Вещественный
Sqr(X) Квадрат аргумента Совпадает с типом X
Sqrt(X) Квадратный корень аргумента Вещественный

Примечание. Если функция используется с ключом компилятора {$N+}, то вместо величины типа Real она вычисляет величину типа Extended.

Пример.

{$N-}
begin
Р:= Pi {3.1415926536E+00}
end.

{$N-}
begin
Р:= Pi {3.1415926535897932385E+0000}
end.

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

Эти функции предназначены для преобразования типов величин, например (им иола в целое число, вещественного числа в целое и т. д. К ним относятся следующие функции:

Chr (X) - преобразование ASCII-кода в символ.

Аргумент функции должен быть целого типа в диапазоне (0..255). Результатом является символ, соответствующий данному коду.

High(X) - получение максимального значения величины.

Аргумент функции - параметр или идентификатор порядкового типа, типа-массива (см. п. 6.1), типа-строки (см. п. 6.2) или открытый массив (см. п. 10.3.5).

Результат функции для величины порядкового типа - максимальное значение этой величины, типа-массива - максимальное значение индекса, типа-строки -объявленный размер строки, открытого массива - количество компонент массива минус 1 (максимальный индекс, при начале нумерации с нуля).

Low(X) - получение минимального значения величины.

Аргумент функции - параметр или идентификатор порядкового типа, типа-массива (см. п. 6.1), типа-строки (см. п. 6.2) или открытый массив (см. п. 10.3.5). Результат функции для величины порядкового типа - минимальное значение этой величины, типа-массива - минимальное значение индекса, типа-строки или открытого массива - 0.

Ord(X) - преобразование любого порядкового типа в целый тип.

Аргументом функции может быть величина любого порядкового типа (логический, символьный, перечисляемый). Результатом является величина типа Longint.

Round (X) - округление вещественного числа до ближайшего целого.

Аргумент функции - величина вещественного типа, а результат - округленная до ближайшего целого величина типа Longint. Если результат выходит за диапазон значений Longint, то при выполнении программы возникает ошибка.

Trunc(X) - получение целой части вещественного числа.

Аргумент функции - величина вещественного типа, а результат - целая часть этого числа. Тип результата - Longint. Если результат выходит за диапазон значений Longint, то во время выполнения программы возникает ошибка.

4.3.3. Функции для величин порядкового типа

Эти функции позволяют выполнить ряд действий над величинами порядкового i типа (найти предыдущий или последующий элемент, проверить число на нечетность) . К этим функциям относятся следующие:

Odd(X) - проверка величины X на нечетность.

Аргументом функции является величина типа Longint, результат равен True, если аргумент нечетный, и False - если четный.

Pred(X) - определение предыдущего значения величины X.

Аргументом функции является величина любого порядкового типа, результатом - предшествующее значение того же типа (например, Pred(2) равно 1). При применении функции к первому элементу последовательности возникает ошибка.

Succ(X) - определение последующего значения величины X.

Аргументом функции является величина любого порядкового типа, результатом - последующее значение того же типа (например, Succ(2) равно 3). При применении функции к последнему элементу последовательности возникает ошибка.

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

Арифметические функции можно использовать только с величинами целого и вещественного типа.

Функция

Назначение

Тип результата

abs (x)

абсолютное значение аргумента

совпадает с типом аргумента

sqr (x)

квадрат аргумента

совпадает с типом аргумента

sqrt (x)

квадратный корень аргумента

вещественный

cos (x)

косинус аргумента

вещественный

sin (x)

синус аргумента

вещественный

arctan (x)

арктангенс аргумента

вещественный

exp (x)

вещественный

натуральный логарифм

вещественный

int (x)

целая часть числа

вещественный

frac (x)

дробная часть числа

вещественный

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

Эти функции предназначены для преобразования типов величин, например, символа в целое число, вещественного числа в целое и т.д.

Функции для величин порядкового типа

8 Оператор присваивания

Данный оператор предписывает запомнить некоторое значение в переменой. Значение и идентификатор переменой разделены парой знаков := . Типы объектов с обеих сторон знака := должны строго совпадать, за исключением того случая, когда тип переменой - REAL, а тип выражения - INTEGER. Общий вид оператора: < переменная >:= < выражение >

Операторы ввода/вывода

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

Ввод данных с клавиатуры выполняется операторами: READ и READLN. Формат: Read (список переменных);

Readln (список переменных);

Буквы ln добавляются в конце оператора для того, чтобы курсор автоматически переходил на следующую строку при выводе на экран текстов или результатов выполнения программы. Например:

Readln (x, y, z); Read (beta, gamma);

При выполнении оператора READ(READLN) программа останавливается и ждет, пока нужное количество чисел не будет введено с клавиатуры

Вывод данных на экран дисплея выполняется операторами: WRITE и WRITELN. Формат:

Write (список выражений); Writeln (список выражений);

Выражение в списке разделяются запятыми. Значения выражений сначала вычисляются, а затем выводятся на экран. При выводе вещественных значений можно указать, сколько десятичных цифр следует сохранить в дробной части числа, причем количество цифр указывается вслед за шириной поля после двоеточия.

Для того чтобы прокомментировать выводимые значения, в список вывода можно помещать строки любых символов, заключенные в апострофы.

9. Условный оператор if . Общий вид if <условие> then<действие 1>; else <действие 2>;

Оператор if может быть использован и без второй части

Если необходимо выполнить несколько условий, то тогда используем такие виды записи (условие 1) and (условие 2)- в этом случае должно выполнятся и 1 и 2

(условие 1) or (условие 2) – в этом случае выполняется выбор.Скобки обязательны!

Для выполнения часто встречающихся операций и преобразований данных, относящихся к разным типам, существуют заранее определенные функции, которые называются СТАНДАРТНЫМИ. Для обращения к функции необходимо задать ее имя и в скобках список аргументов (параметров).

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

  • 1. Имя функции записывается прописными буквами латинского алфавита.
  • 2. Аргумент функции записывается в круглых скобках после имени функции.
  • 3. Аргументом функции может быть константа, переменная, или арифметическое выражение того же типа

Теперь рассмотрим некоторые стандартные функции:

Функция Действие Тип Х Тип возвращаемого значения

SQRT(X) вычисляет квадратный корень из аргумента Х действительный действительный

SQR(X) вычисляет квадрат аргумента Х целый действи-тельный целый действи-тельный

RANDOM(X) возвращает случайное число, перед вызовом функции желательно использовать в программе оператор RANDOMIZE включающей случайную инициализацию генератора случайных чисел целый, положительный соответствует типу переменной принимающей значение

SIN(X) вычисляет синус аргумента Х действительный действительный

COS(X) вычисляет косинус аргумента Х действительный действительный

ABS(X) вычисляет абсолютное значение (модуль) аргумента Х целый действи-тельный целый действи-тельный

ODD(X) проверяет Х на четность длинное целое логический

ORD(X) определяет порядковый номер символа Х любой тип кроме действительного длинное целое

CHR(X) определяет символ стоящий по порядковому номеру Х byte символьный

PRED(X) определяет предыдущее значение по отношению к Х любой тип кроме действительного тот же тип

SUCC(X) определяет последующее значение по отношению к Х любой тип кроме действительного тот же тип

ARCTAN(X) вычисляет арктангенс аргумента Х действительный действительный

EXP(X) вычисляет экспоненту от аргумента Х действительный действительный

LN(X) вычисляет натуральный логарифм от Х действительный действительный

TRUNC(X) находит целую часть от Х действительный длинное целое

ROUND(X) округляет Х в сторону ближайшего целого действительный длинное целое

INT(X) возвращает целую часть аргумента Х действительный действительный

FRAC(X) возвращает дробную часть аргумента Х действительный действительный

DEC(X,N) уменьшает значение переменной Х на заданное число N любой тип кроме действительного тот же тип

INC(X,N) увеличивает значение переменной Х на заданное число N любой тип кроме действительного тот же тип

PI возвращает значение числа - действительный

  • 1. ORD(‘R’)=82; ORD(5)=5;
  • 2. CHR(68)=’D’; можно вызывать эту функцию через #, если аргумент функции константа (#68="D");
  • 3. PRED(‘N’)=’M’; PRED(87)=86;
  • 4. SUCC(‘S’)=’T’; SUCC(87)=88;
  • 5. PI=3.141592653897932385;
  • 6. ROUND(3.1415)=3;
  • 7. LN(1)=0.000;
  • 8. SQRT(36)=6.000;
  • 9. SIN(90*pi/180)=1.000.

Замечание:

В тригонометрических функциях аргумент должен быть задан только в радианной мере угла.

Стандартными функциями языка программирования Pascal приведены в табл. 1

Таблица 1:

Имя функции Выполняемая операция
ABS(X) Вычисляет модуль аргумента х, тип х – вещественный или целый, тип результата совпадает с типом аргумента
SQR(X) Вычисляет квадрат аргумента (х 2), тип х – вещественный или целый, результат совпадает с типом аргумента
SQRT(X) Вычисляет корень квадратный из аргумента х (х>0); тип х – вещественный или целый, тип результата вещественный
SIN(X) Вычисляет синус аргумента х (х – в радианах); тип х – вещественный или целый, тип результата вещественный
COS(X) Вычисляет косинус аргумента х (х – в радианах); тип х – вещественный или целый, тип результата вещественный
ARCTG(X) Вычисляет арктангенс аргумента х (х – в радианах); тип х – вещественный или целый, тип результата вещественный
EXP(X) Возведение числа е=2,71828 в степень х (е х), тип х – вещественный или целый, тип результата вещественный

Эти функции содержатся в памяти среды программирования Pascal и являются подпрограммами вычисления наиболее используемых функций итерационными методами.

Примеры составления линейной программы

Пример 1 Найти среднее арифметическое трёх чисел - двух целых (X и Y) и одного вещественного (Z) и квадрат среднего арифметического.

Программа :

Program Midding;

X, Y: Integer;

Z, Midd, SqrMidd: Real;

WriteLn("Введите два целых числа X и Y:");

ReadLn(X,Y);

WriteLn("Введите вещественное число Z:");

ReadLn(Z);

Midd:=(X+Y+Z)/3;

SqrMidd:=SQR(Midd)

Writeln("Среднее арифметическое = ",Midd);

Write("Квадрат среднего арифметического = ",SqrMidd);

Описание программы

В заголовке указано имя программы - Midding (среднее), затем словом var открывается раздел описания переменных: X и Y – целые, Z – вещественная. Слово begin открывает основной блок программы, в котором:

▪ оператор WriteLn выводит на экран текст "Введите два целых числа X и Y:";

▪ оператор ReadLn(X,Y)считывает значения чисел, введённых с клавиатуры и присваивает их соответственно целым переменным X и Y;

оператор ReadLn(Z)считывает значение числа, введённого с клавиатуры и присваивает его вещественной переменной Z;

▪ затем оператор присваивания вычисляет среднее значение X,Y,Z и присваивает его переменной Midd, затем аналогично вычисляется квадрат этой величины и присваивается переменной SqrMidd;

▪ оператор Writeln выводит текст "Среднее арифметическое = ",

рассчитанное значение Midd и переводит курсор на новую строку;

▪ оператор Write выводит текст "Квадрат среднего арифметического = " и рассчитанное значение SqrMidd;

▪ оператор end. закрывает основной блок и завершает выполнение программы.

Пример 2 Вычислить площадь круга S и длину окружности L по заданному радиусу R.

Программа

Program KRUG;

const P=3.14159

R,S,L:Real;

Read(R);{ввод значения радиуса}

L:=2*P*R;

S:=P*SQR(R);

Writeln(Длина окружности = ",L,"см");

Write("Площадь круга = ",S,"кв.см");

Контрольные вопросы

1 Из каких разделов состоит любая программа на языке Pascal?

2 Формат и назначение оператора присваивания.

3 Формат и назначение операторов ввода данных.

4 Формат и назначение операторов вывода данных.

Задание

Найти площадь поверхности куба по формуле T=6a 2
Определить расстояние, пройденное физическим телом за время t, если тело движется с постоянной скоростью v.
Вычислить:
В году примерно 3.156х10 7 сек. Написать программу, которая запрашивает возраст в годах и переводит его в секунды.
Вычислить:
Найти объем цилиндра по формуле: V=pR 2 H
Найти расстояние от точки с координатами (x,y) до начала координат.
Масса m одной молекулы воды примерно равна 3.0х10 -23 гр. Кварта воды равна примерно 950 гр. Написать программу, которая запрашивает количество воды в квартах и выводит число молекул в этом количестве воды.
Найти объем куба по формуле V=a 3 . (с использованием и без использования стандартных функций).
Вычислить:
Написать программу, которая запрашивает количество дней и переводит в недели и дни. Например, 18 дней = 2 недели и 4 дня.
Найти диагональ и площадь квадрата
Вычислить:
Найти площадь боковой поверхности шара: T=4pR 2
Вычислить:
Вычислить: