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 0s 5324KB
stdin
7 21
1 2 547152
1 3 509157
1 4 539282
1 5 541645         
1 6 458433
1 7 385173

2 3 131528
2 4 92735
2 5 150511
2 6 94440
2 7 194542
3 4 216600
3 5 272401
3 6 157176
3 7 124077
4 5 57785
4 6 97323
4 7 242232
5 6 136663
5 7 283862
6 7 147426
stdout
Tn, Tk, N:    t   |    zi    |    xi    |    yi    
  7.00|  11.266|   0.556| -10.686
 21.00|  61.833|   0.850| -60.735