




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
湖南理工學院南湖學院課程設計課程名稱: VisualBasic設計名稱: 高級電子計算器起止時間: 2013/11/25-2013/12/16系別: 機械與電子工程系專業: 計算機科學與技術專業提交日期: 2013/12/16
課題來源指導教師擬定。設計內容設計一個具有函數、統計功能的高級計算器。設計思路1、設計流程圖:除法除法乘法加法減法清零數的立方平方根數的平方數的階乘三角函數反三角函數基本運算特殊運算數據的處理計算器2、具體思路通過課堂簡易計算器的設計和課后的資源共享,實現了基本的計算器功能。再此基礎上結合設計流程圖進行下一步設計。數的平方、數的立方設計:VisualBasic已存在數的平方、立方的計算,直接調用函數實現功能算法。平方根:通過Sqr直接調用VisualBasic的語句,實現平方根的運算。三角函數、反三角函數:輸入值text1為計算的角度,然而在VisualBasic中,三角函數運算只能通過弧度求值。所以,用Text1*pi/180語句將text1轉化為弧度。在調用VisualBasic的函數進行運算;反三角函數功能實現,直接用1/三角函數值進行運算。數的階乘:運用for...next循環語句,實現運算。代碼如下:Dimp,ip=1Fori=1ToText1p=p*iNextText1.Text=p最后使用大量數學算式加以測試,測試無誤后方可投入使用。關鍵技術1、三角函數的功能算法:例如:Sin函數取一角度為參數值,并返回角的對邊長度除以斜邊長度的比值。結果的取值范圍在-1到1之間。
為了將角度轉換為弧度,請將角度乘以pi/180。為了將弧度轉換為角度,請將弧度乘以180/pi。(注釋:在VisualBasic中,三角函數運算只能通過弧度求值。所以設計計算器三角函數鍵時應特別注意,將輸入的Text1的值要轉化為弧度,在帶入函數公式中求值。)數的階乘的功能算法:運用for...next的循環語句,實現數的階乘。設計成果成果的形式:(計算器界面)測試:(計算器輸入5,界面顯示)(進行5的平方運算,結果顯示)計算器經過多組數學算式加以測試,無錯誤提醒且結果無誤。用法:實現了基礎的四則運算以及復雜的函數、統計運算。六、源代碼OptionExplicit'要求聲明變量DimstateAsLong'狀態標志DimnumberAsSingle'數DimoperatorAsString'運算符PrivateSubCommand1_Click()'數字鍵1SelectCasestateCase0:'初始狀態Text1.Text=1'顯示屏顯示1state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&1'顯示屏顯示內容后接字符1EndSelectEndSubPrivateSubCommand13_Click()'清零鍵Text1.Text=0state=0EndSubPrivateSubCommand19_Click()'sin鍵Constpi=3.1415926'限定變量paiDimMyAngle'定義變量名MyAngle=Text1*pi/180'將所求角度轉為弧度Text1.Text=Sin(MyAngle)'顯示結果EndSubPrivateSubCommand20_Click()'cos鍵Constpi=3.1415926'限定變量paiDimMyAngleMyAngle=Text1*pi/180Text1.Text=Cos(MyAngle)EndSubPrivateSubCommand21_Click()'tan鍵Constpi=3.1415926DimMyAngleMyAngle=Text1*pi/180Text1.Text=Tan(MyAngle)EndSubPrivateSubCommand22_Click()Constpi=3.1415926DimMyAngleMyAngle=Text1*pi/180Text1.Text=1/Sin(MyAngle)EndSubPrivateSubCommand23_Click()Constpi=3.1415926DimMyAngleMyAngle=Text1*pi/180Text1.Text=1/Cos(MyAngle)EndSubPrivateSubCommand24_Click()Constpi=3.1415926DimMyAngleMyAngle=Text1*pi/180Text1.Text=1/Tan(MyAngle)EndSubPrivateSubCommand25_Click()'平方根鍵DimMySqr'定義MySqr=Sqr(Text1)'調用函數Text1.Text=MySqrEndSubPrivateSubCommand26_Click()operating'運算operator="^3"EndSubPrivateSubCommand27_Click()'1/x鍵DimRes'定義Res=1/Text1'調用函數Text1.Text=Res'輸出結果EndSubPrivateSubCommand28_Click()'階乘鍵Dimp,i'定義p=1Fori=1ToText1p=p*iNext'實現for..next循環Text1.Text=p'輸出結果EndSubPrivateSubCommand4_Click()'數字鍵2SelectCasestateCase0:'初始狀態Text1.Text=2'顯示屏顯示2state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&2'顯示屏顯示內容后接字符2EndSelectEndSubPrivateSubCommand5_Click()'數字鍵3SelectCasestateCase0:'初始狀態Text1.Text=3'顯示屏顯示3state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&3'顯示屏顯示內容后接字符3EndSelectEndSubPrivateSubCommand6_Click()'數字鍵4SelectCasestateCase0:'初始狀態Text1.Text=4'顯示屏顯示4state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&4'顯示屏顯示內容后接字符4EndSelectEndSubPrivateSubCommand7_Click()'數字鍵5SelectCasestateCase0:'初始狀態Text1.Text=5'顯示屏顯示5state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&5'顯示屏顯示內容后接字符5EndSelectEndSubPrivateSubCommand8_Click()'數字鍵6SelectCasestateCase0:'初始狀態Text1.Text=6'顯示屏顯示6state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&6'顯示屏顯示內容后接字符6EndSelectEndSubPrivateSubCommand9_Click()'數字鍵7SelectCasestateCase0:'初始狀態Text1.Text=7'顯示屏顯示7state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&7'顯示屏顯示內容后接字符7EndSelectEndSubPrivateSubCommand10_Click()'數字鍵8SelectCasestateCase0:'初始狀態Text1.Text=8'顯示屏顯示8state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&8'顯示屏顯示內容后接字符8EndSelectEndSubPrivateSubCommand11_Click()'數字鍵9SelectCasestateCase0:'初始狀態Text1.Text=9'顯示屏顯示9state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&9'顯示屏顯示內容后接字符9EndSelectEndSubPrivateSubCommand12_Click()'數字鍵0SelectCasestateCase0:'初始狀態Text1.Text=0'顯示屏顯示0state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&0'顯示屏顯示內容后接字符0EndSelectEndSubPrivateSubCommand17_Click()'小數點鍵SelectCasestateCase0:'初始狀態Text1.Text="."'顯示屏顯示0state=1'繼續輸入數字狀態Case1:'繼續輸入數字狀態Text1.Text=Text1.Text&"."'顯示屏顯示內容后接字符0EndSelectEndSubPrivateSubCommand2_Click()'功能鍵+operating'運算operator="+"EndSubPrivateSubCommand3_Click()'功能鍵=operating'運算operator="="EndSubPrivateSubCommand14_Click()'功能鍵-operating'運算operator="-"EndSubPrivateSubCommand15_Click()'功能鍵*operating'運算operator="*"EndSubPrivateSubCommand16_Click()'功能鍵/operating'運算operator="/"EndSubPrivateSubCommand18_Click()operating'運算operator="^2"EndSubPrivateSubForm_Load()'窗體裝載事件BorderStyle=4'窗體邊框固定,必須放在其他修改窗體屬性的語句之前Caption="簡單的計算器"'窗體標題WithText1.Alignment=1'文本框的文本左對齊.Enabled=False'不允許用戶修改文本框的文本.Text="0"'初始顯示值EndWithCommand1.Caption=1'按鈕的標題顯示數字鍵1Command2.Caption="+"'按鈕的標題顯示功能鍵+Command3.Caption="="'按鈕的標題顯示功能鍵=EndSubPrivateSuboperating()'運算SelectCaseoperator'運算符Case"+":number=number+Text1.Text'運算Text1.Text=number'顯示屏顯示運算結果Case"-":number=number-Text1.Text'運算Text1.Text=number'顯示屏顯示運算結果Case"*":number=number*Text1.Text'運
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 攤位餐飲合同分股協議書
- 2025年防阻燃工作服項目投資可行性研究分析報告
- 合同甲乙方調整協議書
- 吉林云計算項目商業計劃書
- 健康探秘課件教學
- 個體臨時用工合同協議書
- 社交媒體與網絡營銷的大學生甜品店商業策劃書
- 貨物搬運合同協議書范本
- 酒店會所合作合同協議書
- 2025年中國脒基脲項目商業計劃書
- 2025安徽淮北源淮實業有限公司招聘5人筆試備考試題及答案解析
- 2025年國際安全與反恐研究職業資格考試試題及答案
- 2025年下半年黔東南州能源投資限公司招聘易考易錯模擬試題(共500題)試卷后附參考答案
- GB/T 45551-2025蜜蜂生產性能測定技術規范
- 荔枝采摘合同協議書
- 太湖蘇州轄區生態清淤一期工程環境影響報告書
- 精神分裂癥患者個案護理查房
- 2025屆江蘇省蘇州市高考沖刺押題(最后一卷)英語試卷含解析
- 中國共產主義青年團紀律處分條例試行解讀學習
- 三方水泥合同協議
- 江蘇省南通市如皋市八校2025屆初三下學期教育質量調研(二模)化學試題含解析
評論
0/150
提交評論