1. 程式人生 > >用C給小學生出題目

用C給小學生出題目

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給小學生出題目