VB課程設(shè)計計算器_第1頁
VB課程設(shè)計計算器_第2頁
VB課程設(shè)計計算器_第3頁
VB課程設(shè)計計算器_第4頁
VB課程設(shè)計計算器_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、*大學(xué)課程設(shè)計科學(xué)計算器位院(系)學(xué)生姓名*指導(dǎo)教師蘭完成日期和月日visual basic是近年來在國內(nèi)外得到迅速推廣應(yīng)用的可視化程序設(shè)計語言具有簡單易學(xué), 功能強效率高等特點它提供了開發(fā)windows應(yīng)用程序最迅速,最簡捷的方法,不但專業(yè) 人員得心應(yīng)手的開發(fā)工具,而且易于被非專業(yè)人員掌握使用。本課程主要講述visual basic的基本概念,語法規(guī)則和利用visual basic進行程序設(shè)計方法。同時掌握窗休設(shè) 計,函數(shù)和控件的使用方法。vb程序設(shè)計是工科專業(yè)開設(shè)的一門基礎(chǔ)編程課程。通過這門課程的學(xué)習(xí),一方面是培養(yǎng) 一個人的邏輯編程能力,提高其使用計算機能力,為今后從事本專業(yè)領(lǐng)域的軟件開發(fā)

2、打 下基礎(chǔ);另一方面通過vb中體現(xiàn)出的面向?qū)ο笏枷?,以培養(yǎng)學(xué)生認識問題,分析問題解 決問題的思路和能力。目錄一選題的意義系統(tǒng)功能需求分析2 1系統(tǒng)概述22系統(tǒng)的構(gòu)成23系統(tǒng)的運行環(huán)境三.系統(tǒng)設(shè)計31總體結(jié)構(gòu)設(shè)計32各功能的實現(xiàn)四總結(jié)參考文獻一選題的意義隨著現(xiàn)代科學(xué)技術(shù)ei新月異,高速發(fā)展,因此計算器進入課堂是歷史的必然。計算器 的一個基本特點是計算迅速準確,使用計算器,可以把學(xué)生從煩瑣的數(shù)字計算中解脫出 來,這樣既減輕了屮年級學(xué)生的課業(yè)負擔,又能使學(xué)生有更多的時間進行思考、動手操 作和實踐活動,有利于開發(fā)學(xué)生的數(shù)學(xué)靈感,提高數(shù)學(xué)學(xué)習(xí)的興趣,促進學(xué)生智力和能 力的發(fā)展。由于大部分學(xué)生已經(jīng)接觸過計

3、算器,因此教材只通過一幅計算器的外型結(jié)構(gòu) 圖,逐漸讓學(xué)生了解計算器的鍵盤結(jié)構(gòu),同時通過一些簡單的練習(xí)題,使學(xué)生學(xué)會這些 按鍵的使用方法。然后進一步用計算器探索規(guī)律,培養(yǎng)學(xué)生探索意識。本課程是一門當前流行的程序設(shè)計語言課程。通過vb程序設(shè)計語言及其程序設(shè)計方法 的學(xué)習(xí),不僅使學(xué)生得到計算機的應(yīng)用能力和操作技能的訓(xùn)練,更主要的是使學(xué)生提高 高級語言程序設(shè)計的能力,以及掌握最新的面向?qū)ο蟮某绦蛟O(shè)計方法,并能運用所學(xué)的 知識開發(fā)圖形界面(windows)下的應(yīng)用軟件,為培養(yǎng)學(xué)生結(jié)合專業(yè)進行軟件開發(fā)打好基 礎(chǔ)。二. 系統(tǒng)功能需求分析2 1系統(tǒng)概述:本科學(xué)計算器是一種能實現(xiàn) 加,減,乘,除,倒數(shù),乘方,止

