fork download
  1. program LAB3A;
  2. const
  3. K = 0.018;
  4. L = 1;
  5. var
  6. y, x, a, b: real;
  7. code: integer;
  8. inputStr: string;
  9. begin
  10. writeln('Please enter a positive value for x:');
  11. readln(inputStr);
  12.  
  13. { Перетворення рядка в число (захист від неправильного введення) }
  14. val(inputStr, x, code);
  15. if code <> 0 then
  16. begin
  17. writeln('Error: Invalid input. Please enter a number.');
  18. halt;
  19. end;
  20.  
  21. { Перевіряємо, чи x додатне число }
  22. if x <= 0 then
  23. begin
  24. writeln('Error: x must be greater than 0.');
  25. halt;
  26. end;
  27.  
  28. { Обчислення виразу a }
  29. a := (4 - (K * K)) / (sqrt(0.01) + sqrt(10)) * sin(x) / cos(x);
  30. writeln('Result is a = ', a:0:4);
  31.  
  32. { Обчислення виразу b }
  33. b := sin(L + exp(3 * ln(x) / ln(10)));
  34. writeln('Result is b = ', b:0:4);
  35.  
  36. { Перевірка перед використанням ln(a) та ln(b) }
  37. if (a <= 0) or (b <= 0) then
  38. begin
  39. writeln('Error: ln(a) and ln(b) require a > 0 and b > 0.');
  40. halt;
  41. end;
  42.  
  43. { Обчислення y }
  44. if exp(2 * ln(a)) + exp(2 * ln(b)) > 2 then
  45. y := sqrt(abs(a + b))
  46. else
  47. y := a + b;
  48.  
  49. writeln('Result is y = ', y:0:4);
  50. end.
  51.  
Success #stdin #stdout 0.01s 5276KB
stdin
2.007
stdout
Please enter a positive value for x:
Result is a = -2.6301
Result is b = -0.3305
Error: ln(a) and ln(b) require a > 0 and b > 0.