41節(jié)用解析法設(shè)計(jì)程序_第1頁
41節(jié)用解析法設(shè)計(jì)程序_第2頁
41節(jié)用解析法設(shè)計(jì)程序_第3頁
41節(jié)用解析法設(shè)計(jì)程序_第4頁
41節(jié)用解析法設(shè)計(jì)程序_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、41節(jié)節(jié) 用解析法設(shè)計(jì)程序用解析法設(shè)計(jì)程序解析法的概念:通過分析問題中各要素之間的關(guān)系,用最簡(jiǎn)練的語言或形式化的符號(hào)來表達(dá)它們的關(guān)系,得出解決問題所需的表達(dá)式,然后設(shè)計(jì)程序求解問題的方法稱為解析法。問題:(p96)如圖下土所示,mn是豎直于地面的物體,其底部n不可到達(dá)。為了測(cè)量mn的高度,在地面上選取一條與mn在同一平面的水平線線段ab為基線,測(cè)得ab的長(zhǎng)為a=20米,在a點(diǎn)向m點(diǎn)張望的仰角 a38.40,在b點(diǎn)向m點(diǎn)張望的仰角b22.80。試設(shè)計(jì)程序計(jì)算高度mn。20米(1) 分析問題分析問題 在直角三角形anm中可以得到:tana0mn/an即:anmn/ tan a0在直角三角形bnm中

2、可以得到:tan b0mn/bn即:bnmn/ tan b0所以:abbnanmn/tan b0mn/tan a0 mn(1/ tan b01/tan a0 ) 設(shè)計(jì)輸入輸出界面,從三個(gè)文本框中輸入基線長(zhǎng)a ,仰角a0用alpha代替、b0用bata代替 計(jì)算tan a0的倒數(shù)(用cota表示),即cota1/tan(a03.14159/180); 計(jì)算tan b0的倒數(shù)(用cotb表示),即cotb1/tan(b03.14159/180); 計(jì)算a/(cotbcota); 輸出結(jié)果(2 2) 設(shè)計(jì)算法設(shè)計(jì)算法(3) 編寫程序編寫程序 設(shè)計(jì)窗體如圖 對(duì)象名 屬性名 屬性值 功能 標(biāo)簽 名稱 l

3、abel1、label2label3、label4標(biāo)簽的名稱 caption 基線長(zhǎng) a=仰角 =仰角 =被測(cè)物體高度=設(shè)置標(biāo)簽顯示的內(nèi)容 文本框enabled text1 textboxtext2 textbox text3 textbox text4 textbox文本框的名稱text 全部設(shè)置成空全部設(shè)置成空設(shè)置text的值按鈕 名稱 command1命令按鈕的名稱 caption 計(jì)算設(shè)置命令按鈕顯示的內(nèi)容 private sub command1_click()private sub command1_click() a = val(text1.text) a = val(text1

4、.text) alpha = val(text2.text) alpha = val(text2.text) batabata = val(text3.text) = val(text3.text) pi = 3.14159265 pi = 3.14159265 cota = 1 / tan(alpha cota = 1 / tan(alpha * * pi / 180) pi / 180) cotb = 1 / tan( cotb = 1 / tan(batabata * * pi / 180) pi / 180) mn = a / (cotb - cota) mn = a / (cotb

5、- cota) text4.text = mn text4.text = mnend subend sub參考程序:參考程序: (4) 調(diào)試程序調(diào)試程序 參考程序運(yùn)行的結(jié)果 用解析法求解問題的實(shí)踐用解析法求解問題的實(shí)踐 1 1、電阻計(jì)算問題、電阻計(jì)算問題 在一家工廠作社會(huì)調(diào)查時(shí),張軍了解到他們正在進(jìn)行一項(xiàng)技術(shù)改革,其中有一個(gè)環(huán)節(jié)是改變一個(gè)局部電路的電阻以觀察對(duì)整個(gè)器件的影響。這個(gè)局部電路由并聯(lián)的兩個(gè)分支組成(如圖45),其中一個(gè)分支的等效電阻是r1,而另一個(gè)分支的等效電阻為r2。因?yàn)殡娐诽匦缘男枰?,必須保持r2r12000。工廠技術(shù)人員希望由這兩個(gè)分支并聯(lián)的電路的總電阻r分別取為1000、20

6、00100000。這樣得多次計(jì)算r1和r2的電阻值,而這種計(jì)算每次都很麻煩。于是張軍就編制了一個(gè)程序幫他們解決問題,只要輸入總電阻r的值,程序就計(jì)算出相應(yīng)的r1和r2的值。張軍因此受到了技術(shù)員的稱贊。你也能編出這個(gè)程序嗎?r1r2(1)分析問題分析問題 根據(jù)并聯(lián)電路電阻的計(jì)算公式,1r=ir1十1r2,以r2=r12000代入,即得:1/r=1/r1+1/(r1+2000)以r1為未知量、r為已知量,通過去分母整理可以得到關(guān)于r1的方程:r12+(20002*r)*r12000*r=0,解這個(gè)關(guān)于r1的二次方程即可解決問題。(2)設(shè)計(jì)算法設(shè)計(jì)算法 輸入總電阻r;計(jì)算方程r12+(20002r)

7、*r12000*r=0的判別式=(2000-2*r)2+8000*r;如果d0轉(zhuǎn),否則轉(zhuǎn);計(jì)算出方程r12+(20002*r)*r12000*r=0的根r1=(2*r-2000+sqr(d)2,(r1=(2*r-2000+sqr(d)2肯定是增根,不必計(jì)算);把r1和r1+2000在兩個(gè)文本框內(nèi)輸出,轉(zhuǎn);輸出方程沒有解的信息“不可能”;結(jié)束。(3)編寫程序編寫程序 標(biāo)簽1標(biāo)簽2標(biāo)簽3文本框1文本框3文本框2命令按鈕對(duì)象名 屬性名 屬性值 功能 標(biāo)簽 名稱 label1label2label3標(biāo)簽的名稱 caption總電阻r=r1=r2=設(shè)置標(biāo)簽顯示的內(nèi)容 文本框enabledtext1 te

8、xtboxtext2 textboxtext3 textbox文本框的名稱text全部設(shè)置成空全部設(shè)置成空設(shè)置text的值按鈕 名稱 command1命令按鈕的名稱 caption 計(jì)算設(shè)置命令按鈕顯示的內(nèi)容 private sub command1_click() r = val(text1.text) l = 2000 - 2 * r d = l * l + 4 * 2000 * r if d = 0 then r1 = (-l + sqr(d) / 2 text2.text = r1 text3.text = r1 + 2000 else text2.text = 不可能 text3.t

9、ext = 不可能 end ifend sub程序代碼:程序代碼: 學(xué)生實(shí)踐與討論學(xué)生實(shí)踐與討論(1)計(jì)算下面表達(dá)式的值 1359992461000第一方法:先求分子和分母的乘積,再用分子除以分母。private sub command3_click() s = 1 v = 1 for i = 1 to 999 step _ _ _ _ _ _ next i ss = s / v text1.text = ssend sub分子分s和分母v的結(jié)果均超出了取值范圍結(jié)果分析:s = s + iv = v * (i + 1)2第二方法:12468101000357999private sub command2_click() m = 1 n = 2 s = 1 do _ _ _ _ _ loop until n = 1000 do _ _ _ _ loop until m = 999 text1.text = send sub結(jié)果為零,因?yàn)樽鐾甑谝淮窝h(huán)后s的結(jié)果已經(jīng)很小無限趨近零了結(jié)果分析:s = s / nn = n +

溫馨提示

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

評(píng)論

0/150

提交評(píng)論