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:4, '|', xi:8:4, '|', yi:8:4);
  34. t := t + h;
  35. end;
  36. end.
Success #stdin #stdout 0.01s 5284KB
stdin
0 1 10
stdout
Tn, Tk, N:    t   |    zi    |    xi    |    yi    
  0.00|  0.0000|  0.5745|  0.3843
  0.10|  0.1105|  0.4557|  0.6560
  0.20|  0.2440|  0.3186|  0.9085
  0.30|  0.4031|  0.1787|  1.0125
  0.40|  0.5904|  0.0637|  0.9094
  0.50|  0.8076|  0.0051|  0.7005
  0.60|  1.0553|  0.0056|  0.5051
  0.70|  1.3331|  0.0969|  0.4645
  0.80|  1.6392|  0.3430|  0.7787
  0.90|  1.9699|  0.6914|  1.3684
  1.00|  2.3198|  0.9600|  1.8998