|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.01.2009, 14:49 | #1 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 17
|
Решение биквадратного уравнения - Delphi знатокам
Вообщем, забился с преподом на 3 зачёта, что до завтра накатаю прогу по решению биквадратного уравнения. Вот сижу щас, лома голову. Я конечно буду стараться сам, но если у кого есть идеи как всё это счастье реализовать, буду рад)
Последний раз редактировалось Котакот; 29.01.2009 в 17:30. |
29.01.2009, 14:54 | #2 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 17
|
Пишу в Delphi 7. В форме)
|
29.01.2009, 15:35 | #3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
А в чем собственно проблема? 3 поля ввода для коэффициентов, 4 поля для корней, 1 кнопка. Алгоритм примитивный, как на бумаге решаешь, так и пишешь. Еще наверно надо ограничить символы, допустимые для ввода коэффициентов.
|
29.01.2009, 16:46 | #4 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 17
|
Ага, ну вот я написал такую штуку:
procedure TForm1.BitBtn1Click(Sender: TObject); var a,b,c: real; var d{дискриминант},x,f: real; var r1,r2,r3,r4: real; begin a:=strtofloat(edit1.Text); b:=strtofloat(edit2.Text); c:=strtofloat(edit3.Text); d:=(b*b)-(4*(a*c)); if d<0 then begin Edit4.text:='Уравнение не имеет действительных решений'; end else x:=(-b-sqrt(d))/(2*a); f:=(-b+sqrt(d))/(2*a); if (x<0) and (f<0) then begin Edit4.text:='Уравнение не имеет действительных решений, т.к. оба диск. <0'; end else if (x>=0) and (f>=0) then begin r1:=sqrt(x); r2:=-sqrt(x); r3:=sqrt(f); r4:=-sqrt(f); Edit4.text:='x1 = '+floattostrF(r1,fffixed,6,2)+'x2 = '+floattostrF(r2,fffixed,6,2)+'x3 = '+floattostrF(r3,fffixed,6,2)+'x4 = '+floattostrF(r4,fffixed,6,2); end else if (x>=0) and (f<0) then begin r1:=sqrt(x); r2:=-sqrt(x); Edit4.text:='x1 = '+floattostrF(r1,fffixed,6,2)+'x2 = '+floattostrF(r2,fffixed,6,2); end else if (x<0) and (f>=0) then begin r3:=sqrt(f); r4:=-sqrt(f); Edit4.text:='x1 = '+floattostrF(r3,fffixed,6,2)+'x2 = '+floattostrF(r4,fffixed,6,2); end; Но прога, то и дело валится :/ |
29.01.2009, 16:51 | #5 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 17
|
+ я задал MaskEdit,ы для ввода и в Mask Editore прописал допустимые для ввода значения #9999999;1; Как прописать, чтобы можно было вводить и дробные?
|
29.01.2009, 16:56 | #6 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Я в Делфи не очень, даже хуже. Вот есть два алгоритма на Паскале, оба рабочие. Посмотри, где у тебя принципиальные ошибки. А насчет MaskEdit почитай что-нибудь, хотя бы 100 компонентов Делфи, есть на этом сайте.
|
29.01.2009, 17:00 | #7 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 17
|
такую ошибку кажет, когда у программы дело до вычислений доходит... ну в твоих исходниках, код примерно такого же толка как и у меня получился) Последний раз редактировалось Котакот; 29.01.2009 в 17:08. |
29.01.2009, 17:08 | #8 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 17
|
Как задать в Mask Editore дробные, никак не найду. Если кто знает подскажите, я пока ищу )
|
29.01.2009, 17:32 | #9 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Вот здесь неправильно.
Код:
|
29.01.2009, 17:42 | #10 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Напиши такие процедуры для первых трех Эдитов и не парься, я тоже не нашел, как делать маску вещественных чисел, рекомендуют именно так делать.
Код:
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решение биквадратного уравнения Паскаль.... | КиношкА | Помощь студентам | 8 | 19.12.2008 01:25 |
решение уравнения с использованием суммы | NSvirus | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 11.11.2008 13:39 |
Решение уравнения | Datrav | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 06.06.2008 08:23 |
Решение квадратного уравнения | Stiv | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 30.11.2007 15:15 |
Решение уравнения вида ax+by=1 :)) | Solny6ko YasnoE | Помощь студентам | 4 | 14.06.2007 14:38 |