Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.11.2016, 19:55
Карина45 Карина45 вне форума
Прохожий
 
Регистрация: 30.11.2016
Сообщения: 8
Версия Delphi: Delphi7
Репутация: 10
По умолчанию Помогите пожалуйста оздать 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  
Старый 30.11.2016, 19:59
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

ax2 это 2а?

2а + c больше 0?
Ответить с цитированием
  #3  
Старый 30.11.2016, 20:02
Карина45 Карина45 вне форума
Прохожий
 
Регистрация: 30.11.2016
Сообщения: 8
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

неравенство неполное квадратное
a*x^2>0
Ответить с цитированием
  #4  
Старый 30.11.2016, 20:06
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

А у вас записано - если Edit1.Text и Edit2.Text пустое, то они равны 1
Ответить с цитированием
  #5  
Старый 30.11.2016, 20:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

ну, вообще-то, надо сначала решить его аналитически.
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  
Старый 30.11.2016, 20:23
Карина45 Карина45 вне форума
Прохожий
 
Регистрация: 30.11.2016
Сообщения: 8
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

если ввести оба положительные,то пишет,что нет решений
Ответить с цитированием
  #7  
Старый 30.11.2016, 21:59
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Упс. Ну да, наверное.
проверь формулы - забыл уже давно все это...
А так, да, замени
Код:
MessageDlg('Нет решений.',mtInfo,[mbOK],0)
на
Код:
MessageDlg('Все пространство решений.',mtInfo,[mbOK],0)
Действительно, квадрат не может быть меньше 0...
Ответить с цитированием
  #8  
Старый 30.11.2016, 23:43
Карина45 Карина45 вне форума
Прохожий
 
Регистрация: 30.11.2016
Сообщения: 8
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

а как сделать ,чтобы это выводилось не в окне а в Edit
Ответить с цитированием
  #9  
Старый 01.12.2016, 00:07
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
Edit3.Text := 'Все пространство решений.';
Ответить с цитированием
  #10  
Старый 01.12.2016, 08:42
Карина45 Карина45 вне форума
Прохожий
 
Регистрация: 30.11.2016
Сообщения: 8
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

это выводит,а как
вывести промежуток ?не получается
Ответить с цитированием
  #11  
Старый 01.12.2016, 20:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В чем проблема??? Ну присваивай Edit'у результат функции Format, которую просто целиком берешь из соотв MessageDlg.
Ответить с цитированием
  #12  
Старый 18.12.2016, 21:14
Alyona96 Alyona96 вне форума
Прохожий
 
Регистрация: 18.12.2016
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Вообще надо сначала решить его аналитически.
a*x^2 +c > 0 =>
x^2 > -(c/a) =>
x > sqrt(-(c/a)) & x < -sqrt(-(c/a))
А потом писать программу
__________________
3rn.ru
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter