VB解一元二次方程配方法源碼

上傳人:文*** 文檔編號:62698961 上傳時間:2022-03-15 格式:DOC 頁數(shù):9 大小:62.50KB
收藏 版權(quán)申訴 舉報 下載
VB解一元二次方程配方法源碼_第1頁
第1頁 / 共9頁
VB解一元二次方程配方法源碼_第2頁
第2頁 / 共9頁
VB解一元二次方程配方法源碼_第3頁
第3頁 / 共9頁

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《VB解一元二次方程配方法源碼》由會員分享,可在線閱讀,更多相關(guān)《VB解一元二次方程配方法源碼(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注! VB解一元二次方程配方法 我也是一個vb的超級菜鳥,但是我運用我所學(xué)的數(shù)學(xué)知識,編輯了一個解一元二次方程的配方法過程的這么一個程序。我是自己原創(chuàng),至于是不是首創(chuàng)就不知道了。(很多網(wǎng)上直接出答案的都是運用公式法計算的,那么我就想寫個有過程的程序,完爆數(shù)學(xué)老師) 好了,廢話不說多,現(xiàn)在先上測試圖,有圖有真相嘛。 這個程序有幾個重點(后面源碼都有注釋) 1、 a值要變?yōu)檎龜?shù),否則將無法運行 2、 開不盡的數(shù)要用根號表示,不會像√2=1.414……這么多小數(shù) 3、 分母有理化,倒數(shù)第二步的分母不能為根號(標(biāo)準(zhǔn)

2、) 4、 移項時的符號注意變化。 下面是界面介紹: 下面直接上源碼了,有注釋自己可以理解。 Dim a$ ,b$,c$,d$,e$,f$,g$,h$ Dim jj! Dim ii! Dim pp! Private Sub Command1_Click() a = Text1.Text b = Text2.Text c = Text3.Text d = Text4.Text If a = 1 Then '第一步,先列出原式 Label3.Caption = "x^2" End If If a = -1

3、 Then Label3.Caption = "-x^2" End If If Not a = 1 And Not a = -1 Then Label3.Caption = a & "x^2" End If If b > 0 Then Label3.Caption = Label3.Caption & "+" & b Else Label3.Caption = Label3.Caption & b End If If c > 0 Then Label3.Caption = Label3.Caption & "x+" & c & "=" & d Else Label3

4、.Caption = Label3.Caption & "x" & c & "=" & d End If If a < 0 Then '當(dāng)a為負(fù)數(shù)時,每個項同時乘以-1 a = -a b = -b c = -c d = -d End If c = c - d '移項,將右邊移向左邊 If a = 0 Then '判斷有無解 Label3.Caption = Label3.Caption & vbCrLf & "原方程無解" End If If (b ^ 2) - (4 * a * c) < 0 Then Label3.Caption = Label3.

5、Caption & vbCrLf & "原方程無解" End If If a = 1 Then '第二步,寫出移項后的結(jié)果 Label3.Caption = Label3.Caption & vbCrLf & "x^2" End If If a = -1 Then Label3.Caption = Label3.Caption & vbCrLf & "-x^2" End If If Not a = 1 And Not a = -1 Then Label3.Caption = Label3.Caption & vbCrLf & a & "x^2" End If If b

6、 > 0 Then Label3.Caption = Label3.Caption & "+" & b Else Label3.Caption = Label3.Caption & b End If If c > 0 Then Label3.Caption = Label3.Caption & "x+" & c & "=0" Else Label3.Caption = Label3.Caption & "x" & c & "=0" End If e = (b ^ 2) / (4 * a) '算出適合配方的新c值 f = e - c '新c值與原c值的差,兩邊同時加差值

7、 If a = 1 Then '第三步,寫出初步配方的結(jié)果 Label3.Caption = Label3.Caption & vbCrLf & "x^2" End If If a = -1 Then Label3.Caption = Label3.Caption & vbCrLf & "-x^2" End If If Not a = 1 And Not a = -1 Then Label3.Caption = Label3.Caption & vbCrLf & a & "x^2" End If If b > 0 Then Label3.Caption = Label

8、3.Caption & "+" & b Else Label3.Caption = Label3.Caption & b End If If e > 0 Then Label3.Caption = Label3.Caption & "x+" & e & "=" & f Else Label3.Caption = Label3.Caption & "x" & e & "=" & f End If g = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a) '后臺使用公式法計算 h = (-b - Sqr(b ^ 2 - 4 * a * c))

9、/ (2 * a) If g > 0 And g < 1 Then '給0 < y < 1的數(shù)前加個0 g = "0" & g End If If g < 0 And g > -1 Then g = -g g = "-0" & g End If If h > 0 And h < 1 Then h = "0" & h End If If h < 0 And h > -1 Then h = -h h = "-0" & h End If jj = Sqr(a) If a = 1 Then '第四步,運用完全平方公式進(jìn)行配方 Label3.Caption = La

10、bel3.Caption & vbCrLf & "(x" End If If a = -1 Then Label3.Caption = Label3.Caption & vbCrLf & "(-x" End If If Not a = 1 And Not a = -1 Then If Not Len(CStr(jj - Fix(jj))) > 4 Then Label3.Caption = Label3.Caption & vbCrLf & "(" & Sqr(a) & "x" End If If Len(CStr(jj - Fix(jj))) > 4 Then’小數(shù)大于3位

11、時用根號表示,不直接開方 Label3.Caption = Label3.Caption & vbCrLf & "(√" & a & "x" End If End If '------------------第一層----------------------------- ii = Sqr(e) If b > 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "+" & Sqr(e) & ")^2=" & f End If If Len(CStr(ii - Fix

