日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

结队作业,小学生3年级数学题出题器

發布時間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结队作业,小学生3年级数学题出题器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

結對作業,

學號1:211606308 江東
學號2:211606306 黃柏濤

一、預估與實際

PSP2.1Personal Software Process Stages預估耗時(分鐘)實際耗時(分鐘)
Planning計劃
Estimate? 估計這個任務需要多少時間12001365
Development開發
Analysis? 需求分析 (包括學習新技術)200240
Design Spec? 生成設計文檔6070
Design Review? 設計復審6070
Coding Standard? 代碼規范 (為目前的開發制定合適的規范)8090
Design? 具體設計8090
Coding? 具體編碼6070
Code Review? 代碼復審2040
Test? 測試(自我測試,修改代碼,提交修改)3030
Reporting報告7090
Test Repor? 測試報告6070
Size Measurement? 計算工作量2035
Postmortem & Process Improvement Plan? 事后總結, 并提出過程改進計劃5055
合計1842

二、需求分析

我通過上網的方式了解到,小學三年級數學有如下的幾個特點:

  • 特點1:兩個加數應該在100以內
  • 特點2:減法的計算結果不能出現負數
  • 特點3:除數不能為0
  • 特點4:有余數要打出余數
  • 特點5:小學三年級已經學會了四則運算的加減乘除混合運算以及他的優先級規則

  • ...

三、設計

1. 設計思路

這個程序有三個大的方法構成,分別為show1()與show2()show3()來顯示并將小學1,2,3年級計算題目的結果輸入到out.txt,之前我們已經完成了1,2年級的出題器,這次主要是初步完成三年級的出題器.

  • ...

2. 實現方案

技術關鍵點
1為了確保輸出的兩數之和小于100,兩數之差大于0,除數不為0,需要設計一些算法
2當兩數相減出現負數的時候把兩數交換位置避免出現負數,優化了一年級的算術題
3小學三年級數學已經學會了四則運算的優先級規則

  • 準備工作:先在Github上創建倉庫,克隆到本地,完成后提交。
  • 技術關鍵點:要現在Eclipse先打出代碼然后把代碼輸入到out.txt文件后,要在cmd上運行檢測。在基礎的代碼上還要加入四則運算。

四、編碼

通過按照自己的設計方案來寫代碼,遇到不會的知識點就看小靜老師上學期的PPT與作業,上網百度了逆波蘭表達式的算法,將我們平常習慣用的中綴表達式改寫成后綴表達式來解決運算時的優先級問題

1. 調試日志

  • 運用逆波蘭公式的時候忘記加入優先級,導致只能按順序加減乘除,不會出現先乘除后加減的正確結果。

2. 關鍵代碼

private static void Reverse Polish Notation(String[] strArr){
String str = "+-/";
Stack stack = new Stack();
//遍歷數組中的每一個元素
for(String s : strArr){
if(!str.contains(s)){
//如果是數字,放入棧中
stack.push(s);
}else{
int a = Integer.valueOf(stack.pop());
int b = Integer.valueOf(stack.pop());
switch(s){
case "+" :
stack.push(String.valueOf(a+b));
break;
case "-" :
stack.push(String.valueOf(b-a));
break ;
case "" :
stack.push(String.valueOf(a*b));
break;
case "/" :
stack.push(String.valueOf(b/a));
break ;
}
}
}
System.out.println(stack.pop());

} 注:這段逆波蘭表達式是我百度學習到的,具體出棧入棧的邏輯還是沒法完全理解透徹,參考網址https://blog.csdn.net/Willard1314/article/details/71425553

3. 代碼規范

  • 方法名、參數名、成員變量、局部變量都統一使用 lowerCamelCase 風格,必須遵循駝峰形式。
  • 代碼中的命名均不能以下劃線或美元符號開始,也不能一下劃線或美元符號結束。
  • 類型與中括號緊挨相連來定義數組。
  • 代碼中命名只能用英文。

四、編碼

隨機生成數字數組與運算符數組,將數組輸出表達式后,上網查找關于逆波蘭表達式的算法將運算結果按照算法的優先級運算出來,并輸出到文本.在github網站上結對的時候,不知道是校園網的原因還是其他的原因,結隊伙伴的郵箱一直收不到搭檔邀請的鏈接,后來我發現可以copy link將邀請鏈接直接發給搭檔,在百度逆波蘭算法后,我們兩人仍然還是無法理解透徹,用的不是很好,后來在同學的幫忙講解下終于才完成了這一段的代碼編寫,屬實不容易啊,最后的四則運算輸出答案還在努力編寫中.

五、測試

六、總結

這一次的實驗是在第一次的基礎上提升,加入了四則運算與四則運算的優先級的問題,使得代碼量就大大的提升,代碼過程中遇到了許許多多的問題,截至到今天12點還是沒有完成代碼的輸出,后續會在GITHUB上繼續更新的.

轉載于:https://www.cnblogs.com/a211756221/p/9673291.html

總結

以上是生活随笔為你收集整理的结队作业,小学生3年级数学题出题器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。