Искомое логическое выражение имеет вид
(х>=0) AND (у>=0) AND (х*х+у*у<=1)
Рис. 3. Иллюстрация к примеру 6.
хотя бы один пробел;
цифра Ø или буква О;
хотя бы одна цифра;
буква О или буква W;
литеры, отличные от ‘*’.
Стандартные функции служат для облегчения вычисления наиболее часто встречающихся математических функций. Программы, реализующие эти функции, составляются заранее и хранятся в памяти, откуда их можно вызвать для применения простым набором имени функции, а в круглых скобках указать аргумент.
Арифметические функции можно использовать только с величинами целого и вещественного типа. Ниже приведены примеры записи на Паскале некоторых математических форм с указанием типа получаемого результата (табл. 6)
Например: FRAC(15.64)=0.64 INT(15.64)=15.0
Пример
записи на языке Паскаль выражения
exp(abs((2*sin(4*x)+x)/(3*x)))
Таблица 6
Примеры записи на Паскале некоторых математических форм
и типов получаемых результатов
Математическая форма |
Запись на Паскале |
Тип результата |
׀x׀ x2 sin x cos x arctg x
ln x дробная часть числа целая часть числа |
ABS(X) SQR(X) SIN(X) COS(X) ARCTAN(X) SQRT(X) LN(X) FRAC(X) INT(X) |
Совпадает с типом х Совпадает с типом х Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный |
Рассмотрим примеры программирования часто встречающихся выражений, не отраженных непосредственно в списке арифметических функций Паскаля:
Пример 1. Для возведения переменной х в некоторую степень a используется равенство
xa=ealnx при условии х>0.
Тогда выражение хa на языке Паскаль должно быть записано как
exp(a*ln(x)).
Пример
2.
Вычисление
тригонометрической функции tg
x=
запишем как sin(x)/cos(x).
Аналогично для ctg x будет cos(x)/sin(x).
Пример 3. Для записи обратных тригонометрических функций вспомним соотношения
arcsin
x = arctg
arctan (x/sqrt(1-sqr(x)))
arccos
x = arctg
arctan (sqrt(1-sqr(x))/x)
arcctg
x = arctg
arctan (1/x)
Пример
4.
Для
вычисления логарифма с произвольным
основанием используем формулу logb
a
=
и запишем такой логарифм как ln(a)
/ ln(b).
Для десятичного логарифма lgx
запись приобретет вид ln(x)
/ ln(10)
Упражнения к разделу
Упражнение 1. Записать на языке Паскаль следующие выражения (первый уровень сложности)
а)
2
б) | a
+ bx
| в) sin
8
г)
cos2
x3
д) tg
x
е) log2
ж) ch x з) arctg 103 и) arcsin x
к) x-1 л) x8 м) x-5
н)
x100
о) 21+x
п)x
р)
с)
a + bx+
т)
[( ax – b) x+c] x-d
у)
+
ф)
·
х)104·α
- 3·
·β
ц)
(1+
+
)/(1 +
) ч)
(x2
-3x-y)
ш)
Упражнение 2. Записать в обычной математической форме следующие выражения
а) (p + q) / (r +s ) – p*q /(r * s)
б) 1Е3 + beta / (x2 – gamma * delta)
в) (-b + sqrt (sqr (b) – 4*a*c) )/ (2*a)
г) a/b + (c + d) – (a – b)/b/c + 1E -8
д) x1 = arctan( y2 – alpha )/2 * abs(x4 – ln(5) + y5 )/exp(-1)
Упражнение 3. Определить тип результата следующих выражений:
а) I*I + J*J + K*K б) X<Y
в) SIN(X) + 2*COS(Y) + Z г) I + SQRT(J),
если известно, что I, J, K : integer; X,Y,Z : real.
Упражнение 4. Записать на языке Паскаль следующие выражения (второй уровень сложности)
а)
с=3,36
103+2sin(3,14+z)+׀x׀
б)
z=
в)
w=
–
г)
w=(ax+b-abx)e-(a+b)+ln
׀
д)
b=8,36
10-1+(
– 1) arcctg ad
+
- 2,23
е)
z=ln
׀
ж)
v=
з)
z=
-
0,01
и)
v=1,736 ׀ln(tg2
))׀
-arctg
к)
v=
׀x׀
+
л)
f=
+13
+xy+ln׀
tg
м)
v=(a+b+sin2a)cos
b-1
+
н)
y=sin