Какие оплошности в проге? (Задание во вложении) Паскаль выдает "a =

Какие оплошности в проге? (Задание во вложении) Паскаль выдает "a = NaN, f = NaN"
var x,y,z,k,l,m,n,o,a,f,k1,l1,o1:real;
begin
write('Введите значение х = '); read(x);
write('Введите значение y = '); read(y);
write('Введите значение z = '); read(z);
k:=x/y; k1:=exp(ln(x)*k);
l:=y/(x*z); l1:=exp(ln(l)*(1/3));
a:=абс(k1-l1);
writeln('a = ', a);
m:=a-x;
n:=y-(z/(y-x));
o:=sqr(y-x); o1:=1+o;
f:=m*n/o1;
writeln('f = ', f);

Задать свой вопрос
2 ответа
Function sign(x:real):integer;
begin
     if xgt;0 then sign:=1 else if xlt;0 then sign:=-1 else sign:=0;
end;
var x,y,z,k,l,m,n,o,a,f,k1,l1,o1:real;
begin
write('Введите значение х = ');read(x);
write('Введите значение y = '); read(y);
write('Введите значение z = '); read(z);
k1:=exp(ln(x)*k);
l:=y/(x*z);
l1:=sign(l)*power(abs(l),1/3);
a:=абс(k1-l1);
writeln('a = ', a);
m:=a-x;
n:=y-(z/(y-x));
o:=sqr(y-x);
o1:=1+o;
f:=m*n/o1;
writeln('f = ', f);
end.
Ленька Лохин
получились ответыa = 404.599606936305f = 27.5382718260836
1.
k := y/x; (а не x/y)

2.
В l1 := exp(ln(l) * (1/3)) берется логарифм от отрицательного числа (т.к. z lt; 0).
Предлагаю написать так:
l1:=exp(ln(abs(l))*(1/3));
if l lt; 0 then l1 := -l1;

Борис Похряев
то, что логарифм из отрицательного числа не берется, это ДА. но КОРЕНЬ третьей степени-то извлекается!!!
Vanja Chugrov
Извлекается. Но в программке творца поначалу берется логарифм, и это приводит к ошибочному результату.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт