Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
делфи.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
8.51 Mб
Скачать

Implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

edt1.Text := '2';

edt2.Text := '5';

Mmo1.Clear;

Mmo1.Lines.Add('Лa6.раб.№2. Ст.гр. 41703113 Сушкина Д.В.');

end;

procedure TForm1.btn1Click(Sender: TObject);

var

x, q, a, b, u : real;

begin

Mmo1.Clear;

x := StrToFloat(Edt1.Text);

Mmo1.Lines.Add('x = ' + Edt1.Text);

q := StrToFloat(Edt2.Text);

Mmo1.Lines.Add('q = ' + Edt2.Text);

a:=Abs(x*q);

case rg1.ItemIndex of

0: b:=(exp(x)-exp(-x))/2;

1: b:=sqr(x);

2: b:=exp(x);

end;

if a>10 then u:=Ln((Abs(b)+(Abs(q))));

if a<10 then u:=Exp(b+q);

if a=10 then u:=b+q;

Mmo1.Lines.Add('Результат k:= ' + FloatToStrF(u, ffFixed, 8, 2));

end;

end.

Результат работы программы:

  1. При запуске программы появляется следующее окно:

  1. После нажатия кнопки «Выполнить» для f(x)=sh(x):

Выводы: научились пользоваться стандартными компонентами организации переключений (TCheckBox, TradioGroup и др.). Используя компоненты организации переключений, разработали интерфейс и программу для заданного разветвляющегося алгоритма.

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

Разработка приложения, реализующего циклический вычислительный процесс

Постановка задачи:

Разработать приложение с реализацией циклических вычислений в соответствии с индивидуальным заданием.

Задание: необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для х изменяющихся от до с шагом . Близость значений S(x) и Y(x) во всем диапазоне значений x указывает на правильность вычисления S(х) и Y(x).

S(x)

Y(x)

10

0.1

0.5

15

arctgx

Текст программы:

unit Unit1;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Math, StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

Button1: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

lbl1: TLabel;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text :='0.1';

Edit2.Text :='0.5';

Edit3.Text :='15';

Edit4.Text :=FloatToStr((0.5-0.1)/15);

Memo1.Clear;

Memo1.Lines.Add('Лабораторная работа №3');

end;

procedure TForm1.Button1Click(Sender: TObject);

var

xn,xk,s,h,y,z,x2n,nf:real;

n,n1:integer;

begin

xn:=0.1;

xk:=0.5;

n:=15;

h:=(xk-xn)/n;

while xn<=xk do

begin

//Вычисление S

S:=xn;

x2n:=xn;

For n1:=1 To n Do

Begin

nf:=2*n1+1; // (2*n+1)

x2n:=x2n*xn*xn; // x^(2*n+1)

z:=x2n/nf;

if (n1 mod 2)=0 then

S:=S+z else S:=S-z

End;

//Вычисление Y

y:=ArcTan(xn);

Memo1.Lines.Add('S(x) = ' + FloatToStrF(s, ffFixed, 8, 6) + #9 +' Y(x) = '+FloatToStrF(y, ffFixed, 8, 6));

xn:=xn+h;

end;

end;

end.

Результат работы программы: