Здесь небольшая проблемка: при больших R некоторых частей функций не будет видно...
Но тем не менее;
uses Crt;
var x, y, R: real;
begin
ClrScr;
Write(' X = '); ReadLn(X);
Write(' R = '); ReadLn(R);
if x<=-R then y:=-3 else<br> if (x>=-R) and (x<=R) then y:=-sqrt(R*R-x*x) else<br> if (x>R) and (x<6) then y:=3+6*(x-6)/(R-6) else<br> if (x>=6) then y:=(x-9);
ReadLn;
end.
Единственное, что осталось - распечатать значения Y...
Но по условию распечатка Y вроде не требуется... Или я чего-то не понимаю...