Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
10.04.2018
Размер:
3.69 Кб
Скачать
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 б16Project1.dproj.local
  • #
    10.04.2018185 б16Project1.identcache
  • #
    10.04.201859.22 Кб16Project1.res
  • #
    10.04.2018172 б16Project1.stat
  • #
    10.04.20188.92 Кб17Unit1.dfm
  • #
    10.04.20183.69 Кб19Unit1.pas