Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Лабораторная работа №2по Delphi. Фёдоров Виктор. Вариант №17 3
Лабораторная работа №2
«ОБРАБОТКА СОБЫТИЙ В СРЕДЕ DELPHI.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ»
Выполнил: студент 2 курса факультета Информатики Фёдоров Виктор
Вариант № 17
Постановка задачи: Найти значение выражения, если f(x) может принимать следующие значения sinh(x), sqr(x), exp(x):
Описание объектов, используемых в проекте:
x, y, rec переменные-аргументы, которые вводятся с клавиатуры, типа extended;
f выбор функции;
Листинг проекта:
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Math, Buttons;
type
TForm5 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
CheckBox1: TCheckBox;
RadioGroup1: TRadioGroup;
Memo1: TMemo;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure Button1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
var
x,y,f,res:extended;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
case RadioGroup1.ItemIndex of
0: f:=sinh(x);
1: f:=sqr(x);
2: f:=exp(x);
end;
if ((x=0) and (RadioGroup1.ItemIndex=2)) or (y=0) then
begin
Memo1.Text:='Решений нет' ;
exit;
end
else
if (x/y>0) then res:=ln(x)+f
else if (x/y<0) then
res:=ln(abs(x))-(sin(y)/cos(y))
else
begin
case RadioGroup1.ItemIndex of
0: f:=sinh(y*y*y);
1: f:=sqr(y*y*y);
2: f:=exp(y*y*y);
end;
res:=f;
end;
if CheckBox1.Checked then
begin
res:=round(res);
Memo1.Text:=(FloatToStr(res));
end
else Memo1.Text:=(FloatToStr(res));
end;
procedure TForm5.SpeedButton1Click(Sender: TObject);
begin
Close;
end;
procedure TForm5.SpeedButton2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Memo1.Clear;
end;
end.
Тесты:
При x=0, y=1, функция sinh(x): 1,175;
функция sqr(x): 1;
функция exp(x): Решений нет;
При x=10, y=7, функция sqr(x): 102,302;
функция sinh(x): 11015,5;
функция exp(x): 22028,7;
При x=0, y=0, функция sinh(x): Решений нет;
функция sqr(x): Решений нет;
функция exp(x): Решений нет;
При x=-2, y=4, функция sinh(x): 4,89;
функция sqr(x): -3,93;
функция exp(x): 0,53;
При x=0, y=4, функция sinh(x): 3,11;
функция sqr(x): 4096;
функция exp(x): Решений нет;