線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5082
推到 Plurk!
推到 Facebook!

關於解二次方程式的問題?新手!(作業文不良示範)

答題得分者是:timhuang
bzbz
一般會員


發表:7
回覆:10
積分:3
註冊:2003-04-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-19 17:52:16 IP:218.165.xxx.xxx 未訂閱
撰寫一程式,求解下列二次方程式 a X2 b X c = 0 程式要求如下 ( 1 ) a , b, c 均為 real 實數型態 ( 2 ) 以 Inputbox( ) 讓使用者輸入a , b, c , 由程式判別 a 不可為零 ( 3 ) 依 a , b, c , 判別該二次方程式之解屬於下列何種情況 ( i ) 兩相異根, X=..... ( ii ) 兩重根, X=..... ( iii ) 複數根 (有實部, 如 1 2 i , 1 - 2i ), X=..... ( iv ) 虛根 (無實部, 如 2 i , - 2i ), X=..... 我是新手,可以請大家教我怎麼寫嗎?完整的程式碼,小弟不才,懇請大家幫幫忙!謝謝各位高手!
編輯記錄
Coffee 重新編輯於 2009-03-27 15:31:35, 註解 置頂作為作業文不良示範‧
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-19 18:14:09 IP:61.216.xxx.xxx 未訂閱
作業??
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-19 18:22:11 IP:210.3.xxx.xxx 未訂閱
引言:完整的程式碼
作業應該自己做
timhuang
尊榮會員


發表:78
回覆:1815
積分:1603
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-19 21:28:58 IP:61.221.xxx.xxx 未訂閱
若要使用複數的話, 可以參考 VarCmplx unit 內的 function!! 因為一元二次方程式的根為 (-b (b^2-4ac)^(1/2))/2a 及 (-b (b^2-4ac)^(1/2))/2a 所以是否會使用複數 (Complex number) 就看 b^2-4ac 是否小於 0 試試看.
timhuang
尊榮會員


發表:78
回覆:1815
積分:1603
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-19 22:39:31 IP:61.221.xxx.xxx 未訂閱
由於 VarComplexPower FUNCTION 有 bug , 所以這裡先不使用該 function, 原來想說用該 function 來進行, 這樣程式碼會簡單很多, 這裡先簡單寫一下你要解根的功能, 剩餘根型態判定的問題, 就給你當作業好了..  放三個 class="code"> uses VarCmplx, Math; procedure TForm1.Button1Click(Sender: TObject); var a, b, c: Double; d : Double; x1, x2 : Variant; begin a := StrToFloat(Edit1.Text); b := StrToFloat(Edit2.Text); c := StrToFloat(Edit3.Text); d := b*b-4*a*c; if d >= 0 then begin x1 := (-b Power(d,0.5))/(2*a); x2 := (-b-Power(d,0.5))/(2*a); end else begin x1 := VarComplexCreate((-b)/(2*a), Power(-d,0.5)/(2*a)); x2 := VarComplexCreate((-b)/(2*a), -Power(-d,0.5)/(2*a)); end; Memo1.Lines.Add(FloatToStr(a) 'x^2 ' FloatToStr(a) 'x ' FloatToStr(c) '=0'); Memo1.Lines.Add('d=' FloatToStr(d)); if VarType(x1) = varDouble then begin //實數解 Memo1.Lines.Add('x1=' FloatToStr(x1)); Memo1.Lines.Add('x2=' FloatToStr(x2)); end else begin //複數解 Memo1.Lines.Add('x1=' x1); Memo1.Lines.Add('x2=' x2); end; end;
vkefo
一般會員


發表:0
回覆:1
積分:0
註冊:2003-04-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-21 18:49:14 IP:61.221.xxx.xxx 未訂閱
..........竟來這問@@" 你是那位呀 ^^" [徐老師]的課可不好上呢! 不過你也太懶了吧!題目整個po上來...... 還有你忘了貼個東西,老師有要求要用InputBox輸入喔,記得改呢!! 可別直接用下面timhuangd大大的Edit喔 ^^"
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-21 23:27:36 IP:218.32.xxx.xxx 未訂閱
為了問作業而入會員嗎?太誇張了
bzbz
一般會員


發表:7
回覆:10
積分:3
註冊:2003-04-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-21 23:58:09 IP:218.165.xxx.xxx 未訂閱
引言: ..........竟來這問@@" 你是那位呀 ^^" [徐老師]的課可不好上呢! 不過你也太懶了吧!題目整個po上來...... 還有你忘了貼個東西,老師有要求要用InputBox輸入喔,記得改呢!! 可別直接用下面timhuangd大大的Edit喔 ^^"
這位同學,只是問個問題?你們那麼多的廢話,就是不會才會問你們的,能否指點迷津,結果呢?就在那兒作業不作業的,真是求人不如求自已,我自已搞定了啦,不用大家的幫忙,但還是要感謝有對我指點的timhuang大大,雖然不是用你教的,但還是要謝謝你啦!
taishyang
站務副站長


發表:377
回覆:5486
積分:4552
註冊:2002-10-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-22 00:03:45 IP:140.135.xxx.xxx 未訂閱
引言:只是問個問題?你們那麼多的廢話,就是不會才會問你們的,能否指點迷津,結果呢?就在那兒作業不作業的,真是求人不如求自已,我自已搞定了啦,不用大家的幫忙
處世之道有待加強... 您可以參考下面連結的討論: < href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28041">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28041 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20571 ~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 - taishyang 於 2003/04/22 00:10:25
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-22 09:58:56 IP:61.218.xxx.xxx 未訂閱
bzbz 兄 所謂國有國法,家有家規,本站當然也有些規定 請詳讀本站規定後再發言 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19264    雖未禁止發問作業 但是發問仍是需要技巧的 不僅本站,相信各大論壇都有一個不成文的規定… 就是對於將作業一字不露的po上來尋求解答的 通常不會得到好的回應…所以…學會發問技巧也是網路禮節之一        
系統時間:2017-11-19 18:31:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!