Вычисление значений математических выражений
Для вычисления значений различных математических выражений в Pascal существуют различные арифметические функции:
Функция |
Математическое обозначение |
Описание |
abs(x) |
|x| |
Возвращает абсолютное значение аргумента |
arctan(x) |
arctg(x) |
Возвращает значение арктангенса аргумента |
cos(x) |
cos(x) |
Возвращает значение косинуса аргумента |
sin(x) |
sin(x) |
Возвращает значение синуса аргумента |
pi |
π |
Возвращает значение числа π (3.141592653897932385) |
exp(x) |
ex |
Возвращает экспоненту аргумента |
ln(x) |
ln(x) |
Возвращает натуральный логарифм аргумента |
sqr(x) |
x2 |
Возвращает квадрат аргумента |
sqrt(x) |
|
Возвращает корень квадратный из аргумента |
frac(x) |
|
Возвращает дробную часть аргумента |
int(x) |
[x] |
Возвращает целую часть аргумента |
round(x) |
|
Округляет аргумент до ближайшего целого |
В таблице отсутствуют функции для вычисления tg(x), ctg(x), arcsin(x), arcos(x), arcctg(x), logax и xa.
Данные функции отсутствуют по той причине, что они могут быть выражены через уже имеющиеся функции, перечисленные в таблице.
Приведем эти выражения ниже. Сначала перечислим сами формулы, выражающие функции tgx, ctgx, arcsin(x), arcos(x), arcctg(x), logax и xa через перечисленные в таблице функции.
Таким образом, мы получим следующие выражения для вычисления значений перечисленных функций:
tg(x)=sin(x)/cos(x);
ctg(x)=cos(x)/sin(x);
arcctg(x)=pi/2-arctan(x);
arcsin(x)=arctan(x/sqrt(1-sqr(x)));
arcos(x) =arctan(sqrt(1-sqr(x))/ x);
logax=ln(x)/ln(a);
xa=exp(a*ln(x));
Пример. Составить программу для вычисления
значения выражения
Решение. Составим словесный алгоритм решения данной задачи.
Ввести значение х
Вычислить у по заданной формуле
Вывести у
Для того, чтобы вычислить значение данного выражения, необходимо записать его с помощью математических функций Паскаля:
y:=sqrt(2*x-1)-abs(4*exp(1.2*ln(x))+sqrt(3))/(5*sin(x)+cos(2*x))- arctan(0.25/sqrt(1-sqr(0.25)))
Отметим, что для вычисления использован знак := (он читается «присвоить»). Данный знак вычисляет значение выражения, стоящего справа от него и после этого помещает вычисленное значение в переменную, стоящую слева от него. Данный знак называется оператором присваивания и при его применении обязательным является требование того, чтобы слева от него стояла переменная.
Программа для вычисления данного выражения будет выглядеть следующим образом:
Program Vyrag1;
Uses Crt;
Var x,y:real;
Begin
ClrScr;{Очистить экран}
write('Введите х: ');{Вывести подсказку на экран}
readln(x);{Ввести значение х}
{Вычислить значение у}
y:=sqrt(2*x-1)-abs(4*exp(1.2*ln(x))+
sqrt(3))/(5*sin(x)+cos(2*x))- arctan(0.25/sqrt(1-sqr(0.25)));
writeln('y=',y:6:3);{Вывести у на экран}
readln;{Задержать работу программы}
End.
Рассмотрим еще один пример. Вычислить
значение выражения
.
Решение. Словесный алгоритм решения данного задания будет точно таким же, как и в предыдущей задаче. Отличие будет заключаться только в формуле для вычисления у, а еще в том, что в данной программе будет использоваться не две переменные х и у, а три – х, у, z.
Program Vyrag2;
Uses Crt;
Var x,y,z:real;
Begin
ClrScr;{Очистить экран}
write('Введите х: ');{Вывести подсказку на экран}
readln(x);{Ввести значение х}
write('Введите z: ');{Вывести подсказку на экран}
readln(z);{Ввести значение z}
{Вычислить значение у}
y:=3*x*x-exp(sin(x))+sqrt(x*x+1)/(pi-arctan(x));
writeln('y=',y:6:3);{Вывести у на экран}
readln;{Задержать работу программы}
End.
Задания для практической работы:
1. Найдите значение выражения:
2. Найдите значение выражения:
3. Найдите значение выражения:
4. Найдите значение выражения:
5. Найдите значение выражения:
6. Найдите значение выражения:
7. Найдите значение выражения:
8. Найдите значение выражения:
9. Найдите значение выражения:
10. Найдите значение выражения:
11. Найдите значение выражения:
12. Найдите значение выражения:
13. Найдите значение выражения:
14. Найдите значение выражения:
15. Найдите значение выражения:
