Delphi-int.ru: портал программистов

Вход Регистрация | Забыли пароль?

Просмотр кода

Идентификатор: a8236a1b Описание: Код загружен: 24 апреля 2012, 16:30 (Толяныч)

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls, ComCtrls, ExtCtrls, Math;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Memo1: TMemo;
  12. EdA: TLabeledEdit;
  13. EdMin: TLabeledEdit;
  14. EdMax: TLabeledEdit;
  15. EdEps: TLabeledEdit;
  16. procedure FormClick(Sender: TObject);
  17.  
  18. private
  19. { Private declarations }
  20. public
  21.  
  22. end;
  23. var
  24. Form1: TForm1 ;
  25. A,Pmin,Pmax,Eps : double ;
  26. Grad,x,y,z,dx,dist,V0,V1,Delt,Px : double ;
  27. NN : integer ;
  28. implementation
  29.  
  30. {$R *.dfm}
  31. procedure TForm1.FormClick(Sender: TObject);
  32. function FunV ( N : integer) : double ;
  33. var
  34. ix,iy,iz : integer ;
  35. tmp : double ;
  36. begin
  37. // DateSeparator := '.' ;
  38. tmp := 0 ; dx := A / ( N * 4 ) ;
  39. for ix := 0 to N-1 do
  40. begin
  41. x := dx * ( ix * 2 + 1) ;
  42. for iy := 0 to N-1 do
  43. begin
  44. y := dx * ( iy * 2 + 1) ;
  45. for iz := 0 to N-1 do
  46. begin
  47. z := dx * ( iz * 2 + 1) ;
  48. dist := Sqrt ( x*x + y*y + z*z ) ;
  49. tmp := tmp + (dist * Grad) + Pmin ;
  50. end ;
  51. end ;
  52. end ;
  53. Result := tmp * dx * dx * dx;
  54. end;
  55. //-----------------
  56. begin
  57. A := StrToFloat (EdA.Text) ;
  58. Pmin := StrToFloat (EdMin.Text) ;
  59. Pmax := StrToFloat (EdMax.Text) ;
  60. Eps := StrToFloat (EdEps.Text) ;
  61. V0 := 1.0 ;
  62. Grad := (Pmax-Pmin)/(A/2*Sqrt(3)) ;
  63. NN := 4 ;
  64. repeat
  65. V1 := FunV(NN) ;
  66. Delt := (V1-V0)/V1 ; V0 := V1 ;
  67. Memo1.Lines.Add( Format('%6.4f %6.4f',[V1,Delt])) ;
  68. NN := NN + NN ;
  69. until Delt<Eps ;
  70. V1 := V1 * A * A * A ;
  71. Memo1.Lines.Add( Format('Result = %6.4f',[V1])) ;
  72. end;
  73.  
  74. end.

Ссылка на данный код:

На главную страницу сервиса обмена кодом »