fork download
  1. program v4;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils;
  7.  
  8. function f(x: real): real;
  9. begin
  10. f := x * x * x - 6 * x * x + 11 * x - 6;
  11. end;
  12.  
  13. var
  14. a, b, x, eps: real;
  15. fa, fb, fx: real;
  16. P1, P2: TDateTime;
  17. H1, M1, S1, Ms1, H2, M2, S2, Ms2: Word;
  18.  
  19. begin
  20. Write('Vvedite levuyu granitsu intervala a: '); ReadLn(a);
  21. Write('Vvedite pravuyu granitsu intervala b: '); ReadLn(b);
  22. eps := 0.001;
  23.  
  24. P1 := Now;
  25. DecodeTime(P1, H1, M1, S1, Ms1);
  26.  
  27. fa := f(a);
  28. fb := f(b);
  29.  
  30. if fa * fb >= 0 then
  31. WriteLn('Na intervale net kornya ili ih chetnoe kolichestvo.')
  32. else
  33. begin
  34. repeat
  35. x := a - fa * (b - a) / (fb - fa);
  36. fx := f(x);
  37.  
  38. if fa * fx <= 0 then
  39. begin
  40. b := x;
  41. fb := fx;
  42. end
  43. else
  44. begin
  45. a := x;
  46. fa := fx;
  47. end;
  48. until (abs(fx) < eps);
  49.  
  50. WriteLn('Koren uravneniya: x = ', x:0:6);
  51. WriteLn('Znachenie funktsii v korne: f(x) = ', fx:0:8);
  52. end;
  53.  
  54. P2 := Now;
  55. DecodeTime(P2, H2, M2, S2, Ms2);
  56.  
  57. Writeln('Vremya nachala: ', H1, ':', M1, ':', S1, ':', Ms1);
  58. Writeln('Vremya okonchaniya: ', H2, ':', M2, ':', S2, ':', Ms2);
  59. ReadLn;
  60. end.
Success #stdin #stdout 0s 5320KB
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
Vvedite levuyu granitsu intervala a: Vvedite pravuyu granitsu intervala b: Na intervale net kornya ili ih chetnoe kolichestvo.
Vremya nachala: 17:26:34:921
Vremya okonchaniya: 17:26:34:921