unit rasprand; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Button1: TButton; Edit12: TEdit; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Edit13: TEdit; Edit14: TEdit; Edit15: TEdit; Edit16: TEdit; Edit17: TEdit; Edit18: TEdit; Edit19: TEdit; Edit20: TEdit; Edit21: TEdit; Edit22: TEdit; Edit23: TEdit; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; Label33: TLabel; Button2: TButton; Edit24: TEdit; Edit25: TEdit; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit25KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var f: TextFile; //файл для хранения информации k: real; //общее количество случайных чисел от 0 до 9 k0: real; //количество нулей k1: real; //количество единиц k2: real; //количество двоек k3: real; //количество троек k4: real; //количество четвёрок k5: real; //количество пятёрок k6: real; //количество шестёрок k7: real; //количество семёрок k8: real; //количество восьмёрок k9: real; //количество девяток i: byte; procedure Forms; begin Form1.Edit2.Text:=FloatToStr(k); Form1.Edit3.Text:=FloatToStr(k0); Form1.Edit4.Text:=FloatToStr(k1); Form1.Edit5.Text:=FloatToStr(k2); Form1.Edit6.Text:=FloatToStr(k3); Form1.Edit7.Text:=FloatToStr(k4); Form1.Edit8.Text:=FloatToStr(k5); Form1.Edit9.Text:=FloatToStr(k6); Form1.Edit10.Text:=FloatToStr(k7); Form1.Edit11.Text:=FloatToStr(k8); Form1.Edit12.Text:=FloatToStr(k9); if k>0 then begin Form1.Edit13.Text:='100'; Form1.Edit14.Text:=FloatToStr(k0/k*100); Form1.Edit15.Text:=FloatToStr(k1/k*100); Form1.Edit16.Text:=FloatToStr(k2/k*100); Form1.Edit17.Text:=FloatToStr(k3/k*100); Form1.Edit18.Text:=FloatToStr(k4/k*100); Form1.Edit19.Text:=FloatToStr(k5/k*100); Form1.Edit20.Text:=FloatToStr(k6/k*100); Form1.Edit21.Text:=FloatToStr(k7/k*100); Form1.Edit22.Text:=FloatToStr(k8/k*100); Form1.Edit23.Text:=FloatToStr(k9/k*100); end; end; procedure addnumbers; var n: integer; j: integer; r: byte; begin if Form1.Edit25.Text='' then exit; n:=StrToInt(Form1.Edit25.Text); k:=k+n; for j:= 1 to n do begin r:= Random(10); case r of 0: k0:=k0+1; 1: k1:=k1+1; 2: k2:=k2+1; 3: k3:=k3+1; 4: k4:=k4+1; 5: k5:=k5+1; 6: k6:=k6+1; 7: k7:=k7+1; 8: k8:=k8+1; 9: k9:=k9+1; end; end; Rewrite(f); WriteLn(f, k); WriteLn(f, k0); WriteLn(f, k1); WriteLn(f, k2); WriteLn(f, k3); WriteLn(f, k4); WriteLn(f, k5); WriteLn(f, k6); WriteLn(f, k7); WriteLn(f, k8); WriteLn(f, k9); CloseFile(f); Forms; end; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Forms; end; procedure TForm1.Button1Click(Sender: TObject); begin addnumbers; end; procedure TForm1.Button2Click(Sender: TObject); var m: integer; begin if Edit1.Text='' then exit; m:=StrToInt(Edit1.Text); Edit24.Text:=IntToStr(Random(m)); end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case Key of '0'..'9': ; // цифра 0 или 1 #8 : ; // else Key :=Chr(0); // символ не отображать end; end; procedure TForm1.Edit25KeyPress(Sender: TObject; var Key: Char); begin case Key of '0'..'9': ; // цифра 0 или 1 #8 : ; // else Key :=Chr(0); // символ не отображать end; end; begin AssignFile(f, 'Memory'); {$I-} Reset(f); {$I+} if IOResult <> 0 then begin Rewrite(f); for i:=1 to 11 do WriteLn(f, '0'); CloseFile(f); end; Reset(f); ReadLn(f, k); ReadLn(f, k0); ReadLn(f, k1); ReadLn(f, k2); ReadLn(f, k3); ReadLn(f, k4); ReadLn(f, k5); ReadLn(f, k6); ReadLn(f, k7); ReadLn(f, k8); ReadLn(f, k9); CloseFile(f); Randomize(); end.