


Кто знает паскаль?
Вобщем нужно сделать чтобы пример решался при любых вводимых х за исключением тех которые не могут существовать (область определения)
Сам пример: (sqrt(cos(x*x)))/5ln(x+1)
До этого решал подобный все получилось но там небыло этого гребанного квадрата и с синусами попроще.
Вобщем вот что сообразил для этого примера
Program sonus2;
Function Grandcos (gradus:real):real;
var rad:real;
begin
rad:= gradus*Pi/180;
Grandcos:= cos(rad);
end;
var x,y,a,b,c:real;
begin
a:=sqrt(90);
b:=sqrt(270);
c:=sqrt(360);
writeln('To find y, i need x, write x please');
write('x=');
readln(x);
if (x>0) and (x<=a) and (x>=b) and (x<=c) then y:=(sqrt(Grandcos(exp(ln(x)*2))))/5*ln(x+1)
else writeln('net reshenia');
if (x>0) and (x<=a) and (x>=b) and (x<=c) then write('y=');
if (x>0) and (x<=a) and (x>=b) and (x<=c) then writeln(y);
end.
Вобщем смотрим нам нужно чтобы x^2 был равен любому числу из промежутков (0;90]v[270;360] (там косинус положительный а под корнем только >=0) так как нам нужны градусы вводим Grandcos чтобы паскаль считал в градусах так как x^2 то нам задавая условия придется брать квадратные корни 90,270,360 для этого ввел переменные, пробывал и без них впринципе без разницы . Все что выдает паскаль нет решения при любом вводимом мною значении, оставляя промежуток только (0;90] и не беря во внимание корни (так как х^2) комп считал правда пробовал 3 значения всего максимально близкое к корню из 90 считал 90 естественно нет(. Подскажите как сделать чтобы считало на нужных промежутках
Может так:
Program sonus2;
Function Grandcos (gradus:real):real;
var rad:real;
begin
rad:= gradus*Pi/180;
Grandcos:= cos(rad);
end;
var x,y,a:real;
begin
writeln('To find y, i need x, write x please');
write('x=');
readln(x);
a:=Grandcos(x*x);
if (x>1) and (a>=0) then begin
y:=sqrt(a)/5*ln(x+1);
writeln('y= ',y);
end
else writeln('net reshenia');
end.