畢業(yè)設計(論文)-基于qt的科學計算器的設計與實現.doc_第1頁
畢業(yè)設計(論文)-基于qt的科學計算器的設計與實現.doc_第2頁
畢業(yè)設計(論文)-基于qt的科學計算器的設計與實現.doc_第3頁
畢業(yè)設計(論文)-基于qt的科學計算器的設計與實現.doc_第4頁
畢業(yè)設計(論文)-基于qt的科學計算器的設計與實現.doc_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于qt的科學計算器的設計與實現摘 要隨著科技的飛速發(fā)展,人類已經進入信息化的大時代。信息技術發(fā)展更是日新月異,計算器已經進入而且融入人們生活的各個領域,在現代生活中無處不在,大型復雜的計算是人腦和手工所不能勝任的,而且容易出錯且準確度不高??茖W計算器作為一種快速便捷的計算工具方便了人類的使用??茖W計算器包含簡單的四則加減乘除運算、復雜的數學運算、二八十十六進制之間的相互轉換等功能,具有美觀的界面,操作方便簡單,能夠被用戶所接受,科學計算器在我們的日常生活、學習、工作中使用相當廣泛,而且種類繁多,所以科學計算器的程序設計因此應運產生。本文從課題背景、計算器的概況、計算器的相關技術、項目內容和要求、概要設計、設計流程、系統(tǒng)實現、系統(tǒng)調試等方面詳細說明了小型科學計算器的開發(fā)設計過程。軟件采用Qt Creator設計界面結合C+面向對象編程語言來開發(fā)??茖W計算器包含簡單的四則運算、復雜的數學表達式運算、與或運算、進制之間的相互轉換、簡易畫圖板等功能。該科學計算器具有界面可視化,用戶操作簡單實用方便等優(yōu)點,為用戶進行復雜科學的計算提供了高效率的計算保證。關鍵詞:科學計算器;進制轉換; Qt Creator;C+;運算全套設計加扣 3012250582Design and implementation of scientific calculator based on QTAbstract With the rapid development of science and technology,mankind hasentered the informationera.The development of informationtechnology ischange rapidly, the computers have enteredandintegrated into various fieldsamong peoples lives,even are ubiquitous in modern life .The humans brainand handhave already could not completed the calculation of large scale complex,but also prone to errorand accuracy is not high.Scientific calculatoras a kind ofquick and convenientcalculation toolis convenient for humansusing.Scientific calculatorcontainsbetweenfour simpleadd, subtract, multiply and divideoperations,a complex mathematical operation, two、eight、ten and sixteens hexadecimalconversionfunctions,with abeautiful interface,simple and convenient operation, andcanbe accepted by users. Scientific calculatoris quitewidelyin our daily life,study,work,and variety of classifications,so the programsdesignabout scientific calculatorisproduced.From thisbackground,calculator,calculatorofrelated technology,project contentand requirements,the outline design,process design,system implementation,system debuggingare described in detailthe development and design process of thesmall.scientificcalculator.The program use QtCreator tool to design the interfacewith theC+ object orientedprogramming language. Scientific calculatorcontainsfour simple operation,complex mathematical expression operation,andoperation,orbetween hexadecimalconversion,a simpledrawing boardand other functions.Thescientific calculatorhas theadvantages ofvisual interface,user operationis simple and practicaland convenient,and ensures theefficientcalculation for the user tocalculatethe complicated science.Keyword: Scientific calculator; hexadecimal; QtCreator; C+; convenient目 錄摘 要iAbstractii1 緒論11.1 課題背景11.2 綜述科學計算器的概況11.2.1 科學計算器在生活中的應用11.2.2 科學計算器的發(fā)展前景31.3 綜述科學計算器的相關技術32 系統(tǒng)開發(fā)技術和工具52.1 系統(tǒng)介紹52.2 系統(tǒng)開發(fā)語言介紹52.3 系統(tǒng)開發(fā)工具介紹62.4 能力要求82.5 項目特點及意義83 需求分析93.1 功能需求與分析93.2 安全性分析93.3 可行性分析93.4 技術經濟分析103.5 用例圖103.5.1 UML介紹103.5.2 科學計算器用例圖113.5.3 畫圖板用例圖124 總體設計144.1 總體設計目標144.2 功能模塊設計144.2.1 科學計算功能模塊144.2.2 畫圖板功能模塊175 詳細設計185.1 設計目的185.2 設計說明185.2.1 UI界面風格185.2.2 科學計算器模塊195.2.3 畫圖板模塊206 系統(tǒng)實現216.1 系統(tǒng)功能介紹216.2 科學計算器216.2.1 科學計算器進制選擇功能226.2.2 科學計算器進制轉換功能246.2.3 科學計算器清空回退功能276.2.4 科學計算器計算功能276.2.5 科學計算器其它功能356.3 畫圖板366.3.1 畫圖板界面設計366.3.2 畫圖板功能實現377 系統(tǒng)測試397.1 軟件測試概述397.1.1 測試目標397.1.2 測試方法397.2 對本系統(tǒng)的測試407.2.1 配置問題407.2.2 信號和槽的問題41結束語42致 謝43參考文獻44英語原文45中文翻譯49441 緒論1.1 課題背景計算器(calculator)一般是指“電子計算器”。計算器能進行數學運算的手持機器,擁有集成電路芯片,但結構簡單,比現代電腦結構簡單得多,可以說是第一代的電子計算機(電腦),且功能也較弱,但較為方便與廉價,可廣泛運用于商業(yè)交易中,是必備的辦公用品之一。本計算器可以進行簡單的四則運算(加、減、乘、除)但僅限于十進制下,還可以進行簡單的科學計算開方、平方的計算,最多可以輸入256字符,操作簡便,主要采用的技術為Qt Creator,不僅能鍛煉自己的編程能力,還可以根據自己的需要來編寫適合自己的計算器。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。在科技論文寫作過程中,可能參考或引用大量的文獻和資料(許多是以電子文檔的形式存在),如果以文件的形式存儲,管理起來十分復雜,給日常工作帶來極大的不便,甚至造成電子文檔的破壞和丟失,安全性更是難以保證。對幫助功能也有保存添加等功能。具有無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高科技論文管理效率,也是企業(yè)、學校的科學化、正規(guī)化管理,與世界接軌的重要條件。1.2 綜述科學計算器的概況1.2.1 科學計算器在生活中的應用現代信息技術逐漸發(fā)展并被普及和應用,讓大家的思維方式、工作方和學習方式有了很大的變化。課程標準指出數學課程需大力加強現代信息技術的運用,發(fā)揮現代信息技術對數學教學改革的積極作用,使現代信息技術能夠成為學生學習的有效工具,成為獲取信息資源和習資源的廣闊平臺。計算器是一種小型的手持或桌面的設備,用于完成數學計算。一般的數學計算器與計算機是不一樣,數學計算器通常僅能完成算術運算和少量邏輯操作并顯示其結果,但一般不能修改其程序。除了某些尺寸可比掌上型計算器的PDA之外,計算器的可攜性通常高于計算機。19世紀巴貝奇將計算工具的概念更往前推,試圖創(chuàng)建第一個可編程式計算器,但他建造的機器太重了,因而無法操作(如圖1-1所示)。圖1-1 1914年的機械計算器20世紀70年代開始,微處理器技術被吸納進計算器制程,最初的微處理器是Intel于1971年為日本名為Busicom()的計算器公司生產的,1972年惠普推出第一款掌上科學計算器HP-35(如圖1-2所示)。圖1-2 卡西歐fx-140計算器夏普在此領域是計算器制造商中的佼佼者,他們最先在計算器中采用了液晶顯示屏,還是最早把太陽能電池安裝到計算器的企業(yè)之一。從20世紀60年代到70年代的十多年里,夏普公司把生產計算器所需的原件降到了3個(以前需要3000多個)硅片、顯示屏和太陽能電池,這大大降低了計算器的生產成本。計算器的出現是人類科技發(fā)展時代的一個重要的里程碑。人們使用計算器是時代發(fā)展的趨勢,計算器的出現和使用可以很方便的計算復雜的四則運算等,極大的提高了計算的速度,快捷,方便,適當的使用計算器可以促進并提高學習和工作的效率,彌補了人們在腦力運算和手工運算速度慢不準確的缺陷?,F在的生活工作和學習中,計算器的使用無處不在。計算器的教育用途方面,有些學生常在寫數學作業(yè)時使用計算器。但因擔心學生的基本算術能力因而受到戕害,因此許多教育人士抗拒讓學生過早使用它。而某些課程限制使用計算器運算算術,直到學到更高級的計算技巧;其他人則不同意以紙筆或心算算術的重要性,他們更注重教授評估與解決問題的技巧。然而,還是有一些其他顧慮:例如學生可能以錯誤的方式使用計算器,并因對計算器的信賴而盲目相信答案。教師為了破解學生的盲信,常會指導學生以人工驗算并確認其答案的正確性。當然,學生也有可能只運用計算器取得答案,而不了解運算的真實意義,例如輸入(-10)(-10),獲得100,卻不了解背后“負負得正”的規(guī)則。在此情況下,計算器成為學生的依賴而非輔助工具,使學生在考試時對任何簡單的運算都以計算器求解,并降低應答的速度。1.2.2 科學計算器的發(fā)展前景科學計算器的出現是科學技術發(fā)展的重要里程碑,它最早還不是以科學計算器的身份出現在公眾的視野中,最早是被法國科學家引用算盤的原理,進而發(fā)明了第一臺機械式計算器,但是只能做加減運算,操作繁瑣,后來隨著時代的發(fā)展,科技也在不斷地進步,德國科學家將機械式計算器改進實現了乘除的運算,此后,一直到了20世紀50年代末才出現了電子計算器。電子計算器的出現極大的豐富和改進了機械式計算器,出現了很多功能,并且操作簡單,使用方便。如今,科學計算器的使用在人們的生活工作學習中無處不在,隨著人們對計算器的需要,它也有了更近一步的發(fā)展,計算功能增多,就我所知,美國的高校使用的科學計算器可以計算微積分等運算,更是在腦力上使人們得到了解放。技術在發(fā)展,人們的需求也在不在的變化和增多,科學計算器的也會隨著有更大的發(fā)展和變化,發(fā)展的道路一直在延續(xù)。1.3 綜述科學計算器的相關技術計算機的程序可計算極為復雜的數學程序,這是一般計算器所無法相比的,不過現在也有一些功能較強大的計算器具有編程功能。計算器的復雜度隨著使用目的而有所不同。最簡單的計算器模塊應該包含下列部件: 電源,例如電池或太陽能板 顯示幕,通常以LED光源或LCD制成,可顯示一定數量的數字(通常為八、十、十二、十六位,以十二位最常見) 電子回路 十個數字鍵,從0到9 小數點 等于符號,用于顯示運算解 四個運算函數(加減乘除) 取消鍵,用于清空目前顯示的數字電源開關 其他基本函數,例如求平方根或百分比鍵 (%) 更高級的模塊也許會有一個單數值記憶按鍵(M+,M-),可在需要時叫回20世紀80年代早期,基本計算器開始置入其他小型設備,例如手機、調用器或腕表??茖W計算器或工程型計算器支持三角函數、微積分、統(tǒng)計與其他函數。而最先進的現代計算器甚至可顯示圖型,并且包含計算機代數系統(tǒng)。這種計算器可以編寫程序,且內含了代數方程式求解程序、經濟模型甚至游戲程序。這類計算器可顯示填滿顯示屏的單一數值。并可將數字以科學記數法表現至9.999999999*1099。如果用戶試圖輸入一過大的數值或運算產生過大數值的算式(例如輸入100!,即100階乘),則計算器僅顯示“錯誤”(error)一詞。因為存儲器如此有限的計算器無法存儲如此巨大的輸入(=10160)?!板e誤”也用以表示數學上未定義的函數或操作,例如除以零或對負數取平方根(除了某些高級的科學計算器擁有可處理復數的特殊函數,大部分科學計算器不允許復數的存在)。某些少數計算器可分別這兩種錯誤的不同,雖然用戶依然難以了解error 1與error2的差別何在。僅有少數公司研發(fā)與制造現代職業(yè)工程師與經濟學家用的計算器:最有名的是Casio、夏普、HP與德州儀器。這些計算器都是嵌入式系統(tǒng)的范型。此款簡單的科學計算器能實現加、減、乘、除、平方、冪次方、倒數、取整、取模以及位運算,再次基礎上又增加了二進制、八進制、十進制和十六進制之間的轉換與運算,并且設計有簡易的畫圖板,畫圖板內有文件的打開與保存,橢圓、矩形、畫筆、畫刷、橡皮擦和清屏畫圖工具,還有與其對應的屬性設置等。這些功能的實現,用C+面向對象編程語言并在QT Creator開發(fā)平臺上設計編寫而成。該計算器大大的降低了數字計算的難度且提高了計算的準確度和精確度。界面清晰,讓人一目了然。該計算器使用簡單和操作方便,對人們在生活和學習有巨大的幫助作用,也方便了飛專業(yè)人士在日常生活中的計算操作,也對在職人員的工作有點幫助作用。在計算器模塊的設計中,從操作角度出發(fā),充分考慮使用者,是該計算器成為使用者的掌上助手,解決生活學習中常見的計算問題。2 系統(tǒng)開發(fā)技術和工具2.1 系統(tǒng)介紹設計一個功能齊備的小型科學計算器,具有算式編輯計算和普通計算窗口。具體要求如下:科學計算窗口:能實現加、減、乘、除、平方、冪次方、倒數、取整、取模運算,在次基礎上又增加了二進制、八進制、十進制和十六進制之間的轉換與運算,并可實現各類不同函數及位運算。設計實現顯示窗口、運算的回退、清零等功能。支持二、八、十六、十等不同進制數據的直接輸入、計算和數制間的相互轉換,當點擊等號鍵時直接給出當前算式的運算結果。畫圖板窗口:支持文件的打開和保存,有簡單的矩形、橢圓、畫筆、橡皮擦、清除和筆刷工具,可選取并設置畫圖工具的顏色、寬度和風格等基本屬性。極大的表現了畫圖板的基本功能。2.2 系統(tǒng)開發(fā)語言介紹開發(fā)語言:C+C+語言是一種使用非常廣泛的計算機編程語言。C+是一種基于靜態(tài)數據類型檢查的、支持多重編程范式的程序設計語言。C+語言支持過程化程序設計、數據抽象、面向對象程序設計、泛型程序設計等多種程序設計風格。C+語言的設計目標,就是要讓C+既具有適合于系統(tǒng)程序設計的C語言所具有的可適應性和高效性,又能在其程序組織結構方面具有像Simula那樣的語言設施(Simula所支持的這種程序組織結構通常被稱為面向對象程序設計風格)。在設計的時候,還做了很大的努力,使得引借自Simula的高層次的程序設計技術能夠應用于系統(tǒng)程序設計之中。這即是說,C+所提供的抽象機制能夠被應用于那些對效率和可適應性具有極高要求的程序設計任務之中。采用C+面向對象語言,利用抽象和封裝等機制,借助類、對象、繼承、傳遞等技術進行構造的軟件開發(fā)方法,它的出發(fā)點和目標就是使人們在想一個問題的過程和方法時與分析、設計和實現系統(tǒng)的過程和方法盡最大可能的一致,即描述問題的認知空間以及解決問題的方法空間要在結構上盡可能的一致,這樣面向對象方法自然地模擬了人類認知世界的方式,所以這是一個很好的思維認知的方法,也是特別好的一種軟件開發(fā)方法。1998的C+標準分為兩個部分:核心語言和C+標準程序庫;后者包含了大部分標準模板庫和C標準程序庫的稍加修改版本。存在許多不屬于標準部分的C+程序庫,且使用外部鏈接,程序庫甚至可以用C撰寫。C+標準程序庫充分吸收了C標準程序庫,并佐以少許的修改,使其與C+良好的運作。另一個大型的程序庫部分,是以標準模板庫(STL)為基礎,STL于1994年2月正式成為ANSI/ISO C+。它提供了實用的工具,如容器(如:矢量和鏈表),迭代器(廣義指針)提供容器以類似數組的訪問方式,以及算法進行搜索和排序的運算。此外還提供了(multi)map(關系數組)和(multi)set,它們都使用兼容的界面。因此,以下成為可能,使用模板撰寫泛型算法,它可以和任何容器或在任何以迭代器定義的串行上運作。如同C,使用#include指令包含標準表頭,即可訪問程序庫里的功能。C+提供69個標準表頭,其中19個不再贊成使用。使用標準庫(例如:使用std:vector或std:string來取代C風格的數組)有助于導向更安全和更靈活的軟件。STL在納入C+標準以前,是來自HP和后來的SGI的第三方程式庫,標準中并未稱之為“STL”,它只是標準庫中的一部分,但仍有許多人使用這個名稱,以別于其它的標準庫(輸入輸出流、國際化、診斷、C程序庫子集,等等)。和C語言相比,C+引入了更多的特性,包括:陳述性聲明,類似函數的強制轉型,new/delete操作符,布林類型,參考類型,默認參數,函數重載,命名空間,類型(包括所有和類型相關的特性,如繼承、成員函數、虛函數、抽象類型和構造函數),操作符重載,模板,:操作符,異常處理和運行時期識別。和普遍認為的相反,C+不是第一個正式引入const關鍵字的語言。80年代早期,Bjarne Stroustrup和Dennis Retchie討論之后提供了在C語言中readonly/writeonly的實現機制,并在帶類型的C中取得了一定經驗。關鍵字const正式引入C語言是在ANSI C89。這早于第一個C+國際標準近十年,但此時const已被C+實現普遍采用。C+在某些案例中(見下“與C不兼容之處”),進行比C還要多的類型檢查。以“/”起始作為注解起源自C的前身BCPL,而后被重新引入到C+。C+的一些特性,C不久之后也采用了,包括在for循環(huán)的括號中聲明,C+風格的注解(使用/符號,和inline,雖然C99定義的inline關鍵字與C+的定義不兼容。不過,C99也引入了不存在于C+的特性,如:可變參數宏,和以數組作為參數的較佳處理;某些C+編譯器可能實現若干特性,以作為擴展,但其余部分并不符合現存的C+特性)一個常見的混淆其實只是一個微妙的術語問題:由于它的演化來自C,在C+中的術語對象和C語言一樣是意味著存儲器區(qū)域,而不是類的實例,在其它絕大多數的面向對象語言也是如此。舉例來說,在C和C+中,語句int i;定義一個int類型的對象,這就是變量的值i將在賦值時,所存入的存儲器區(qū)域。C+主要有三個編譯階段:預處理、轉譯成目標代碼和鏈接(最后的兩個階段一般才視為真正的“編譯”)。在第一階段,預處理,會將預處理器指令替換成源代碼,然后送到下一個編譯階段。預處理指令的運作方式是根據用戶定義的規(guī)則,簡單的把記號字符串行置換成其它的記號字符串行。它們進行宏置換、含入其它的文件(由底層至高級的特性,例如包含模塊包單元組件)、條件式編譯和條件式含入。2.3 系統(tǒng)開發(fā)工具介紹系統(tǒng)開發(fā)集成環(huán)境:QT CreatorQt Creator是跨平臺的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收購后推出的一款新的輕量級集成開發(fā)環(huán)境(IDE)。此 IDE 能夠跨平臺運行,支持的系統(tǒng)包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根據官方描述,Qt Creator 的設計目標是使開發(fā)人員能夠利用 Qt 這個應用程序框架更加快速及輕易的完成開發(fā)任務。QtCreator主要是為了幫助新Qt用戶更快速入門并運行項目,還可提高有經驗的Qt開發(fā)人員的工作效率。使用強大的 C+ 代碼編輯器可快速編寫代碼。語法標識和代碼完成功能輸入時進行靜態(tài)代碼檢驗以及提示樣式上下文相關的幫助代碼折疊括號匹配和括號選擇模式高級編輯功能采用C+語言設計,編碼規(guī)范清晰,關鍵算法或處理須加注釋說明。Qt Creator是一款跨平臺的集成開發(fā)環(huán)境,特別針對Qt開發(fā)者,是QtSDK組成的一部分,可運行于Windows, Linux/X11及Mac OS X等桌面操作系統(tǒng),允許開發(fā)者為多桌面環(huán)境及移動設備平臺創(chuàng)建應用程序。它包括一個可視化調試工具和集成的 GUI 版面和外形設計師。這個編輯器的功能包括語法高亮度顯示和自動完成。Qt Creator 在 Linux 上,使用GCC的 C+ 編譯器。在 Windows,默認安裝它可以使用MinGW或MSVC。從源代碼編譯時,也可以使用cdb。QT Creator是一個跨平臺的 C+ GUI 應用構架,它提供了豐富的窗口控件,具有面向對象、易于擴展、組件編程等特點,最為引人注目的是目前在 Linux 上最為流行的 KDE 的桌面環(huán)境,它就是建立在 QT 庫的基礎之上。QT 支持多種平臺,隨著 KDE 的快速發(fā)展普及,QT 很有可能成為 Linux 系統(tǒng)窗口平臺上進行軟件開發(fā)的 GUI 首選工具。信號和槽是 QT 的核心機制,要學會 QT 編程那么就必須對信號和槽機制有所了解。信號和槽機制是一種接口,應用在對象之間的通信,是 QT 的核心特性,同時也是 QT 區(qū)別于其它種類工具包的重要地方。信號和槽機制是 QT 自行定義的一種通信機制,它獨立于標準的 C/C+ 語言,所以必須要正確的處理好信號和槽機制,這里借助moc(Meta Object Compiler)工具,該moc工具是一個 C+的預處理工具,為事件處理自動生成所需要的附加處理代碼。在我們所熟知的多種 GUI 工具包中,窗口小控件 (widget) 都有一個回調函數用來響應它們能觸發(fā)的動作,這個回調函數通常是一個指針,它指向某個函數。但是,在 QT 中信號和槽機制取代了這些函數指針,使得人們在編寫這些通信程序時更為簡潔明了。 信號和槽機制能使用任意數量、任意類型的參數。在這里我設計的主窗口命名為:mainwindow。所有從 QObject 或其子類 ( 例如 Qwidget) 派生的類都可以包含信號和槽機制。當對象改變狀態(tài)時,信號就由該對象發(fā)射出去,這就是對象所要做的事情,但它不知道另一端是誰在接收這個信號,這就是所謂的信息封裝,它保證對象被當作一個真正的組件來使用。槽被用來接收信號,它們是對象成員函數,稱為槽函數。但槽函數并不知道是否有信號和自己相連。而且,對象也不了解具體的通信機制。在編程時可以將多個信號與單個槽函數進行連接,也可以將單個信號與多個槽函數進行連接,甚至也可以將一個信號和另外一個信號相連,這時無論第一個信號在何時發(fā)射,那么都將立刻發(fā)射第二個信號??傊?,信號與槽機制構成了一個很強大的控件編程機制。2.4 能力要求畢業(yè)設計對能力的包括: 查找文獻和運用能力。 外語閱讀和翻譯能力。 獨立分析和思維能力。 獨立分析和思維能力。 書面和口頭表達能力。 綜合分析和設計能力。 使用計算機的能力。2.5 項目特點及意義隨著我國經濟的快速發(fā)展,科學技術的不斷進步,計算器的功能也越來越強大,從古代的算盤到現在的計算器這是一個飛速的發(fā)展。使得我們計算東西越來越便捷,速度越來越快,提高了效率,也提高了準確度。主要有以下幾個特點: 計算速度快,節(jié)省時間、人力。 科學計算窗口可以進行各進制的加減乘除運算。 可對算式進行回退、刪除等功能。 提供良好的人機交互界面,操作簡單快捷。因其方便快捷的操作模式,已經被廣泛應用于工程、學習、商業(yè)等日常生活中,極大的方便了人們對于數字的整合運算。隨著社會的進步和科技的發(fā)展,電子計算器作為一種方便、準確、小巧的運算工具早走入尋常百姓家,同時也成為學生的“寵兒”。不論是多么冗長的算式,多么復雜的運算,只要輕輕點擊幾下按鍵,結果就馬上顯示在顯示屏上,結果既準又快。在數學課程標準中也指出:“現代教育技術的發(fā)展對數學教育的價值、目標、內容以及學與教產生了重大的影響,數學課程的設計與實施應重視運用現代教育技術,特別要充分考慮計算器、計算機對數學學習內容和方式的影響,在力開發(fā)并向學生提供更為豐富的學習資源,把現代教育技術作為學生學習數學和解決問題強有力工具,致力于改變學生的學習方式,使學生樂意并有更多的投入到現實的、探索性的數學活動中去。而在我們日常生活辦公中遇到的一些基本的數字運算,以往簡單的口算筆算,然而現在不同了,人們對計算機、手機的依賴越來越高,遇到計算問題不再愿意去用腦去思考,而是交由手機或是電腦來完成。為了給自己設計一個能夠勝任自己學習工作的計算器,所以決定自己通過用所學的知識來編寫一個簡單的計算器。對于該項目我采用Qt Creator來編寫,方便自己使用,也可以方便別人,同時能使自己的技術水平得到鍛煉提高。3 需求分析3.1 功能需求與分析在程序設計中,通過設計、編制、調試一個模擬計算器的程序,加深對語法及語義分析原理的理解,并實現對命令語句的靈活應用。在程序設計中,可以用兩種方法解決問題:一是傳統(tǒng)的結構化程序設計方法,二是更先進的面向對象程序設計方法。在面向對象程序設計中關鍵是如何將問題域中的實體(即日常所見的概念)抽取出來,作為C+程序中的類,而屬性與行為作為類的兩類要素通常是必不可少的,甚至還應考慮類必須滿足的約束。我們日常生活的開支,大額數字或是多倍小數的計算都需要計算器的幫助,處理數字的開方、冪運算等都離不開計算器。雖然現在的計算器價格比較低廉,但是功能過于簡單的不能滿足個人需求,功能多的價格較貴,操作不便不說,很多功能根本用不到。所以,我們想到可不可以用自己的所學為自己設計開發(fā)一個屬于自己的簡單計算器來完成日常生活的需求。計算器是日常生活中十分便捷有效的工具,能實現加、減、乘、除、開方、求倒數等簡單運算的工具。要實現計算功能,可以用C+和Qt的知識編寫程序來解決此問題。該計算器大大的降低了數字計算的難度及提高了計算的準確度和精確度。該計算器使用非常簡單和方便,對廣大中小學生的學習有巨大幫助作用,也對在職人員的工作有點幫助作用。在該項目設計中,程序設計設計語言采用C+和Qt designer工具,在程序設計中,采用了結構化與面向對象兩種解決問題的方法。3.2 安全性分析本軟件可供多用戶使用,這里首先談備份數據,對一些用戶自有的數據是非常重要的,一旦用戶的自有數據遭到破壞,將造成不可彌補的損失,如果沒有備份的話,則后果是不堪設想。建議各級用戶都要及時妥善備份自有的數據,如:歷年資料、重要方案、管理文獻、重要數據等,而且要備份到本機之外的存儲介質上(如光盤、移動硬盤)。并且此程序界面使用Qt designer進行布局,對各個空間進行布局和排版時不容易出錯,快速便捷,提高軟件的安全性。3.3 可行性分析計算器是日常生活中非常便捷有效的小工具,它是一種小型的手持或桌面的設備,用于完成數學計算。一般的數學計算器與計算機是不一樣,數學計算器通常僅能完成算術運算和少量邏輯操作并顯示其結果,但一般不能修改其程序。除了某些尺寸可比掌上型計算器的PDA之外,計算器的可攜性通常高于計算機。本款科學計算器具有普通計算和科學計算,能實現加減乘除等普通功能,還可以實現算是運算,并且可以進行進制裝換,不再局限于十進制,它大大的提高了我們的效率,節(jié)省了我們的時間,可促進科技的發(fā)展,我對它的實現用Qt編寫,Qt designer設計的界面美觀,還可以用拖拽功能進行設計控件的位置、大小、屬性、結構等功能,這樣我們在編寫代碼時就不用浪費時間對控件進行聲明等代碼了。這降低了程序員的難度,提高了程序員的效率,并且上手快,對于第一次接觸這個軟件的人來說是一個不錯的選擇,具有一定的可行性。我們日常生活中經常碰到計算的問題,而一個計算器軟件便變得非常有用,該計算器軟件所用的空間資源較少,對其他軟件影響較小。它的設計方法按照軟件工程的方法進行,使用Qt具有良好美觀的界面,必要的信息存儲和和較好的健壯性,使用人員能夠快捷簡單的進行操作,既可以快捷的獲得計算結果,個人們帶來方便,對人們的生活有一定的幫助。3.4 技術經濟分析技術經濟分析是研究技術領域的經濟問題和經濟規(guī)律的科學,是研究一定技術條件下如何提高經濟效果的科學,是技術與經濟的交叉。在技術上,用Qt編寫,結合C+,但大多數都是Qt封裝好的函數。用Qt designer進行制作界面,做出的界面效果不僅美觀而且快捷方便。這里設計軟件所用的電腦是HP ProBook 6450b,開發(fā)工具QT從網上下載安裝。3.5 用例圖3.5.1 UML介紹統(tǒng)一建模語言(UML,英語:Unified Modeling Language)是非專利的第三代建模和規(guī)約語言。UML是一種開放的方法,用于說明、可視化、構建和編寫一個正在開發(fā)的、面向對象的、軟件密集系統(tǒng)的制品的開放方法。UML展現了一系列最佳工程實踐,這些最佳實踐在對大規(guī)模,復雜系統(tǒng)進行建模方面,特別是在軟件架構層次已經被驗證有效。UML集成了Booch,OMT和面向對象軟件工程的概念,將這些方法融合為單一的,通用的,并且可以廣泛使用的建模語言。UML打算成為可以對并發(fā)和分布式系統(tǒng)的標準建模語言。UML并不是一個工業(yè)標準,但在Object Management Group的主持和資助下,UML正在逐漸成為工業(yè)標準。OMG之前曾經呼吁業(yè)界向其提供有關對象導向的理論及實現的方法,以便制作一個嚴謹的軟件建模語言(Software Modeling Language)。有很多業(yè)界的領袖亦真誠地回應OMG,幫助她建立一個業(yè)界標準。許多人通過UML認識了用例,UML定義為展現用例的圖形符號。 UML并沒有為描述用例定義書寫格式的標準,因此許多人誤認為這些圖形符號就是用例本身;然而,圖形符號只能給出最簡單的一個或一組用例的概要。UML是用例圖形符號最流行的標準。但是,還有一些其它的可選擇的標準。用例(英語:use case),或譯使用案例、用況,是軟件工程或系統(tǒng)工程中對系統(tǒng)如何反應外界請求的描述,是一種通過用戶的使用場景來獲取需求的技術。每個用例提供了一個或多個場景,該場景說明了系統(tǒng)是如何和最終用戶或其它系統(tǒng)互動,也就是誰可以用系統(tǒng)做什么,從而獲得一個明確的業(yè)務目標。編寫用例時要避免使用技術術語,而應該用最終用戶或者領域專家的語言。用例一般是由軟件開發(fā)者和最終用戶共同創(chuàng)作的。在1986年,Ivar Jacobson,UML和瑞理統(tǒng)一過程2的重要貢獻者,提出了用例的概念。Jacobson的思想很有影響力,也很有發(fā)展力。之后在這個科目上又有很多貢獻,在定義用例是什么和怎么有效的書寫用例方面最重要,最有影響力也最全面的,是Alistair Cockburn,他寫的書籍是編寫有效用例。用例迅速成為獲取功能需求最常用的手段。用例最初是和面向對象一同提出的。但是它不止局限于面向對象系統(tǒng),因為用例實質上不是面向對象。用例圖包含一組用例。每一用例用橢圓表示,放置在矩形框中;矩形框表示整個系統(tǒng)。矩形框外畫如圖所示的小人,表示參與者。參與者不一定是人,可以是其他軟件、硬件等等。某一參與者與某一用例用線連起來,表示該參與者和該用例有交互。3.5.2 科學計算器用例圖該科學計算器用例圖利用Visio制圖工具,用戶進入主界面,有二進制、八進制、十進制、十六進制、畫圖板五個選項,其中二進制包括與運算、或運算、同或運算、異或運算,以及加減乘除運算,八進制包括加減乘除運算,十進制包括取模運算、取整運算、倒數運算、冪運算、加減乘除運算,十六進制包括與運算、或運算、同或運算、異或運算,以及加減乘除運算??茖W計算器的用例圖如圖3-1所示。圖3-1 科學計算器用例圖3.5.3 畫圖板用例圖該畫圖板用例圖利用Visio制圖工具,用戶進入主界面選擇畫圖板后,有一序列的畫圖工具可以選,包括圖片的打開保存、畫圖工具的選取、清除工具、屬性設置,其中畫圖工具有畫筆、畫刷、橢圓和矩形,清除工具包括橡皮擦和清屏。畫圖板的用例圖如圖3-2所示。圖3-2 畫圖板用例圖4 總體設計4.1 總體設計目標該科學計算器包含的功能有:加、減、乘、除、平方、冪次方、倒數、取整、取模,二進制、八進制、十進制和十六進制之間的轉換以及位運算,包括與運算、或運算、異或運算、同或運算,并且可以對顯示框有清零和回退的功能,同時在這些基本的運算基礎上增加了畫圖板功能,畫圖板就是為了在運算疲倦的時候用來娛樂的一種小工具,可以在畫圖板上畫一些簡單的圖形,選取顏色和風格等簡單的功能。這款科學計算器功能強大,安全性高,界面簡潔友好,符合廣大用戶的基本需求,尤其是爭對計算機專業(yè)的學生,使用起來更為便捷。4.2 功能模塊設計4.2.1 科學計算功能模塊進行加減乘除和取整取模倒數運算。支持二、八、十六、十等不同進制數據的直接輸入、計算和數制間的相互轉換,點擊等號鍵時直接給出當前算式的運算結果,實現各類不同函數及位運算。(1) 科學計算器模塊圖如圖4-1所示。圖4-1 科學計算器模塊圖(2) 科學計算器二進制模塊圖如圖4-2所示。圖4-2 二進制模塊圖 滿足加減乘數四則運算 實現位運算與運算 實現位運算或運算 實現位運算同或運算 實現位運算異或運算(3) 科學計算器八進制模塊圖如圖4-3所示。圖4-3 八進制模塊圖 實現基本的加減乘數四則運算(4) 科學計算器十進制模塊圖如圖4-4所示。圖4-4 十進制模塊圖 實現基本的加減乘除運算 實現倒數運算 實現冪運算,包括平方運算 實現取整運算 實現取模運算(5) 科學計算器十六進制模塊圖如圖4-5所示。圖4-5 十六進制模塊圖 實現基本的技術減乘除四則運算 實現位運算與運算 實現位運算或運算 實現位運算同或運算 實現位運算異或運算4.2.2 畫圖板功能模塊文件打開和保存的功能,畫圖工具橢圓、矩形、畫筆、畫刷、橡皮擦、清圖的功能,畫圖工具屬性的設置功能。畫圖板模塊圖如圖4-6所示。圖4-6 畫圖板模塊圖 圖片的打開和保存 畫圖工具的選取,比如橢圓、矩形 畫圖工具的選取,比如畫筆、畫刷5 詳細設計5.1 設計目的為了更好的滿足廣大計算機用戶對于計算器的需求,故在原有加減乘除四則基本運算的基礎上,增加了二進制、八進制、十進制、十六進制的轉化,還添加了位運算,包括與運算、或運算、異或運算、同或運算。該款計算器的設計更加新穎別致,更加符合計算機專業(yè)用戶的需求。5.2 設計說明5.2.1 UI界面風格主界面采用Qt Creator工具設計,使用多種布局管理器布局,能夠方便的對界面布局進行修改,根據設計者的審美風格進行布局設計。主界面包含一個lineEdit文本顯示框,4個QRadioButton以及36個QPushButton按鈕,結合中國式審美風格,這樣使界面變得更加美觀、整潔??茖W計算器主界面如圖5-1所示。圖5-1 科學計算器主界面5.2.2 科學計算器模塊(1) 二進制運行程序,在主界面選擇二進制,二進制的功能按鈕就會顯示,非二進制的按鈕就會變灰色。二進制功能: 加減乘除四則運算 與運算、或運算、同或運算、異或運算 正負號選取 文本框清零功能 文本框回退功能(2) 八進制運行程序,在主界面選擇八進制,八進制的功能按鈕就會顯示,非八進制的按鈕就會變灰色。八進制功能: 加減乘除四則運算 正負號選取 文本框清零功能 文本框回退功能(3) 十進制運行程序,在主界面選擇十進制,十進制的功能按鈕就會顯示,非十進制的按鈕就會變灰色。十進制功能: 加減乘除四則運算 倒數運算 冪運算 取整運算 取模運算 正負號選取 文本框清零功能 文本框回退功能(4) 十六進制運行程序,在主界面選擇十六進制,十六進制的功能按鈕就會顯示,非十六進制的按鈕就會變灰色。十六進制功能: 加減乘除四則運算 與運算、或運算、同或運算、異或運算 正負號選取 文本框清零功能 文本框回退功能 科學計算器進制模塊5.2.3 畫圖板模塊運行程序,在主界面選擇畫圖板按鈕,就會進入畫圖板的界面,并顯示相應的畫圖板功能按鈕。畫圖板功能: 保存、打開文件 畫圖工具圖形(橢圓、矩形)選取 畫圖工具畫筆、畫刷選取 清除功能(橡皮擦、清屏) 屬性設置6 系統(tǒng)實現6.1 系統(tǒng)功能介紹從功能上來講,本軟件的功能就是實現各種計算,包括普通計算和科學計算,普通計算包括加減乘除計算和算式計算,科學計算包括普通計算和二進制的或與非運算。該軟件還有畫圖功能,可以選取自己喜歡的畫圖工具并設置其屬性。6.2 科學計算器界面設計使用Qt designer進行設計,首先創(chuàng)建一個mainwindow.ui,這個界面為mainwindow。然后從左側的Widget Box里找相應的控件添加到mainwindow里。首先拖出一個lineEdit控件作為算式顯示窗口和結果顯示窗口,在提取出36個QpushButton為0到F按鍵和加減乘除按鍵、小數點按鍵、正負號按鍵、等于按鍵、清零按鍵、刪除按鍵、回退按鍵、取整按鍵、取模按鍵、平方按鍵、冪次方按鍵、倒數按鍵、位運算按鍵以及畫圖板按鍵。然后再把每個QpushButton名字改成相應的符號,并且改對應Qpushbutton的屬性,保存后行進編譯,運行程序就可以顯示相應界面?,F在頭文件中對各個按鍵在私有的槽中進行聲明, 例如:void on_pushButton_9_clicked();,就對9鍵進行聲明,然后就可以在源文件中進行編寫程序。void MainWindow:fun9() if(falg = 1)

溫馨提示

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

評論

0/150

提交評論