Главная » Статьи » Программирование в Delphi |
Построение графика распределения по интервалам.
Задание: Построение графика распределения случайных чисел от 0 до 1 по интервалам 0...0.1; 0.1...0.2; ...; 0.9...1 в системе Delphi7
Исходный код:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DateUtils, OleServer, ExcelXP, Grids, ComCtrls, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart;
type TForm1 = class(TForm) Memo1: TMemo; Chart1: TChart; Button1: TButton; // кнопка расчета StringGrid1: TStringGrid; Button2: TButton; // кнопка формирования массива Series1: TPieSeries; Memo2: TMemo; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject);
private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject); var i: integer; begin randomize; Memo1.Clear; Memo2.Clear; for i:= 1 to 200 do Memo1.Lines.Add(Format('%6.4f', [Random])); end;
procedure TForm1.Button1Click(Sender: TObject); var i: integer; temp: integer; mas: array of integer;
begin Memo2.Clear; Chart1.Series[0].Clear; StringGrid1.Cells[0,0]:= 'Интервал'; StringGrid1.Cells[1,0]:= 'Частота'; setlength(mas, 0); setlength(mas, 10); for i:=0 to Memo1.Lines.Count - 1 do begin temp:= Trunc(StrToFloat(Memo1.Lines.Strings[i]) * 10); if temp = 10 then temp:= 9; mas[temp]:= mas[temp] + 1; end;
for i:= 1 to 10 do begin Chart1.Series[0].AddXY(i, mas[i-1] / 200, Format('%3.1f', [(i - 1) / 10]) + ' - ' + Format('%3.1f', [i / 10])); Memo2.Lines.Add('Интервал:' + Format('%3.1f', [(i - 1) / 10]) + ' - ' + Format('%3.1f', [i / 10]) + ' Вероятность: ' + Format('%5.3f', [mas[i-1] / 200])); StringGrid1.Cells[0,i]:= Format('%3.1f', [(i - 1) / 10]) + ' - ' + Format('%3.1f', [i / 10]); StringGrid1.Cells[1,i]:= IntToStr(mas[i-1]); end; end;
end. | |
Просмотров: 1296 | Комментарии: 1 | |
Всего комментариев: 0 | |