數據結構課程大型實驗大整數參考模板_第1頁
數據結構課程大型實驗大整數參考模板_第2頁
數據結構課程大型實驗大整數參考模板_第3頁
數據結構課程大型實驗大整數參考模板_第4頁
數據結構課程大型實驗大整數參考模板_第5頁
已閱讀5頁,還剩8頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、浙江工業大學本科畢業設計文獻綜述大類基礎課程大型實驗 2015/2016(1) 實驗題目 大整數的運算 學生姓名_ * _ 學生學號_* _ 學生班級_ _ 任課教師_ _ 提交日期 _ 2015/5/19 _ _ 計算機科學與技術學院浙江工業大學計算機科學與技術學院 大類基礎課程大型實驗報告大整數的運算 實驗報告一、 大型實驗的內容 大整數的運算(BIO:Big Integers Operation)用于兩個大整數的四則運算,要求完成的主要的功能包括能夠進行兩個大整數的加法、減法、乘法、除法、乘方及取模運算,并有一個可以自行出入的運算上限。要求使用學習過的數據結構的知識完成大整數運算的設計與

2、實現。二、 運行環境 大整數的運算(BIO)在Visual Studio 2013平臺下開發,操作系統:Windows 7 / Windows8。 硬件環境:(備注:可以查看“計算機”屬性) 處理器:Intel(R) Core(TM) i5-2557M CPU 1.70GHz 1.70GHz 內存:4.00GB 系統類型:32位操作系統三、 實驗課題分析3.1 大整數的運算的主要功能大整數的運算(BIO)主要功能為:大整數的加法,大整數的減法,大整數的乘法,大整數的除法、大整數的乘方、大整數的取模。詳細的系統功能結構為圖1所示。大整數的運算(BIO)大整數的除法模塊大整數的乘方模塊大整數的加法

3、模塊大整數的取模模塊大整數的乘法模塊大整數的減法模塊圖1 系統結構圖各模塊的功能具體描述為:1、大整數的加法模塊用戶輸入需要運算的大整數,實現加法,并及時輸出結果。若結果超過設置的最大上限,則取模最大上限后輸出。2、33.2 分析及設計涉及對象有3個基本類:節點類、鏈表類和大整數類。如下表所示: 表1 涉及的操作對象涉及的對象操作節點運算過程中儲存數字信息鏈表儲存輸入的大整數和運算過程中新生大整數的信息大整數實現大整數的運算,及相關的輸入輸出,錯誤的提示可以采用面向對象的方式實現大整數的運算。主要的類結構如圖2所示。數據處理(節點類、鏈表類)大整數類 用戶圖2 主要類結構圖 3.3運算的實現

4、(1)類的編寫 運算工程名為:BIO。包含了Node類(數字節點類),List類(整數鏈表類)和Big類(大整數類)三個基本類。其中Big類的函數實現中包含了List類,List類里也蘊含著Node類。各自分工以完成需要的功能。具體類結構聲明如下:l Node類: class Node /節點public:int nValue; /值Node* Next; /下個節點Node();Node(int); /構造函數;l List類:class Listprivate:Node* Head; /頭指針Node* Tail; /尾指針public:bool Empty(); /是否為空List();

5、 /構造函數List(); /析構函數List(List &); /拷貝構造函數int Size(); /大小Node* getHead(); /返回頭指針Node* getTail(); /返回尾指針void Push(int); /壓入鏈表void Delete(); /刪除void Insert(List &); /插入List operator=(List &); / 賦值void Pop(); /彈出鏈表int Top(); /返回鏈表頂值void Display(); /顯示; (2)鏈表的使用 運算實現采用用戶的輸入輸出對數字數據進行讀取,但是由于大整數信息都是一個數字的集合,于

6、是對數字的存儲組織使用了單向鏈表。 在運用時,令當前數字的next節點指向新的數字節點,即節點的指針next保存新的數字結點的地址(如下圖3所示),以此類推,所有數字信息就通過鏈表的形式串聯起來了。 Figure1 Figure2 Figurendatadata data .*next*next*next 圖3 數字鏈表的建立功能l 大整數的加法(每個算法都要按照這個流程寫下來): 運算時,會讀入用戶輸入的三個字符串。如果第二個字符串是“+”,則進行加法運算。運算過程中一旦發現數字有問題會立即報錯,并拋出異常。運算時從個位開始循環,依次讀取兩數相應位的值t1,t2,并新增一個進位數字kTemp。每次相加時保存kTemp,以用于下一位的運算。當其中一個數字到頭時,t1或t2會被置為0讓加法能繼續下去。結果取模最大上限。大整數的加法的流程圖如下:開始 輸入是否有問題報錯 是 否將兩數每一位依次相加,期間依靠進位數使加法完善。取模最大上限輸出結束 (3)交互界面的實現 系統運行開始的界面如圖5所示:圖5 開始界面四、 實驗調試、測試、運行記錄及分析 運算在調試測試過程中遇到若干問題,不過經過仔細反復的檢查已經消除各種bug。 l 加法:l 減法:l 乘法:l 除法:l 乘方:l 取模:l 問題輸入: 遇到的問題及解決方法如下:l 問題1:問題描述:運算出來

溫馨提示

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

評論

0/150

提交評論