


Паскаль, прошу помогите

Помогите пожалуйста решить, с текстом программы
Дополнен
Вы получите сразу ошибку, если будете возводить в отрицательную степень используя логарифмирование.
Y := Exp((n+1) * Ln(x));
поскольку не существует логарифмов нуля и отрицательных чисел. Поэтому надо обработать ноль а еще лучше написать свою функцию возведения в степень.
function Pow(x,y: Real): Real;
var PowTmp: Real;
begin
if (x < 0) then PowTmp := (-1) * Exp(y * Ln(Abs(x)))
else if (x > 0) then PowTmp := Exp(y * Ln(Abs(x)))
else PowTmp := 0;
if not Odd(Round(y)) then PowTmp := Abs(PowTmp);
if (y = 0) then PowTmp := 1;
Pow:=PowTmp;
end;
и первая строчка запишется
if x <= 0 then Y := Pow(x, n+1)
во второй строчке немного напутал, но переход к другому основанию логарифма попытался сделать правильно.
else if (x > 0) and (x <=3.5) then Y := Ln(Pow(x+b, n))/Ln(10) // для случая, когда n относится к скобке
ну и, наконец,
else if x > 3.5 then Y := Pow(x, n);
Как-то так...
Если x <= 0 тогда
writeln x^n+1
Если 0<x<=3,5 тогда
writeln lg(x+b)^n
Если x>3,5 тогда
writeln x^n
69ять, ну тривиальщина же, даже математику не надо знать, ЛОГИКА ОДНА.
на Паскаль сам перепиши правильно, чтоб не отупеть совсем