![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Создать Windows-приложение для решения неравенства ax2 +c>0;
Пыталась что-то сделать: Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text = '') then Edit1.Text := '1';
if (Edit2.Text = '') then Edit2.Text := '1';
a := StrToFloat( Edit1.Text );
c := StrToFloat( Edit2.Text );
if (a<=0) and (c<=0) then MessageDlg(' Данное неравенство не имеет решений',mtWarning, [mbOk, mbCancel],0)
elselmikle: пользуемся тегами Последний раз редактировалось lmikle, 30.11.2016 в 20:05. |
|
#2
|
||||
|
||||
|
ax2 это 2а?
2а + c больше 0? |
|
#3
|
|||
|
|||
|
неравенство неполное квадратное
a*x^2>0 |
|
#4
|
||||
|
||||
|
А у вас записано - если Edit1.Text и Edit2.Text пустое, то они равны 1
|
|
#5
|
|||
|
|||
|
ну, вообще-то, надо сначала решить его аналитически.
a*x^2 +c > 0 => x^2 > -(c/a) => x > sqrt(-(c/a)) & x < -sqrt(-(c/a)) Потом пишем программу: Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a, c : Double;
d : Double;
begin
if (Edit1.Text = '') then Edit1.Text := '1';
if (Edit2.Text = '') then Edit2.Text := '1';
a := StrToFloat( Edit1.Text );
c := StrToFloat( Edit2.Text );
d := -1*c/a;
If d < 0 Then MessageDlg('Нет решений.',mtInfo,[mbOK],0)
Else
If d = 0 Then MessageDlg('x > 0',mtInfo,[mbOK],0)
Else MessageDlg(Format('x > %f и x < %f',[sqrt(d),-1*sqrt(d)]),mtInfo,[mbOK],0)
end;Вроде, так. Последний раз редактировалось lmikle, 01.12.2016 в 20:24. |
|
#6
|
|||
|
|||
|
если ввести оба положительные,то пишет,что нет решений
|
|
#7
|
|||
|
|||
|
Упс. Ну да, наверное.
проверь формулы - забыл уже давно все это... А так, да, замени Код:
MessageDlg('Нет решений.',mtInfo,[mbOK],0)Код:
MessageDlg('Все пространство решений.',mtInfo,[mbOK],0) |