用C給小學生出題目
阿新 • • 發佈:2018-09-12
pos hub improve pro 分析 數加 新技術 教訓 printf
用C給小學生出題目
一、預估與實際
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 600 | 300 |
? Estimate | ? 估計這個任務需要多少時間 | 600 | 300 |
Development | 開發 | 120 | 90 |
? Analysis | ? 需求分析 (包括學習新技術) | 120 | 70 |
? Design Spec | ? 生成設計文檔 | 100 | |
? Design Review | ? 設計復審 | 200 | 200 |
? Coding Standard | ? 代碼規範 (為目前的開發制定合適的規範) | 120 | 60 |
? Design | ? 具體設計 | 30 | 60 |
? Coding | ? 具體編碼 | 30 | 120 |
? Code Review | ? 代碼復審 | 30 | 15 |
? Test | ? 測試(自我測試,修改代碼,提交修改) | 120 | 60 |
Reporting | 報告 | 120 | 60 |
? Test Repor | ? 測試報告 | 100 | 60 |
? Size Measurement | ? 計算工作量 | 120 | 60 |
? Postmortem & Process Improvement Plan | ? 事後總結, 並提出過程改進計劃 | 120 | 60 |
合計 | 1000 |
二、需求分析
我通過網絡搜索的方式了解到,小學一年級數學有如下的幾個特點:
- 特點1
- ..兩位數加減,沒有負數
-特點2
-簡單
經過分析,我認為,這個程序應當:
- 使用的數字小於三位數
- ..沒有負數
三、設計
1. 設計思路
說明你如何設計這個程序
比如:
- 這個程序有x個類,x個函數,函數之間的調用關系是怎樣的?
- 關鍵函數的流程圖是怎樣的?
- 算法的關鍵的關鍵是什麽?
- 由於JAVA沒學好導致不太會調用各種類,所以這次編程題我使用了爺爺級別的C
-調用隨機數種子((unsigned)time(NULL))
-然後選擇循環輸出定義的一大堆數進行加減乘除
2. 實現方案
寫出具體實現的步驟
比如:
- 準備工作:先在Github上創建倉庫,克隆到本地...
- 技術關鍵點:梳理一下設計思路,可能遇到哪些技術關鍵點
- 打開VS2015開始敲
四、編碼
請說明你如何按照設計思路進行編碼,並記錄你在開發中遇到的問題,與解決過程
1. 調試日誌
記錄編碼調試的日誌,請記錄下開發過程中的 debug 歷程
比如:
- 在代碼的什麽位置,代碼出現了什麽問題,問題會導致什麽結果,怎麽解決的
2. 關鍵代碼
for(i=1;i<=10;i++) //循環
{
d1=rand()%91+10,d2=rand()%91+10; //rand()%91+10,輸出10-100之前的隨機數字
d3=rand()%91+10,d4=rand()%91+10;
d5=d1+d2;d6=d3*d4; //進行符號運算
d7=d1-d2;d8=d3/d4;
}
3. 代碼規範
請給出本次實驗使用的代碼規範:
- 第一條 註釋雙斜杠//
- 第二條 printf註意在循環裏面
-第三條 答案在另外一個循環裏
並人工檢查代碼是否符合規範
五、測試
運行程序後先審查題目是否有重復,格式是否正確,再用計算器簡單計算隨機幾道題答案是否正確
六、總結
請總結過程中的教訓和經驗,思考
-由於沒學好JAVA,在思考了兩天如何用JAVA實現這道題目後徹底懵逼,太多基礎要補了
-所以用C寫了這道後發現原理其實蠻簡單的,就是格式化規範比較繁瑣
-參數實現也非常容易
-另外感覺還是要緊跟潮流用JAVA比較好
用C給小學生出題目