Ответ:
--- PascalABC.NET 3.6.2 ---
begin
var func1: (real, real, real) -> real := (x, a, b) -> ln( abs( (a - sqrt(abs(b))*(3.14159 - (a/ (b + ((x**2)/2) )) ) ) ));
var func2: (real, real, real) -> real := (x, a, b) -> x - ((x**2)/a)+ ((x**3)/b);
var (a, b, x) := ReadInteger3('Введите значения a, b, x в соответственном порядке');
println( x <= 0 ? func1(x, a, b) : func2(x, a, b));</strong>
end.
Делает вид что работает. Правильность вычислений я, уж извините, проверять не стал.