Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2016, 16:41   #1
Arthasmenetil
Пользователь
 
Регистрация: 31.10.2016
Сообщений: 17
По умолчанию мнимые корни уравнения

помогите с мнимыми корнями программа должна выводить на экран мнимые корни уравнения Delphi 10 Seattle
Arthasmenetil вне форума Ответить с цитированием
Старый 01.11.2016, 16:42   #2
Arthasmenetil
Пользователь
 
Регистрация: 31.10.2016
Сообщений: 17
По умолчанию

что это уже есть:

unit Unit6;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
TForm6 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Label1: TLabel;
Label2: TLabel;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit3: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form6: TForm6;
a,b,c,d,x1,x2:extended;

implementation

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
c:=strtofloat(edit3.Text);
d:=sqr(b)-4*a*c ;
if d<0 then
begin
label1.Caption := 'Внимание! Данное уравнение не имеет решения(корней)! '+
floattostr(d)+' дискриминант меньше 0';

end;
if d>=0 then
begin
button2.Enabled := true;
x1:=(-b-sqrt(d))/2*a;
x2:=(-b+sqrt(d))/2*a;
label1.Caption := floattostr(x1) +' -первый корень '+ floattostr(x2)+' -второй корень '+ floattostr(d)+' -дискриминант';
end;

end;

procedure TForm6.Button2Click(Sender: TObject);
begin
label5.Caption := 'Ваше уравнение: '+ edit1.Text + label6.Caption + ComboBox2.Text+
edit2.Text + label7.Caption + ComboBox1.Text+edit3.Text;
label8.Caption := 'вычисляем дискриминант: ' +
'd= '+ edit2.Text+'^' + ' - '+
'4 *'+edit1.Text+' * '+edit3.Text +';'+ ' d= '+ floattostr(d) + ';'+
' вычислим корни: '+
'x1= '+ '(-'+edit2.Text+ ' - кв.к '+floattostr(d)+') /2 * '+edit1.Text +'; x1= '+
floattostr(x1) + ';'+
'x2= '+ '(-'+edit2.Text+ ' + кв.к '+floattostr(d)+') /2 * '+edit1.Text +'; x2= '+
floattostr(x2);
if d<0 then
begin
label5.Caption := 'Ваше уравнение: '+ edit1.Text + label6.Caption + ComboBox2.Text+
edit2.Text + label7.Caption + ComboBox1.Text+edit3.Text;
label8.Caption := 'НЕ ИМЕЕТ РЕШЕНИЯ! '
end;

end;

procedure TForm6.FormCreate(Sender: TObject);
begin
form6.Edit1.Text:='';
form6.Edit2.Text:='';
form6.Edit3.Text:='';
end;

end.

нужно остальное.
Arthasmenetil вне форума Ответить с цитированием
Старый 01.11.2016, 16:59   #3
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

ну! если дискриминант <0, то просто меняешь его знак на + и так же вычисляешь 2 корня. только в ответе не забудь приписать мнимую единицу i:
x1:= -b/(a2) + i*корень(D)/(2a)
и x2:= -b/(a2) - i*корень(D)/(2a)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 01.11.2016, 17:13   #4
Arthasmenetil
Пользователь
 
Регистрация: 31.10.2016
Сообщений: 17
По умолчанию

Спасибо! будем считать тему закрытой.
Arthasmenetil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить корни функционального уравнения. Марина357 Помощь студентам 0 26.10.2015 11:41
Корни квадратного уравнения С++ wolchara Помощь студентам 2 10.01.2015 22:26
корни уравнения zzz6 Помощь студентам 1 28.06.2011 13:07
Комплексные корни уравнения (С++) VIKusiK91 Помощь студентам 1 12.10.2010 19:07
корни квадратного уравнения InseR Общие вопросы Delphi 12 01.06.2007 17:30