個人專案作業

2022-07-22 01:51:08 字數 1988 閱讀 1131

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫· estimate

· 估計這個任務需要多少時間

440500

development

開發· analysis

· 需求分析 (包括學習新技術)

3030

· design spec

· 生成設計文件

3060

· design review

· 設計複審 (和同事審核設計文件)

3030

· coding standard

· **規範 (為目前的開發制定合適的規範)

2020

· design

· 具體設計

3030

· coding

· 具體編碼

180200

· code review

· **複審

2030

· test

· 測試(自我測試,修改**,提交修改)

4040

reporting

報告· test report

· 測試報告

2020

· size measurement

· 計算工作量

1010

· postmortem & process improvement plan

· 事後總結, 並提出過程改進計畫

3030

合計440

500題目的基本要求是給定n條直線,輸出這些直線之間的交點的個數。首先的想法就是把這些直線兩兩組合,計算交點,計算交點的方法是把直線表示為ax+by+c = 0的形式,聯立方程求解,如果有交點就把這個交點放入集合裡面,最後輸出集合的大小。這種做法的複雜度為o(n^2), 目前沒有想到更好的做法。

附加要求是新增了圓形,輸出所有交點的個數,想法依然是兩兩組合求交點,只需要新增計算圓與圓、圓與直線的交點的函式。圓表示為(x + c)^2 + (y + d)^2 = r^2。

我一共設計了point,line,circle三個類,line的建構函式傳入兩個point物件,circle的建構函式傳入乙個point物件和double型別的半徑r。line內部有計算line和line之間,line和circle之間交點的static函式,circle內部有計算circle和circle之間交點的static函式,返回值均為point物件。

單元測試主要測試三個static函式。測試用例考慮了兩條平行直線,平行於y軸的直線,直線與圓相切,圓與圓相切等情況。

程式中消耗最大的函式為計算兩條直線的交點的函式。目前沒有想到比較好的改進方法。

程式的整體結構。

程式中用來統計交點個數的資料結構,unordered_set。

過載操作符,用於unordered_set判斷兩個point是否相同。

point的hash函式,也是用於unordered_set。

用於計算兩直線交點的函式,直線被表示為ax+by+c=0 的形式,返回值為point物件。

個人專案作業

個人專案位址 需求分析 求解數獨 gui設計 可選 如果能夠較好的完成前兩部分再來考慮gui 相關思路 檔案輸入輸出 以下是優化後的cpu使用率s。生成1000,000個數獨終局需要4分10s,雖然還是很慢,但是比最開始已經好了很多。求解1000個數獨花費的時間約為38s,檔案輸入輸出更改後速度也提...

個人專案作業

題目描述 wc 專案要求 wc.exe 是乙個常見的工具,它能統計文字檔案的字元數 單詞數和行數。這個專案要求寫乙個命令列程式,模仿已有wc.exe 的功能,並加以擴充,給出某程式語言原始檔的字元數 單詞數和行數。實現乙個統計程式,它能正確統計程式檔案中的字元數 單詞數 行數,以及還具備其他擴充套件...

個人專案作業

psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫30 50estimate 估計這個任務需要多少時間 1015 development 開發analysis 需求分析 包括學習新技術 120180 design s...