Консультация № 197535
06.01.2020, 10:38
0.00 руб.
08.01.2020, 14:30
0 1 1
Здравствуйте! У меня возникли сложности с таким вопросом: в delphy


Обсуждение

давно
Профессор
401888
1232
06.01.2020, 12:41
общий
это ответ
Здравствуйте, JonMoxley!
[code lang=pascal]unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
RadioGroup1: TRadioGroup;
Button1: TButton;
Memo1: TMemo;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses Math;//для вычисления min, max
procedure TForm1.Button1Click(Sender: TObject);
var x,y,z,f,n:double;
begin
if not TryStrToFloat(Edit1.Text,x)then
begin
ShowMessage('Значение X введено неверно');
Edit1.Clear;
Edit1.Setfocus;
exit;
end;
if not TryStrToFloat(Edit2.Text,y)then
begin
ShowMessage('Значение Y введено неверно');
Edit2.Clear;
Edit2.Setfocus;
exit;
end;
if not TryStrToFloat(Edit3.Text,z)then
begin
ShowMessage('Значение Z введено неверно');
Edit3.Clear;
Edit3.Setfocus;
exit;
end;
case RadioGroup1.ItemIndex of
0:f:=x*x;
1:f:=(exp(x)-exp(-x))/2;
2:f:=exp(x);
else
begin
ShowMessage('Вы не выбрали функцию');
exit;
end;
end;
if max(f,y)=0 then
begin
ShowMessage('Значение N не определено, деление на 0');
exit;
end;
n:=min(f+y,y-z)/max(f,y);
Label4.Caption:='n='+floattostr(n);
end;

end.[/code]
Прикрепленные файлы:
efaa369d2adc3a19747f21cfebded2699f6467ff.zip
Форма ответа