fork download
  1. program Task_Solution;
  2. uses Math;
  3.  
  4. const a = 2.5; eps = 0.001;
  5.  
  6. var Tn, Tk, t, h, xi, zi, yi: real;
  7. N, i: integer;
  8.  
  9. procedure CalcZ(t_val: real; var z_res: real);
  10. begin
  11. if abs(t_val - 0.5) > 1 then z_res := t_val * ln(abs(t_val - 2))
  12. else z_res := t_val * exp(sin(t_val));
  13. end;
  14.  
  15. function CalcY(x, z: real): real;
  16. begin
  17. if (abs(z - a) < 1) and (x > 2) then
  18. CalcY := x - a * tan(x) - z + tan(sin(x - z)) / (3 * cos(a * x - z))
  19. else if (abs(z - a) > 5) and (x < 2) then
  20. CalcY := tan(x) - z + ln(abs(sin(x - z)))
  21. else
  22. CalcY := cos(a * x - z) + power(abs(x), a);
  23. end;
  24.  
  25. begin
  26. write('Tn, Tk, N: '); readln(Tn, Tk, N);
  27. h := (Tk - Tn) / N; t := Tn;
  28. writeln(' t | zi | xi | yi ');
  29. for i := 0 to N do begin
  30. CalcZ(t, zi);
  31. xi := power(abs(cos(zi - a)), a);
  32. yi := CalcY(xi, zi);
  33. writeln(t:6:2, '|', zi:8:3, '|', xi:8:3, '|', yi:8:3);
  34. t := t + h;
  35. end;
  36. end.
Success #stdin #stdout 0.01s 5288KB
stdin
0 2 10
stdout
Tn, Tk, N:    t   |    zi    |    xi    |    yi    
  0.00|   0.000|   0.574|   0.384
  0.20|   0.244|   0.319|   0.908
  0.40|   0.590|   0.064|   0.909
  0.60|   1.055|   0.006|   0.505
  0.80|   1.639|   0.343|   0.779
  1.00|   2.320|   0.960|   1.900
  1.20|   3.048|   0.674|   0.578
  1.40|   3.751|   0.056|  -0.891
  1.60|  -1.466|   0.380|  -0.659
  1.80|  -2.897|   0.318|   0.613
  2.00| -72.087|   0.394|  71.000