4、切、in、long> n!函數(shù),進制、 弧度轉(zhuǎn)換等運算功能,并帶有存儲器、統(tǒng)計框等,基本實現(xiàn)了 windows自帶計算器的所有 功能。要實現(xiàn)計算器的這些功能就用到我們所學(xué)的vb知識編寫程序來實現(xiàn)運算功能并 解決問題,也是我們實訓(xùn)要達到的目的2 2系統(tǒng)的構(gòu)成;command按鈕(控件數(shù)組),文木框,option, check,菜單欄,列表框。構(gòu)成科 學(xué)計算器界面。2 3系統(tǒng)的運行環(huán)境:microsoft visual basic中文版。三. 系統(tǒng)設(shè)計3 1總體結(jié)構(gòu)設(shè)計:通過課后的資源共享、網(wǎng)上交流,將信息技術(shù)應(yīng)用在促進師生之間的交流與合作上。現(xiàn)代教育理論十分強調(diào)合作學(xué)習(xí),而合作學(xué)習(xí)有多種方

5、法,有交流、有討論、有辯論、有角色扮演等等。 在信息技術(shù)與高屮數(shù)學(xué)整合的研究和探索屮,我們十分注重利用信息技術(shù)的優(yōu)勢,創(chuàng)設(shè)不受時空 限制的資源共享、快速靈活的信息獲取、豐富多樣的交互方式、打破地域界限的交流協(xié)作的環(huán)境 32各功能的實現(xiàn)1數(shù)值輸入、小數(shù)點、止負號點數(shù)字操作相關(guān)代碼:private sub cmdnum_click(lndex as integer)if isclickzhiast then call initvalueif isclickoklast then call initvaluetextl text = val(llf(isclicknumlast, textl tex

6、t, "") & index)isclicknumlast = trueisclickoklast = falseend sub,點+ ,,*,/操作符的操作相關(guān)代碼:private sub cmdoper_click(lndex as integer)if isclicknumlast thencall compuresulttextl text = s1end ifflag = indexisclickoklast = falseisclicknumlast = falseoperf = flagend sub'占小數(shù)占八、j八、'這里需要新定義

7、一個新的變量s3,因為如果用s1的話會出現(xiàn)重復(fù)相加當前值的問 題'所以這里用以個新的變量當橋梁來相加private sub cmdpoint_click()dim s3if isclickzhiast then call initvalueif isclickoklast then call initvalueif isclicknumlast thens3 = textl texttextl text = s3 & ” ”elsetextl text = "0 "end ifisclickoklast = falseisclicknumlast = tru

8、eend sub止負號操作相關(guān)代碼:private sub changeoper_click(lndex as integer)if isclickzhiast then call initvalue,判斷是不是通過進制轉(zhuǎn)換過來的數(shù) '下面是判斷數(shù)字前面是否有負號if not isneq thentextl text =& textl textisneq = trueelsetextl text = cstr(val(text1 text) * val(-1)isneq = falseend ifisclickoklast = trueend sub2計算功能(1) 加(+)、

