Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. unit Unit1;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, StdCtrls;
  6. type
  7. TForm1 = class(TForm)
  8. Label1: TLabel;
  9. Label2: TLabel;
  10. Label3: TLabel;
  11. Edit1: TEdit;
  12. Edit2: TEdit;
  13. Edit3: TEdit;
  14. Button1: TButton;
  15. Button2: TButton;
  16. Label4: TLabel;
  17. Label5: TLabel;
  18. Label6: TLabel;
  19. Label7: TLabel;
  20. Label8: TLabel;
  21. Label9: TLabel;
  22. Label10: TLabel;
  23. Label11: TLabel;
  24. Label12: TLabel;
  25. Label13: TLabel;
  26. Label14: TLabel;
  27. Label15: TLabel;
  28. Button3: TButton;
  29. procedure Button1Click(Sender: TObject);
  30. procedure Button3Click(Sender: TObject);
  31. procedure Button2Click(Sender: TObject);
  32. private
  33. { Private declarations }
  34. public
  35. { Public declarations }
  36. end;
  37. const
  38. n = 5; {kolichestvo stantsii}
  39. var
  40. Form1: TForm1;
  41. rg:real; {opytnaya nagruzka}
  42. s:real; {opytnaya proizvoditel'nost'}
  43. p:real; {veroyatnost' prohozhdeniya kadra}
  44. rp:real; {opytnaya veroyatnost' prohozhdeniya kadra}
  45. i:integer; {schetchik kollizii(neproshedshih kadrov)}
  46. j:integer; {schetchik uspeshno proshedshih kadrov}
  47. k:integer; {peremennaya "proverki prohoda kadrov" }
  48. l:integer; {kolichestvo kadrov v nabore}
  49. g:real; {normirovannaya propuschennaya nagruzka}
  50. r:integer; {dlitel'nost' kadra}
  51. bool:boolean; {flag sostoyaniya}
  52. implementation
  53. {$R *.dfm}
  54. procedure aloxa; {protsedura ALOHA}
  55. begin
  56. i:=0;
  57. j:=0;
  58. for k:= 1 to l do {nachalo proverki prohoda kadrov}
  59. begin
  60. bool:=false;{esli false to paket ne proshel}
  61. while bool=false do {poka bool=false do...}
  62. begin
  63. rp:=(random(100)+1)/100;{opytnaya veroyatnost' prohozhdeniya kadra - sluchainym obrazom generiruetsya}
  64. if (rp<=p) then {esli opytnaya veroyatnost' prohozhdeniya kadra <= veroyatnost' prohozhdeniya kadra}
  65. begin
  66. bool:=true;{...bool:=true;}
  67. inc(j);{schitaet kolichestvo uspeshno proshedshih paketov}
  68. end
  69. else inc(i);{kolichestvo neproshedshih paketov}
  70. end;
  71. end;
  72. end;
  73. procedure TForm1.Button1Click(Sender: TObject);
  74. begin
  75. randomize;{generator sluchainyh chisl}
  76. if edit1.Text <> '' then
  77. g:=StrToFloat(Edit1.Text);
  78. if edit2.Text <> '' then
  79. r:=StrToInt(Edit2.Text);
  80. if edit3.Text <> '' then
  81. l:=StrToInt(Edit3.Text);
  82. p:=exp(-2*G);{veroyatnost' prohozhdeniya kadra}
  83. aloxa;
  84. rg:=((j+i)*n*1/r)/l; {opytnoe znachenie normirovannoi propuschennoi nagruzki}
  85. s:=rg*exp(-2*rg); {opytnoe znachenie proizvoditel'nosti}
  86. label5.Caption:='Teoreticheskoe znachenie proizvoditel'nosti '+FloattoStr(g*p);
  87. label6.Caption:='Opytnoe znachenie proizvoditel'nosti '+FloatToStr(s);
  88. label7.Caption:='Kolichestvo kollizii na '+floattostr(l)+' paketov '+floattostr(i);
  89. label8.Caption:='Obschee vremya peredachi kadrov '+floattostr((j+i)*r);
  90. label9.Caption:='Vremya peredachi odnogo kadra '+floattostr((j+i)*r/l);
  91. p:=exp(-G);
  92. aloxa;
  93. rg:=((j+i)*n*1/r)/l; {opytnoe znachenie normirovannoi propuschennoi nagruzki}
  94. s:=rg*exp(-rg); {opytnoe znachenie proizvoditel'nosti}
  95. label11.Caption:='Teoreticheskoe znachenie proizvoditel'nosti '+FloattoStr(g*p);
  96. label12.Caption:='Opytnoe znachenie proizvoditel'nosti '+FloatToStr(s);
  97. label13.Caption:='Kolichestvo kollizii na '+floattostr(l)+' paketov '+floattostr(i);
  98. label14.Caption:='Obschee vremya peredachi kadrov '+floattostr((j+i)*r);
  99. label15.Caption:='Vremya peredachi odnogo kadra '+floattostr((j+i)*r/l);
  100. end;
  101. procedure TForm1.Button3Click(Sender: TObject);
  102. begin
  103. close;
  104. end;
  105. procedure TForm1.Button2Click(Sender: TObject);
  106. begin
  107. edit1.Text:='';
  108. edit2.Text:='';
  109. edit3.Text:='';
  110. label5.Caption:='';
  111. label6.Caption:='';
  112. label7.Caption:='';
  113. label8.Caption:='';
  114. label9.Caption:='';
  115. label11.Caption:='';
  116. label12.Caption:='';
  117. label13.Caption:='';
  118. label14.Caption:='';
  119. label15.Caption:='';
  120. end;
  121. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement