Добавил:
rn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
10.04.2018
Размер:
4 Кб
Скачать
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Math, Vcl.Buttons;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit6: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Edit7: TEdit;
    Label6: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Button3: TButton;
    Edit8: TEdit;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);








     private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
st=2.776;
e=2;
var
sr,sx,delta,th,persent: real;
a : array [1..5] of real;
kvr : array [1..5] of real;
i : integer;
begin
th:=strtofloat(edit6.Text);
a[1]:=strtofloat(edit1.text);
a[2]:=strtofloat(edit2.text);
a[3]:=strtofloat(edit3.text);
a[4]:=strtofloat(edit4.text);
a[5]:=strtofloat(edit5.text);
  for i := 1 to 5 do
    begin
    if a[i]=0 then ShowMessage ('Уточните выборку ,чтобы продолжить');
    break;
    end;
  if th=0 then  ShowMessage ('Пожалуйста , уточните приборную погрешность и повторите попытку');
sr:=(a[1]+a[2]+a[3]+a[4]+a[5])/5;
kvr[1]:=power((sr-a[1]),e);
kvr[2]:=power((sr-a[2]),e);
kvr[3]:=power((sr-a[3]),e);
kvr[4]:=power((sr-a[4]),e);
kvr[5]:=power((sr-a[5]),e);
sx:=exp(ln(((kvr[1]+kvr[2]+kvr[3]+kvr[4]+kvr[5])/20))*1/2);
delta:=exp((ln((power((st*sx),2))+(power(th,2)))*1/2));
label5.caption:=floattostr(sr);
label7.Caption:=floattostr(delta);
persent:= (delta/sr)*100;
label12.Caption:=floattostr(persent)+' %' ;
if persent < 5 then ShowMessage('В пределах 5%, поздравляю');
if persent >= 5 then ShowMessage('Нет, прости , здесь выброс');
end;


procedure TForm1.Button2Click(Sender: TObject);
const
vpn=1.67;
e=2;
var
v,sr,sx,kvrob : real;
kvr,a, ar : array [1..5] of real;
mx : array [1..4] of real;
i: integer;
begin
a[1]:=strtofloat(edit1.text);
a[2]:=strtofloat(edit2.text);
a[3]:=strtofloat(edit3.text);
a[4]:=strtofloat(edit4.text);
a[5]:=strtofloat(edit5.text);
sr:=(a[1]+a[2]+a[3]+a[4]+a[5])/5;
kvr[1]:=power((sr-a[1]),e);
kvr[2]:=power((sr-a[2]),e);
kvr[3]:=power((sr-a[3]),e);
kvr[4]:=power((sr-a[4]),e);
kvr[5]:=power((sr-a[5]),e);
kvrob:=(kvr[1]+kvr[2]+kvr[3]+kvr[4]+kvr[5])/4;
sx:=exp(ln(kvrob)*1/2);
for i := 1 to 5 do
    begin
    mx[1]:=Max(a[1],a[2]);
    mx[2]:=Max(mx[1],a[3]);
    mx[3]:=Max(mx[2],a[4]);
    mx[4]:=Max(mx[3],a[5]);
    end;
v:=(mx[4]-sr)/sx;
label20.caption:=floattostr(v);
if v>vpn then showmessage('Промах,сократи выбору на один экстремум');
if v<=vpn then showmessage('Промахов нет, живи спокойно');
end;

procedure TForm1.Button3Click(Sender: TObject);
var
cl : integer;
    begin
    cl:=0;
    edit1.text:=inttostr(cl);
    edit2.text:=inttostr(cl);
    edit3.text:=inttostr(cl);
    edit4.text:=inttostr(cl);
    edit5.text:=inttostr(cl);
    edit6.text:=inttostr(cl);
    end;

end.

Соседние файлы в папке Прямые погрешности ( прога )
  • #
    10.04.2018775 б19Project1.dproj.local
  • #
    10.04.2018185 б19Project1.identcache
  • #
    10.04.201859 Кб19Project1.res
  • #
    10.04.2018172 б19Project1.stat
  • #
    10.04.20189 Кб20Unit1.dfm
  • #
    10.04.20184 Кб22Unit1.pas