Advertisement
Guest User

Untitled

a guest
May 20th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.41 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8. Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
  9.  
  10. type
  11.  
  12. { TDenisov }
  13.  
  14. TDenisov = class(TForm)
  15. Button1: TButton;
  16. Button2: TButton;
  17. Edit1: TEdit;
  18. Edit2: TEdit;
  19. Edit3: TEdit;
  20. Edit4: TEdit;
  21. Edit5: TEdit;
  22. Label1: TLabel;
  23. Label2: TLabel;
  24. Label3: TLabel;
  25. Label4: TLabel;
  26. Label5: TLabel;
  27. Label6: TLabel;
  28. procedure Button1Click(Sender: TObject);
  29. procedure Button2Click(Sender: TObject);
  30. procedure Edit1Change(Sender: TObject);
  31. procedure Edit2Change(Sender: TObject);
  32. procedure FormCreate(Sender: TObject);
  33. private
  34.  
  35. public
  36.  
  37. end;
  38.  
  39. var
  40. Denisov: TDenisov;
  41.  
  42. implementation
  43.  
  44. {$R *.lfm}
  45.  
  46. { TDenisov }
  47.  
  48. procedure TDenisov.Edit1Change(Sender: TObject);
  49. begin
  50.  
  51. end;
  52.  
  53. procedure TDenisov.Button1Click(Sender: TObject);
  54. type
  55. ta = array[0..15, 0..15] of integer;
  56. var c:string;
  57. I,j,max,u:integer;
  58. a:array[1..10] of integer;
  59. b:array[0..15] of integer;
  60. n:array[0..4] of integer;
  61. H:ta;
  62. begin
  63. c:=edit1.Text;
  64. for i:=1 to length(c) do a[i]:=strtoint(c[i]);
  65. for i:=1 to length(c) do if a[i]=0 then a[i]:=-1;
  66. for i:=1 to length(c) do edit2.text:=edit2.text+inttostr(a[i])+';';
  67. H[0,0]:=1; H[0,1]:=1; H[0,2]:=1; H[0,3]:=1; H[0,4]:=1; H[0,5]:=1; H[0,6]:=1; H[0,7]:=1; H[0,8]:=1; H[0,9]:=1; H[0,10]:=1; H[0,11]:=1; H[0,12]:=1; H[0,13]:=1; H[0,14]:=1; H[0,15]:=1;
  68. H[1,0]:=1; H[1,1]:=-1; H[1,2]:=1; H[1,3]:=-1; H[1,4]:=1; H[1,5]:=-1; H[1,6]:=1; H[1,7]:=-1; H[1,8]:=1; H[1,9]:=-1; H[1,10]:=1; H[1,11]:=-1; H[1,12]:=1; H[1,13]:=-1; H[1,14]:=1; H[1,15]:=-1;
  69. H[2,0]:=1; H[2,1]:=1; H[2,2]:=-1; H[2,3]:=-1; H[2,4]:=1; H[2,5]:=1; H[2,6]:=-1; H[2,7]:=-1; H[2,8]:=1; H[2,9]:=1; H[2,10]:=-1;H[2,11]:=-1; H[2,12]:=1; H[2,13]:=1; H[2,14]:=-1; H[2,15]:=-1;
  70. H[3,0]:=1; H[3,1]:=-1; H[3,2]:=-1; H[3,3]:=1; H[3,4]:=1; H[3,5]:=-1; H[3,6]:=-1; H[3,7]:=1; H[3,8]:=1; H[3,9]:=-1; H[3,10]:=-1; H[3,11]:=1; H[3,12]:=1; H[3,13]:=-1; H[3,14]:=-1; H[3,15]:=1;
  71. H[4,0]:=1; H[4,1]:=1; H[4,2]:=1; H[4,3]:=1; H[4,4]:=-1; H[4,5]:=-1; H[4,6]:=-1; H[4,7]:=-1; H[4,8]:=1; H[4,9]:=1; H[4,10]:=1; H[4,11]:=1; H[4,12]:=-1; H[4,13]:=-1; H[4,14]:=-1; H[4,15]:=-1;
  72. H[5,0]:=1; H[5,1]:=-1; H[5,2]:=1; H[5,3]:=-1; H[5,4]:=-1; H[5,5]:=1; H[5,6]:=-1; H[5,7]:=1; H[5,8]:=1; H[5,9]:=-1; H[5,10]:=1; H[5,11]:=-1; H[5,12]:=-1; H[5,13]:=1; H[5,14]:=-1; H[5,15]:=1;
  73. H[6,0]:=1; H[6,1]:=1; H[6,2]:=-1; H[6,3]:=-1; H[6,4]:=-1; H[6,5]:=-1; H[6,6]:=1; H[6,7]:=1; H[6,8]:=1; H[6,9]:=1; H[6,10]:=-1; H[6,11]:=-1; H[6,12]:=-1; H[6,13]:=-1; H[6,14]:=1; H[6,15]:=1;
  74. H[7,0]:=1; H[7,1]:=-1; H[7,2]:=-1; H[7,3]:=1; H[7,4]:=-1; H[7,5]:=1; H[7,6]:=1; H[7,7]:=-1; H[7,8]:=1; H[7,9]:=-1; H[7,10]:=-1; H[7,11]:=1; H[7,12]:=-1; H[7,13]:=1; H[7,14]:=1; H[7,15]:=-1;
  75. H[8,0]:=1; H[8,1]:=1; H[8,2]:=1; H[8,3]:=1; H[8,4]:=1; H[8,5]:=1; H[8,6]:=1; H[8,7]:=1; H[8,8]:=-1; H[8,9]:=-1; H[8,10]:=-1; H[8,11]:=-1; H[8,12]:=-1; H[8,13]:=-1; H[8,14]:=-1; H[8,15]:=-1;
  76. H[9,0]:=1; H[9,1]:=-1; H[9,2]:=1; H[9,3]:=-1; H[9,4]:=1; H[9,5]:=-1; H[9,6]:=1; H[9,7]:=-1; H[9,8]:=-1; H[9,9]:=-1; H[9,10]:=-1; H[9,11]:=1; H[9,12]:=-1; H[9,13]:=1; H[9,14]:=-1; H[9,15]:=1;
  77. H[10,0]:=1;H[10,1]:=1; H[10,2]:=-1; H[10,3]:=-1; H[10,4]:=1; H[10,5]:=1; H[10,6]:=-1; H[10,7]:=-1; H[10,8]:=-1; H[10,9]:=-1; H[10,10]:=1; H[10,11]:=1; H[10,12]:=-1; H[10,13]:=-1; H[10,14]:=1; H[10,15]:=1;
  78. H[11,0]:=1;H[11,1]:=-1; H[11,2]:=-1;H[11,3]:=1; H[11,4]:=1; H[11,5]:=-1; H[11,6]:=-1; H[11,7]:=1; H[11,8]:=-1; H[11,9]:=1; H[11,10]:=1; H[11,11]:=-1; H[11,12]:=-1; H[11,13]:=1; H[11,14]:=1; H[11,15]:=-1;
  79. H[12,0]:=1;H[12,1]:=1; H[12,2]:=1; H[12,3]:=1; H[12,4]:=-1; H[12,5]:=-1; H[12,6]:=-1; H[12,7]:=-1; H[12,8]:=-1; H[12,9]:=-1; H[12,10]:=-1; H[12,11]:=-1; H[12,12]:=1; H[12,13]:=1; H[12,14]:=1; H[12,15]:=1;
  80. H[13,0]:=1;H[13,1]:=-1; H[13,2]:=1; H[13,3]:=-1;H[13,4]:=-1; H[13,5]:=1; H[13,6]:=-1; H[13,7]:=1; H[13,8]:=-1; H[13,9]:=1; H[13,10]:=-1; H[13,11]:=1; H[13,12]:=1; H[13,13]:=-1; H[13,14]:=1; H[13,15]:=-1;
  81. H[14,0]:=1;H[14,1]:=1; H[14,2]:=-1; H[14,3]:=-1;H[14,4]:=-1; H[14,5]:=-1; H[14,6]:=1; H[14,7]:=1; H[14,8]:=-1; H[14,9]:=-1; H[14,10]:=1; H[14,11]:=1; H[14,12]:=1; H[14,13]:=1; H[14,14]:=-1; H[14,15]:=-1;
  82. H[15,0]:=1;H[15,1]:=-1; H[15,2]:=-1; H[15,3]:=1;H[15,4]:=-1; H[15,5]:=1; H[15,6]:=1; H[15,7]:=-1; H[15,8]:=-1; H[15,9]:=1; H[15,10]:=1; H[15,11]:=-1; H[15,12]:=1; H[15,13]:=-1; H[15,14]:=-1; H[15,15]:=1;
  83. for i:=0 to 15 do
  84. for j:=0 to 15 do
  85. b[i]:=b[i]+(H[j,i]*a[i]);
  86.  
  87. for i:=0 to 15 do edit3.text:=edit3.text+inttostr(b[i])+';';
  88.  
  89. for i:=0 to 15 do
  90. begin
  91. if abs(b[i]) > max then begin max:=a[i]; u:=i; end;
  92. end;
  93. edit4.text:=inttostr(max)+'ближайшим кодовым словом будет'+inttostr(u+1)+'строка';
  94. n[0]:=strtoint(c[1]);
  95. n[1]:=strtoint(c[2])+H[u,2];
  96. n[2]:=strtoint(c[3])+H[u,3];
  97. n[3]:=strtoint(c[4])+H[u,4];
  98. n[4]:=strtoint(c[5])+H[u,5];
  99. edit4.text:=inttostr(n[0])+inttostr(n[2])+inttostr(n[2])+inttostr(n[3])+inttostr(n[4]);
  100. end;
  101.  
  102. procedure TDenisov.Button2Click(Sender: TObject);
  103. begin
  104. close;
  105. end;
  106.  
  107. procedure TDenisov.Edit2Change(Sender: TObject);
  108. begin
  109.  
  110. end;
  111.  
  112. procedure TDenisov.FormCreate(Sender: TObject);
  113. begin
  114.  
  115. end;
  116.  
  117.  
  118.  
  119. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement