Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. program laba4;
  2.  
  3. uses
  4. System.SysUtils;
  5.  
  6. var
  7. n, i, k: integer;
  8. num, x, sin : double;
  9. isCorrect: boolean;
  10. const MinX = -1;
  11. const MaxX = 1;
  12. const Min1 = 1;
  13. const MaxInt = High(Integer);
  14. begin
  15. Writeln ('Введите число, синус которого нужно вычислить');
  16. IsCorrect := True;
  17. repeat
  18. try
  19. ReadLn(x);
  20. if ((x < MinX) or (x > MaxX)) then
  21. begin
  22. Writeln ('Ошибка! Введите число от ' , MinX , ' до ' , MaxX);
  23. IsCorrect := False;
  24. end
  25. else
  26. IsCorrect := True;
  27. except
  28. begin
  29. Writeln ('Ошибка! Введите число от ' , MinX , ' до ' , MaxX);
  30. IsCorrect := False;
  31. end;
  32. end
  33. until IsCorrect;
  34. Writeln ('Введите n, до которого нужно вычислить синус');
  35. IsCorrect := True;
  36. repeat
  37. try
  38. ReadLn(n);
  39. if ((n < Min1) or (n > MaxInt)) then
  40. begin
  41. Writeln ('Ошибка! Введите число от ' , Min1 , ' до ' , MaxInt);
  42. IsCorrect := False;
  43. end
  44. else
  45. IsCorrect := True;
  46. except
  47. begin
  48. Writeln ('Ошибка! Введите число от ' , Min1 , ' до ' , MaxInt);
  49. IsCorrect := False;
  50. end;
  51. end
  52. until IsCorrect;
  53. sin:=0; k:=1;
  54. for i := 1 to n do
  55. begin
  56. k := k*(2*i - 1);
  57. num := (exp((i-1)*ln(-1))*exp((2*i-1)*ln(x)))/k;
  58. sin := sin + num;
  59. end;
  60. Writeln ('Синус ', x ,' равен: ', sin);
  61. Readln;
  62. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement