fork(1) download
  1. program ideone;
  2. function Y(x: Real): Real;
  3. begin
  4. Y := Ln(x + 0.5) + Exp(x) - Exp(-x);
  5. end;
  6. function Calc(z: Real; showInfo: Boolean): Real;
  7. begin
  8. if z < -1 then begin
  9. if showInfo then
  10. WriteLn('z < - 1');
  11. Calc := Y((-z) / 3)
  12. end
  13. else begin
  14. if showInfo then
  15. WriteLn('z >= - 1');
  16. Calc := Y(Abs(z));
  17. end
  18. end;
  19. var
  20. z: Real;
  21. ch: Char;
  22. showInfo: Boolean;
  23. begin
  24. WriteLn('Enter z:');
  25. ReadLn(z);
  26. WriteLn('Show info? (Y/n)');
  27. ReadLn(ch);
  28. showInfo := ch = 'y';
  29. WriteLn(Calc(z, showInfo));
  30. end.
Success #stdin #stdout 0s 2004KB
stdin
-2
y
stdout
Enter z:
Show info? (Y/n)
z < - 1
 1.588467601849342e+00