資料結構大作業猴子吃桃問題

2022-02-27 10:47:26 字數 3002 閱讀 5042

課程設計說明書

課程名稱資料結構

設計題目: 猴子吃桃問題

學院: 電腦科學與資訊工程學院

學生姓名

學生學號

專業班級軟體工程

指導教師宋強

2023年06月15日

課程設計任務書

猴子吃桃問題

摘要: 資料結構是一門結合c++知識的重要課程,因此我們要學會用平時課本的知識運用到我們的現實生活當中,這樣才能讓我們所學的知識更加深刻。

分析了猴子吃桃子問題的實質,得到了其數學模型ni-1= 2*(ni+1)(0,接下來就是其需求分析和概要設計,大致的制定出其實現方案以及其系統結構,然後就是利用掌握的語言c/c++程式設計實現這一生活問題,該軟體用了幾種不同的方法解答出了所需要的答案。猴子吃桃的問題就是乙個例子,我們可以運用簡單的四種解法進行解題,即陣列求值解法,鍊錶求值解法,遞迴求值解法和佇列求值法,通過分析四種解法,根據各種解法的功能,從而我們得到最合適的求法。

關鍵詞:猴子吃桃子;陣列法;鍊錶法;遞迴法;佇列法;分析

目錄 1設計背景 1

1.1問題描述 1

1.2基本要求 1

1.3開發及執行平台 1

2.設計方案 2

2.1題目分析 2

2.2需求分析規格 2

2.2.1資料求解法分析 3

2.2.2鍊錶求解法分析 3

2.2.3遞迴法分析 4

2.2.4 佇列法分析... 4

2.3資料流程圖4

2.4系統結構圖 5

3方案實施 5

3.1資料型別定義5

3.2主要模組設計5

3.2.1 模組1——陣列求解模組 5

3.2.2 模組2——鍊錶求解模組 6

3.2.3 模組3——遞迴求解模組 7

3.2.4 模組4——佇列求解模組 8

3.3源程式8

4結果與結論 13

4.1除錯分析13

4.2程式執行結果13

4.3結論14

5.參考文獻 15

1. 設計背景

1.1問題描述

有一群猴子摘了一堆桃子,他們每天都吃當前桃子的一半且再多吃乙個,到了第10天就只餘下乙個桃子。用多種方法實現求出原來這群猴子共摘了多少個桃子。

1.2基本要求

(1)採用陣列資料結構實現上述求解

(2)採用鏈式資料結構實現上述求解

(3)採用遞迴實現上述求解

(4)採用佇列實現上述求解

1.3開發及執行平台

在本課程設計中,系統開發平台為windows2000,程式語言為visual c++ 6.0,程式的執行環境為visual c++6.0。

visual c++一般分為三個版本:學習版、專業版和企業版,不同的版本適合於不同型別的應用開發。實驗中可以使用這三個版本的任意一種,在本課程設計中,以visual c++6.

0為程式設計環境。

microsoft visual c++6.0是microsof公司的microsoft visual studio 6.0開發工具箱中的乙個c++程式開發包。

visual c++包中除包括c++編譯器外,還包括所有的庫、例子和為建立windows應用程式所需要的文件。自2023年microsoft公司推出visual c++1.0後,隨著其新版本的不斷問世,visual c++已成為專業程式設計師進行軟體開發的首選工具。

visual c++從最早期的1.0版本,發展到最新的7.0版本,visual c++已經有了很大的變化,在介面、功能、庫支援方面都有許多的增強。

最新的7.0版本在編譯器、mfc類庫、編輯器以及聯機幫助系統等方面都比以前的版本做了較大改進。

visual c++6.0是microsoft公司推出的目前使用最廣泛的基於windows平台的視覺化程式設計環境。visual c++ 6.

0是在以往版本不斷更新的基礎上形成的,由於其功能強大,靈活性好,完全課擴充套件以及具有強大的internet支援,因而在各種c++語言開發工具中脫穎而出,成為目前最為流行的c++語言整合開發環境。

雖然微軟公司推出了visualc++.net(visualc++7.0),但它的應用的很大的侷限性,只適用於windows2000,windowsxp和windowsnt4.

0。所以實際中,更多的是以visual c++6.0為平台。

visual c++ 6.0是microsoft公司推出的目前使用最廣泛的基於windows平台的視覺化程式設計環境。visualc++6.

0是在以往版本不斷更新的基礎上形成的,由於其功能強大,靈活性好,完全課擴充套件以及具有強大的internet支援,因而在各種c++語言開發工具中脫穎而出,成為目前最為流行的c++語言整合開發環境。

visual c++ 6.0秉承visualc++以前版本的優異特性,為使用者提供了一套良好的視覺化開發環境:主要包括文字編輯器、資源編輯器、工程建立工具、debugger偵錯程式等等。

使用者可以在整合開發環境中建立工程、開啟工程、建立、開啟和編輯檔案、編譯、鏈結、執行、除錯應用程式。

2.設計方案

2.1題目分析

根據題目要求,設猴子共摘的桃子個數為n即是第一天桃子的個數n1, 第第二天時桃子個數n2,第三天時桃子個數n3,第四天時桃子個數n4,第五天時桃子個數n5,第六天時桃子個數n6,第七天時桃子個數n7,第八天時桃子個數n8,第九天時桃子個數n9,第十天時桃子個數n10。

由題中「每天都吃當前桃子的一半且再多吃乙個」很容易知道n10=1,n9-(n9/2+1)=n10,n8-(n8/2+1)= n9…… 依次推出公式:ni-1-(ni-1/2+1)= ni (0。即ni-1= 2*(ni+1)(0。

2.2 需求分析規格

由上述描述及分析可知,該系統所要做的工作就是計算出原來這群猴子共摘了多少個桃子。通過分析不同的解法,找到每種解法的優劣,得到最合適的求解方法。由問題描述可知,該系統執行時,不需要手動輸入任何資料,因此就沒有輸入的測試資料,只有輸出的測試資料,且輸出資料的形式是輸出每天剩下的桃子數,最後輸出這群猴子總共摘了多少桃子。

資料結構大作業設計

作業要求 1 至少選擇下面乙個題目,完整實現。2 對於下面問題,基本要求裡面的功能一定要實現 同時,根據個人對於實際問題的理解,盡可能的完善解決問題的方法 提高要求裡面給出了簡單的進一步完善的方向 3 寫出詳細的設計文件 不少於 a.說明書格式 見 資料結構大作業說明書 b.正文要分章節,正文為5號...

資料結構猴子選王問題

2015年 資料結構與演算法 課程設計 學院 數學與資訊科學學院 專業 數學與應用數學 班級 2013級1班 姓名 解堅傑 課題名稱 猴子的選王問題 指導老師 覃美珍 2015年 8 月 22 日 猴子選王問題 猴子選王問題求解 一堆猴子都有編號,編號是1,2,3 m 這群猴子 m個 按照1 m的順...

資料結構 猴子分桃

設計題目 猴子分桃 動物園裡的n 只猴子編號為1,2,n,依次排成一隊等待飼養員按規則分桃。動物園的分桃規則是每只猴子可分得m個桃子,但必須排隊領取。飼養員迴圈地每次取出1 個,2 個,k個桃放入筐中,由排在隊首的猴子領取。取到筐中的桃子數為k 後,又重新從 1 開始。當筐中桃子數加上隊首猴子已取得...