12、(ii))) > 4 Then Label3.Caption = Label3.Caption & "+" & "√" & e & ")^2=" & f End If End If If b < 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "-" & Sqr(e) & ")^2=" & f End If If Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "-" & "√"

13、 & e & ")^2=" & f End If End If '------------------第二層---------------------------- If a = 1 Then '第五步,兩邊同時開根號 Label3.Caption = Label3.Caption & vbCrLf & "x" End If If a = -1 Then Label3.Caption = Label3.Caption & vbCrLf & "-x" End If If Not a = 1 And Not a = -1 Then If Not Len(CStr(jj -

14、 Fix(jj))) > 4 Then Label3.Caption = Label3.Caption & vbCrLf & "" & Sqr(a) & "x" End If If Len(CStr(jj - Fix(jj))) > 4 Then Label3.Caption = Label3.Caption & vbCrLf & "√" & a & "x" End If End If If b > 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "+" & Sq

15、r(e) & "=" End If If Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "+" & "√" & e & "=" End If End If If b < 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "-" & Sqr(e) & "=" End If If Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption =

16、Label3.Caption & "-" & "√" & e & "=" End If End If pp = Sqr(f) If Not Len(CStr(pp - Fix(pp))) > 4 Then Label3.Caption = Label3.Caption & "±" & Sqr(f) End If If Len(CStr(pp - Fix(pp))) > 4 Then Label3.Caption = Label3.Caption & "±√" & f End If Label3.Caption = Label3.Caption & vbCrLf & "x

17、=" '第六步,移項,x在左 If Len(CStr(jj - Fix(jj))) > 4 Then '分母有理化(后補分母) Label3.Caption = Label3.Caption & "√" & a End If If a = 1 Then If Not Len(CStr(pp - Fix(pp))) > 4 Then Label3.Caption = Label3.Caption & "±" & Sqr(f) End If If Len(CStr(pp - Fix(pp))) > 4 Then Label3.Caption = Label3.Caption &

18、"±√" & f End If If b > 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "-" & Sqr(e) End If If Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "-" & "√" & e End If End If If b < 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Capti

19、on = Label3.Caption & "+" & Sqr(e) End If If Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "+" & "√" & e End If End If End If '------------------------第一層--------------------------- If Not a = 1 Then If Not Len(CStr(pp - Fix(pp))) > 4 Then Label3.Caption = Label3.Capti

20、on & "(±" & Sqr(f) End If If Len(CStr(pp - Fix(pp))) > 4 Then Label3.Caption = Label3.Caption & "(±√" & f End If If b > 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "-" & Sqr(e) & ")/" End If If Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Ca

21、ption & "-" & "√" & e & ")/" End If End If If b < 0 Then If Not Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "+" & Sqr(e) & ")/" End If If Len(CStr(ii - Fix(ii))) > 4 Then Label3.Caption = Label3.Caption & "+" & "√" & e & ")/" End If End If If Not Len(CStr(jj - Fix(j

22、j))) > 4 Then Label3.Caption = Label3.Caption & Sqr(a) End If If Len(CStr(jj - Fix(jj))) > 4 Then Label3.Caption = Label3.Caption & a End If End If Label3.Caption = Label3.Caption & vbCrLf & "x=" & g & "或x=" & h '第七步,得解 End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text

23、 = "" Text3.Text = "" Text4.Text = "" Label3.Caption = "解題區(qū)域" End Sub Private Sub Command3_Click() a = Text1.Text b = Text2.Text c = Text3.Text d = Text4.Text c = c - d Label6.Visible = True Label7.Visible = True Label8.Visible = True Label9.Visible = True Line1.Visible = True Li

24、ne2.Visible = True Label5.Caption = "∵a=" & a & ",b=" & b & ",c=" & c '第一步,列出a、b、c的值(格式嚴(yán)謹(jǐn)) Label5.Caption = Label5.Caption & vbCrLf & "∴△=b^2-4ac=" & (b ^ 2) - (4 * a * c) '第二步,算出變量b^2-4ac的值 If (b ^ 2) - (4 * a * c) < 0 Then '第三步,判斷方程有無解 Label5.Caption = Label5.Caption & vbCrLf & "∴b^2-4ac <

25、 0,方程無解。" Else If b > 0 Then Label7.Caption = "-" & b & "±√" & (b ^ 2) - (4 * a * c) '第四步,寫分子 Else Label7.Caption = -b & "±√" & (b ^ 2) - (4 * a * c) End If End If Label8.Caption = 2 * a '第四步,寫分母 g = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a) '公式法運算 h = (-b - Sqr(b ^ 2 - 4 * a * c)) / (2 *

26、a) If g > 0 And g < 1 Then '加0 g = "0" & g End If If g < 0 And g > -1 Then g = -g g = "-0" & g End If If h > 0 And h < 1 Then h = "0" & h End If If h < 0 And h > -1 Then h = -h h = "-0" & h End If Label9.Caption = "∴x=" & g & "或x=" & h '第五步,得解 End Sub Private Sub Command4_Click() Label6.Visible = False Label7.Visible = False Label8.Visible = False Label9.Visible = False Line1.Visible = False Line2.Visible = False Label5.Caption = "解題區(qū)域" End Sub 以上有些代碼可能編的有點傻瓜,因為我也只是個菜鳥,能達(dá)到效果我就覺得可以的了。 更重要的是自己認(rèn)真的學(xué)習(xí)一元二次方程,不能依賴程序。 感謝讀者的支持。 9 / 9

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!