Почему если я сравниваю y в операторе if с целым числом(например с 1), то все работает и в форме выводится "условие не выполняется" если ввести 1, но если y сравнивается с дробным числом(как в данном случае 1.2), то условие игнорируется и даже при введении в edit2 числа 1.2 условие идет дальше и мне выводится ответ. Как это исправить?
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | procedure TForm1 . Button1Click(Sender: TObject);
var x,y,a,b,U: real ;
begin
x:=strtofloat(Edit1 . Text);
y:=strtofloat(Edit2 . Text);
if (y<> 1.2 ) and (sin(x)+cos(y)<> 0 ) then
begin
a:=exp(-power(x, 2 )+ 1 )+sin(power(x, 2 )- 8 )/( 1.2 -y);
b:=sqrt( abs (y- 2 ))+( 2 *power(x, 2 )- 6 *x- 1 )/(sin(x)+cos(y));
if a>b then U:=a
else U:=b;
label1 . Caption:= 'U=' +format( '%9.4f' ,[u]);
end
else
label1 . Caption:= 'Условие не выполняется'
end ;
end .
|
Админ: Пользуемся тегами при оформлении кода!