四則運算生成式

2022-08-20 06:00:18 字數 4292 閱讀 7925

◾能夠自動生成四則運算練習題

◾可以定製題目數量

◾使用者可以選擇運算子

◾使用者設定最大數(如十以內、百以內等)

◾使用者選擇是否有括號、是否有小數

◾使用者選擇輸出方式(如輸出到檔案、印表機等)

◾最好能提供圖形使用者介面(根據自己能力選做,以完成上述功能為主)

◾能夠完成全部**工作,程式基本實現全部要求功能,並將**上傳至coding.net或者github**託管系統中(15分)

◾能夠對導航員在本次程式設計工作中起到的作用給出客觀評價,並完成500字以上的總結(5分)

◾能夠輔助駕駛員完成全部**工作,並且為關鍵函式選用合適的覆蓋標準設計測試用例,並編寫**進行單元自動測試(10分)

◾能夠根據上次作業的**檢查表對駕駛員的本次工作進行評價(5分)

◾能夠對本次工作完成500字以上的總結(5分)

詳情**請參照coding

package swing;

import static org.junit.assert.*;

import org.junit.before;

import org.junit.test;

public class outputtest ;

assertequals(1, new output().out(10, 10,a,1, 1, 1));

//assertarrayequals(true, new output().out(10, 10,a,1, 1, 1));

} private void assertarrayequals(int i, int out)

@test

public void testout1() ;

assertequals(1, new output().out(50, 10,a,1, 1, 1));

} @test

public void testout2() ;

assertequals(1, new output().out(10, 10,a,1, 1, 1));

//assertarrayequals(true, new output().out(10, 10,a,1, 1, 1));

} @test

public void testout3() ;

assertequals(1, new output().out(10, 10,a,1, 1, 1));

//assertarrayequals(true, new output().out(10, 10,a,1, 1, 1));

}}

重要性

級別檢查項

結果總計

命名重要

20命名規則是否與所採用的規範保持一致?y20

是否遵循了最小長度最多資訊原則?y重要

50has/can/is字首的函式是否返回布林型?n注釋

重要10

注釋是否較清晰且必要?n重要

10複雜的分支流程是否已經被注釋?n10

距離較遠的}是否已經被注釋?n10

非通用變數是否全部被注釋?n重要

50函式是否已經有文件注釋?(功能、輸入、返回及其他可選)n10

特殊用法是否被注釋?

n宣告、空白、縮排

20每行是否只宣告了乙個變數?(特別是那些可能出錯的型別)y重要

40變數是否已經在定義的同時初始化?y重要

40類屬性是否都執行了初始化?y20

**段落是否被合適地以空行分隔?y20

是否合理地使用了空格使程式更清晰?n20

**行長度是否在要求之內?y20

折行是否恰當?

y語句/功能分布/規模

20包含復合語句的{}是否成對出現並符合規範?y20

是否給單個的迴圈、條件語句也加了{}?y20

if/if-else/if-else if-else/do-while/switch-case語句的格式是否符合規範?y40

單個變數是否只做單個用途?y重要

20單行是否只有單個功能?(不要使用;進行多行合併)y重要

40單個函式是否執行了單個功能並與其命名相符?y20

操作符++和— —操作符的應用是否復合規範?y規模

重要20

單個函式不超過規定行數?n重要

100縮排層數是否不超過規定?y重要

100是否已經消除了所有警告?y重要

40常數變數是否宣告為final?n重要

80物件使用前是否進行了檢查?n重要

80區域性物件變數使用後是否被復位為null?n重要

70對陣列的訪問是否是安全的?(合法的index取值為[0, max_size-1])。y重要

20是否確認沒有同名變數區域性重複定義問題?y20

程式中是否只使用了簡單的表示式?y重要

20是否已經用()使操作符優先順序明確化?n重要

20所有判斷是否都使用了(常量==變數)的形式?n80

是否消除了流程懸掛?y重要

80是否每個if-else if-else語句都有最後乙個else以確保處理了全集?y重要

80是否每個switch-case語句都有最後乙個default以確保處理了全集?y80

