Если сумма трёх попарно различных действительный чисел 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.
|
|