Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Используя циклы


Автор: Dvix 25.5.2008, 21:29
Если сумма трёх попарно различных действительный чисел x,y,z меньше единицы, то наименьшее из этих трёх чисел заменить полусуммой двух других; в противном случае заменить меньшее из x и y полусуммой двух оставшихся значений.

вот исходник примера(задачи по циклам, условие другое).

Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    CheckBox1: TCheckBox;
    RadioGroup1: TRadioGroup;
    Label4: TLabel;
    Memo1: TMemo;
    Button1: TButton;
    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,356';
  Edit3.Text:='0';
  Memo1.Clear;
  Memo1.Lines.Add('Рез-ты ст. гр. 920201 Петрова И.И.')
end;

procedure TForm1.Button1Click(Sender: TObject);
var x,y,z,u,ma:extended;
begin
  Memo1.Clear;
  x:=StrToFloat(Edit1.Text); Memo1.Lines.Add('x='+ Edit1.Text);
  y:=StrToFloat(Edit2.Text); Memo1.Lines.Add('y=' + Edit2.Text);
  Z:=StrToFloat(Edit3.Text); Memo1.Lines.Add('z=' + Edit3.Text);

  case RadioGroup1.ItemIndex of
  0: u:=cos(x);
  1: u:=sin(x);
  2: u:=sin(x)/cos(x);
  end;

  if CheckBox1.Checked then begin
    u:=abs(u);
    y:=abs(y);
    z:=abs(z);
  end;

  if u>y then ma:=u else ma:=y;
  if z>ma then ma:=z;

  if CheckBox1.Checked then
    Memo1.Lines.Add('maxabs='+ FloatToStrF(ma, ffFixed, 8, 2 ))
  else
    Memo1.Lines.Add('max='+ FloatToStrF(ma, ffGeneral, 8, 2 ));

    //Memo1.Lines.Add('cos(x)=' + FloatToStrF(cos(x), ffGeneral,8,2));
    //u:=abs(cos(x));
    //Memo1.Lines.Add('abs(cos(x))=' + FloatToStrF(u, ffFixed,8,2));
end;

end.




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)