Считаем, что в нашей реализации языка Pascal нет готовой функции для арксинуса и опишем арксинус на основе известного тригонометрического соотношения:
![\arcsin(x)=\arctan(\frac{x}{\sqrt{1-x^2}})](https://tex.z-dn.net/?f=%5Carcsin%28x%29%3D%5Carctan%28%5Cfrac%7Bx%7D%7B%5Csqrt%7B1-x%5E2%7D%7D%29+)
Тогда
![\sin(ax+b)=c; \ ax+b=\arcsin(c) \to x= \frac{\arcsin(c)-b}{a}](https://tex.z-dn.net/?f=%5Csin%28ax%2Bb%29%3Dc%3B+%5C+ax%2Bb%3D%5Carcsin%28c%29+%5Cto+x%3D+%5Cfrac%7B%5Carcsin%28c%29-b%7D%7Ba%7D+)
Область допустимых значений: |c|<1, a≠0
function arcsin(x: real): real;
begin
arcsin := arctan(x / sqrt(1 - sqr(x)))
end;
var
a, b, c, x: real;
begin
Write('Введите через пробел значения a,b,c: ');
Readln(a, b, c);
if (c >= 1) then Writeln('Решения нет, c>=1')
else if a = 0 then Writeln('Решения нет, a=0)')
else Writeln('x=', arcsin(c) / sqrt(1 - sqr(x)):0:5)
end.
Тестовое решение:
Введите через пробел значения a,b,c: 3.25 -1.7 0.146
x=0.14652
<span>from random import randint
A = [randint (-100,101) for i in range(20)]
b = <span>0
</span>k = <span>0
</span>print(A)
for c in range(20):
if 0 > A[c]:
b=A[c]
k = c
b = b*b
v = A[0]
A[0] = b
A[k] = v
print(A)
</span>
1) машина, поезд, автобус, трамвай, самолёт, троллейбус, мотоцикл, велосипед, мопед, скутер
2) дом, машина, автобус, расписание
3) кошка, собака, лемур, енот, скунс, человек (заболевание), рыбы, птицы, пресмыкающиеся, самолёт.
4) самолёт, катер, аэроплан, птицы, насекомые, подводная лодка,морской скат(манта).
Достаточно?
Var
k, x, z: real;
begin
readln(x);
readln(z);
if x > z then
k := sqrt(2 * (x - z) / z);
if x <= z then
k := x + z;
println(k);
end.