9、減()、乘c)、除(/)、等簡單算術(shù)計算功能的實現(xiàn):v1計算結(jié)果操作相關(guān)代碼:private sub compuresult()dim i as integer, jj = 1if not isclickoklast then s2 = textl textselect case flagcase 1s1 = cstr(val(s1) + val(s2)case 2s1 = cstr(val(s1) val(s2)case 3s1 = cstr(val(s1) * val(s2)case 4s1 = cstr(val(s1) / val(s2)case 5=cstr(val(s1)mod va

10、l(s2)case 6for i = 1 to s2j = ) * s1nexts1 = jcase 7s1 = cstr(val(s1) and val(s2)case 8s1 = cstr(val(s1) or val(s2)case 9s1 = cstr(val(s1) xor val(s2)case 10s1 = s1 * (2 a s2)end selectend sub2鼻”號輸出結(jié)果:'點擊等于('=')號操作private sub sumok_click()call compuresulttextl text = s1isclickoklast = tr

11、ueisclicknumlast = falseend sub(2) 進制轉(zhuǎn)換及計算的實現(xiàn)(以十進制為例):v1數(shù)制轉(zhuǎn)換函數(shù):將十進制轉(zhuǎn)換成八進制private sub toeight_click()dim s3call changeframecall ycbuttoncmdnum(8) enabled = falses2 = textl textif istenlast thentextl text = oct(s2)end ifif issixteenlast thens3 = clnt(,&hn & s2)textl text = oct(s3)end ifisclick

12、zhiast = true iseightlast = true istenlast = false issixteenlast = false end sub將任意進制轉(zhuǎn)換成丁進制private sub toten_click()s2 = textl textcall changeframecall ycbuttonif iseightlast thentextl text = clnt(,&ou & s2)end ifif issixteenlast thentextl text = clnt(n&hn & s2)end ifisclickzhiast =

13、trueiseightlast = falseiste nlast = trueissixteenlast = falseend sub<2>點擊進制按鈕時觸發(fā)的事件:'當點擊進制的時候某些按鈕比屏蔽掉相關(guān)代碼:private sub ycbutton()dim i as booleanif tosixteen value = truethencmdnum(o) enabled =truecmdnum(1) enabled =truecmdnum(2) enabled =truecmdnum(3) enabled =truecmdnum(4) enabled =truecm

14、dnum(5) enabled =truecmdnum(6) enabled=truecmdnum(7) enabled =truecmdnum(8) enabled =truecmdnum(9) enabled =truecmdnum(10) enabled = true cmdnum(11) enabled = true cmdnum(12) enabled = true cmdnum(13) enabled = true cmdnum(14) enabled = true cmdnum(10) enabled = true cmdnum(15) enabled = truebuttond

15、at enabled = falsebuttons enabled = falsebuttonsun enabled = falsebuttonave enabled = falsebuttonfe enabled = falsebutt on dms enabled = false funopersin enabled = false funopercos enabled = false funopertan enabled = false funoperexp enabled = falsebuttonpi enabled = falseelself toeight value = tru

16、e then cmdnum(o) enabled = true cmdnum(1) enabled = true cmdnum(2) enabled = true cmdnum(3) enabled = true cmdnum(4) enabled = true cmdnum(5) enabled = true cmdnum(6) enabled = true cmdnum(7) enabled = true cmdnum(8) enabled = false cmdnum(9) enabled = false cmdnum(10) enabled = false cmdnum(11) ena

17、bled = falsecmdnum(12) enabled = falsecmdnum(13) enabled = falsecmdnum(14) enabled = false cmdnum(10) enabled = false cmdnum(15) enabled = falsebuttondat enabled = falsebuttons enabled = falsebuttonsun enabled = falsebuttonave enabled = falsebuttonfe enabled = falsebuttondms enabled = falsefunopersi

18、n enabled =falsefunopercos enabled =:falsefunopertan enabled =falsefunoperexp enabled=falsebuttonpi enabled = falseelself toten value = truethe ncmdnum(o) enabled = truecmdnum(1) enabled =truecmdnum(2) enabled =truecmdnum(3) enabled =truecmdnum(4) enabled =truecmdnum(5) enabled =truecmdnum(6) enable

19、d =truecmdnum(7) enabled =truecmdnum(8) enabled =truecmdnum(9) enabled =truecmdnum(10) enabled=falsecmdnum(11) enabled=falsecmdnum(12) enabled=falsecmdnum(13) enabled=falsecmdnum(14) enabled=falsecmdnum(10) enabled=falsecmdnum(15) enabled=falsebutt on dat en abled = falsebuttons enabled = falsebutto

20、nsun enabled = falsebuttonave enabled = falsebuttonfe enabled = truebutt on dms enabled = true funopersin enabled = true funopercos enabled = true funopertan enabled = true funoperexp enabled = truebuttonpi enabled = true elself totwo value = true then cmdnum(o) enabled = true cmdnum(1) enabled = tr

21、ue cmdnum(2) enabled = false cmdnum(3) enabled = false cmdnum(4) enabled = false cmdnum(5) enabled = false cmdnum(6) enabled = false cmdnum(7) enabled = false cmdnum(8) enabled = false cmdnum(9) enabled = false cmdnum(10) enabled = false cmdnum(11) enabled = false cmdnum(12) enabled = false cmdnum(1

22、3) enabled = false cmdnum(14) enabled = false cmdnum(10) enabled = falsecmdnum(15) enabled = falsebuttondat enabled = falsebuttons enabled = falsebuttonsun enabled = falsebuttonave enabled = falsebuttonfe enabled = falsebuttondms enabled = false funopersin enabled = false funopercos enabled = false

23、funopertan enabled = false funoperexp enabled = falsebuttonpi enabled = falseend ifend sub<3>進制運算(以加法為例):計算時,須將r進制數(shù)值轉(zhuǎn)換成十進制數(shù)值進行計算,再將結(jié)果轉(zhuǎn)換成r 進制數(shù)輸出。select case zcase 0mm = trdec(val(todec(x, 2) + todec(y, 2), 2)case 1mm = trdec(val(todec(x, 8) + todec(y, 8), 8)case 2mm = str(x + y)case 3mm = trdec

24、(val(todec(hnum1, 16) + todec(hnum2, 16), 16)end select(3)求反函數(shù)及角度、弧度互化的相應(yīng)計算(以正弦函數(shù)為例):v1上檔鍵及up變量,用于求反函數(shù)private sub check1_click()if (checkl value = 1) then command1(0) caption = hasinh up = trueelsecommand1(0) caption = ”sirt up = falseend ifend subv2角度、弧度互化按鈕,相應(yīng)定義jtoh變量:角度按鈕private sub option2_click

25、()if (jtoh = true) thentextl = str(val(text1) * (4 * atn(1) / 180)end ifjtoh = falseend sub弧度按鈕private sub option3_click()if (jtoh = false) thentextl = str(val(text1) * 180 / (4 * atn(1)end ifjtoh = trueend subv3角度制、弧度制下的止弦、反止弦運算的實現(xiàn):private sub command 1_click(lndex as integer)x = val(textl)select c

26、ase indexcase 0if (up = false) thenif (jtoh = true) thentextl = str(sin(x)elsetextl = str(sin(x * (4 * atn(1) / 180)end ifelsetextl = str(atn(x / sqr(-x * x + 1) * (180 / (4 * atn(1)end if2括號和統(tǒng)計框:(1)括號功能:左括號,將第一個數(shù)值x和算符傳遞給新的變量g和kprivate sub command8_click()g = xh = kend sub右括號,完成運算并將結(jié)果保存在bb變量中private

27、 sub command9_click()call resulttextl = mmi = val(textl)pp = trueselect case hcase 0bb = g + icase 1bb = g icase 2bb = g * icase 3bb = g / iend selectend sub(3)標準型標準型界你相關(guān)代碼:option explicitdim counta as double, countb as double,'調(diào)用結(jié)果函數(shù),算出括號中的結(jié)果并將其賦給變量i'變體型變量pp,用于點擊等號時輸出結(jié)果bb'再將括號屮接過與開始時輸入的

28、數(shù)字進行計算'變量b b保存括號計算的最終結(jié)果sum as string, bl as booleanprivate sub command 1_click(index as integer)if bl = true thentextl text = ,m, bl = falseend iftextl text = textl text + commandl(index) captionend subprivate sub command2_click(lndex as integer)if textl text = ” thenmsgbox ”請輸入數(shù)值后再點擊此符號!謝謝! ”,”提示”exit subelsecounta = val(text1 text)sum = command2(lndex) captiontextl text = ”end ifend subprivate sub command3_click()bl = trueif textl text = " thenmsgbox h請

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論