|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите пожалуйста оздать Windows-приложение для решения
Создать 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) else lmikle: пользуемся тегами Последний раз редактировалось 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) |
#8
|
|||
|
|||
а как сделать ,чтобы это выводилось не в окне а в Edit
|
#9
|
|||
|
|||
Код:
Edit3.Text := 'Все пространство решений.'; |
#10
|
|||
|
|||
это выводит,а как
вывести промежуток ?не получается |
#11
|
|||
|
|||
В чем проблема??? Ну присваивай Edit'у результат функции Format, которую просто целиком берешь из соотв MessageDlg.
|
#12
|
|||
|
|||
Вообще надо сначала решить его аналитически.
a*x^2 +c > 0 => x^2 > -(c/a) => x > sqrt(-(c/a)) & x < -sqrt(-(c/a)) А потом писать программу 3rn.ru |