Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
11.02.2014
Размер:
45.06 Кб
Скачать

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ

САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

БАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ, ТЕХНОЛОГИИ И УПРАВЛЕНИЯ

факультет: иженерно-строительный

кафедра: управление и информатика в технических системах

Лабораторная работа №3

по дисциплине: СПО

Вариант №21

Выполнил ст. гр. УИТ-33

Принял:

2009 г.

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,

StdCtrls, Spin;

type

{ TForm1 }

TForm1 = class(TForm)

Button1: TButton;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Memo1: TMemo;

SpinEdit1: TSpinEdit;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

var

Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);

begin

SpinEdit1.Value:=15;

Edit1.Text:='0.1';

Edit2.Text:='0.5';

Memo1.Clear;

Memo1.Lines.Add('Дэлфи рулеZZZZZZ!!!');

end;

procedure TForm1.Button1Click(Sender: TObject);

var

xn,xk,x,h, an,y, al, R, del, S:real;

n,k:integer;

begin

n:=SpinEdit1.Value;

xn:=StrToFloat(Edit1.Text);

xk:=StrToFloat(Edit2.Text);

if CheckBox1.Checked then

Memo1.Lines.Add('исходники: n:='+IntToStr(n)+

' xn='+FloatToStr(xn)+

' xk='+floatToStr(xk));

h:=(xk-xn)*0.1;

x:=xn;

repeat

an:=x;

S:=an;

for k:=1 to n do

begin

R:=(-x*x*(2*(k-1)+1))/(2*(k-1)+3);

an:=an*R;

S:=S+an;

end;

y:=arctan(x);

if CheckBox2.checked then

if checkbox3.checked then begin

al:=S-y;

del:=abs((S-y)/y)*100;

Memo1.Lines.Add('x='+FloatToStr(x)+

' S='+ FloatToStrF(s,ffFixed,6,2)+

' Y='+ FloatToStrF(y,ffFixed,6,2)+

' A='+ FloatToStrF(al,ffFixed,6,2)+

' D='+ FloatToStrF(del,ffFixed,6,0)+'%');

end

else

if CheckBox2.Checked then begin

al:=s-y;

Memo1.Lines.Add('x='+FloatToStr(x)+

' S='+ FloatToStrF(s,ffFixed,6,2)+

' Y='+ FloatToStrF(y,ffFixed,6,2)+

' A='+ FloatToStrF(al,ffFixed,6,2));

end

else

if checkbox3.checked then begin

del:=abs((s-y)/y)*100;

Memo1.Lines.Add('x='+FloatToStr(x)+

' S='+ FloatToStrF(s,ffFixed,6,2)+

' Y='+ FloatToStrF(y,ffFixed,6,2)+

' D='+ FloatToStrF(del,ffFixed,6,2)+'%');

end

else

Memo1.Lines.Add('x='+FloatToStr(x)+

' S='+ FloatToStrF(s,ffFixed,6,2)+

' Y='+ FloatToStrF(y,ffFixed,6,2));

x:=x+h;

until x>xk;

end;

initialization

{$I unit1.lrs}

end.

Соседние файлы в папке лабораторные работы по LAZARUS