|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.11.2016, 16:41 | #1 |
Пользователь
Регистрация: 31.10.2016
Сообщений: 17
|
мнимые корни уравнения
помогите с мнимыми корнями программа должна выводить на экран мнимые корни уравнения Delphi 10 Seattle
|
01.11.2016, 16:42 | #2 |
Пользователь
Регистрация: 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. нужно остальное. |
01.11.2016, 16:59 | #3 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,814
|
ну! если дискриминант <0, то просто меняешь его знак на + и так же вычисляешь 2 корня. только в ответе не забудь приписать мнимую единицу i:
x1:= -b/(a2) + i*корень(D)/(2a) и x2:= -b/(a2) - i*корень(D)/(2a)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
01.11.2016, 17:13 | #4 |
Пользователь
Регистрация: 31.10.2016
Сообщений: 17
|
Спасибо! будем считать тему закрытой.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычислить корни функционального уравнения. | Марина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 |