for迴圈是否都使用了包含下限不包含上限的形式?(k=0; ky

重要40

xml標記書寫是否完整,字串的拼寫是否正確?y40

對於流操作**的異常捕獲是否有finally操作以關閉流物件?n20

退出**段時是否對臨時物件做了釋放處理?n重要

40對浮點數值的相等判斷是否是恰當的?(嚴禁使用==直接判斷)

y可靠性(函式)

重要60

入口物件是否都被進行了判斷不為空?n重要

60入口資料的合法範圍是否都被進行了判斷?(尤其是陣列)n重要

20是否對有異常丟擲的方法都執行了try...catch保護?y重要

80是否函式的所有分支都有返回值?n重要

50int的返回值是否合理?(負值為失敗,非負值成功)y20

對於反覆進行了int返回值判斷是否定義了函式來處理?n60

關鍵**是否做了捕獲異常處理?y重要

60是否確保函式返回corba物件的任何乙個屬性都不能為null?y重要

60是否對方法返回值物件做了null檢查,該返回值定義時是否被初始化?n重要

60是否對同步物件的遍歷訪問做了**同步?n重要

80是否確認在對map物件使用迭代遍歷過程中沒有做增減元素操作?n重要

60執行緒處理函式迴圈內部是否有異常捕獲處理,防止執行緒丟擲異常而退出?y20

原子操作**異常中斷,使用的相關外部變數是否恢復先前狀態?y重要

100函式對錯誤的處理是恰當的?

y可維護性

重要100

實現**中是否消除了直接常量?(用於計數起點的簡單常數例外)y20

是否消除了導致結構模糊的連續賦值?(如a= (b=d+c ))y20

是否每個return前都要有日誌記錄?n20

是否有冗餘判斷語句?(如:if (b) return true; else return false;)n20

是否把方法中的重複**抽象成私有函式?

n我的駕駛員是個老司機,他在進行**編寫的過程中有很多自己的新奇想法,而且動手能力強。在**編寫完成後,在括號的處理上有點小問題,雖然很小,但隊友任然很認真的去解決了它,但是人無完人,程式在編寫過程中,沒有進行模組化處理,而是所有功能都在乙個主函式裡實現,可能對其他人閱讀**帶來一定的麻煩。總體來說,我的隊友還是相當不錯的,在此點贊。

本次的程式實現的是隨機生成四則運算算式,並且使用者能進行自主地選擇運算子、小數整數、括號、設定最大數、及選擇輸出方式,上述功能大部分都已實現,即使是視覺化介面,我們在看了網路教程之後,也寫出了相應的程式,總體來說,這次的程式的完成度還是相當高的。但是人有美中不足的是,沒有對生成的算是進行判斷,比如隨機產生3-4或3/5這樣的算式,考慮到使用者為小學生,理應清除這樣的算式,但程式沒有實現這樣的功能,等待以後的修改吧。

這是我第一次體會兩個在一起討論程式,爭論乙個問題。讓我們對結對程式設計的概念有了進一步的了解和認識。合作過程中充滿愉快,讓原本枯燥的程式設計活動變得讓我們去享受那個過程。我們相互集思廣益,讓我們對要解決的問題更明確。相互督促、相互學習不斷的傳遞各自的經驗,讓我們對對方的優點和自己的不足有了新的認識。

稍微有點遺憾的是,我們沒有進行角色互換體驗,我實際操刀寫程式基本沒有,在接下來的團隊程式設計中,合作、理解、將是決定程式成功的關鍵所在,通過這次的體驗,也讓我能夠理解別人的想法,為我後面的團隊合作提供了寶貴經驗。

隨機生成四則運算

心得 在程式設計過程中遇到的最大的問題就是隨機數的產生問題。在c語言中函式rand 可以用來產生隨機數,但是它缺不是乙個真正的隨機數,需要用到srand 函式。所以我用srand unsigned time null 這段 來解決隨機數的產生問題。rand 的隨機範圍在0到32767之間。在乙個fo...

自動生成四則運算

軟體工程導論 作業要求 homework 11376 這個作業的目標 生成乙個自動生成四則運算的程式 學號3190704110 include int right 0 int wrong 0 void add else void minu else void mul else void di els...

四則運算自動生成

1 能夠自動生成四則運算練習題 2 可以定製題目數量 3 使用者可以選擇運算子 4 使用者設定最大數 如十以內 百以內等 5 使用者選擇是否有括號 是否有小數 6 使用者選擇輸出方式 codeblocks 姓名班級 位址 牛斌帥1605班 房旭1604班 在程式設計過程中我們也遇到了種種問題並進行解...