天天看點

第三次作業:個人項目-國小四則運算 “軟體”之初版

作業要求來源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

一、題目要求:

像《建構之法》的人物阿超那樣,寫一個能自動生成國小四則運算題目的指令行 “軟體”。

具體要求:任何程式設計語言都可以,指令行程式接受一個數字輸入,然後輸出相應數目的四則運算題目和答案。例如輸入數字是 30, 那就輸出 30 道題目和答案。 運算式子必須至少有兩個運算符,運算數字是在 100 之内的正整數,答案不能是負數。 如:

23 - 3 * 4 = 11

擴充要求:

1) 要求能出和真分數 (二分之一, 十二分之五,等)相關的練習題。

2) 并且要求能處理使用者的輸入,并判斷對錯,打分統計。 要求能處理使用者輸入的真分數, 如 1/2, 5/12 等。

二、耗時統計表(/min):

PSP2.1 Personal Software Process Stages Time Senior Student Time
Planning 計劃 15 8
 Estimate 估計這個任務需要多少時間 180 240
Development 開發 60 50
Analysis 需求分析 (包括學習新技術) 10 12
Design Spec 生成設計文檔 20 21
Design Review 設計複審 18 35
Coding Standard 代碼規範 48
Design 具體設計 38 42
 Coding 具體編碼 52 120
Code Review 代碼複審 45 56
Test 測試(自我測試,修改代碼,送出修改) 36
Reporting 報告 33 26
測試報告 14 23
計算工作量
并提出過程改進計劃 30 32

三、部分代碼:

//讓使用者輸入想要出的題的數字的位數

System.out.println("當M=10時表示一位數的加減運算,M=100時表示兩位數的加減運算...請選擇");
int M=in.nextInt();
an.setM(M);
System.out.println("請輸入需要列印多少道題:");
int N=in.nextInt();
an.setN(N);
an.Showme();

      

 //輸出加減的運算題,并且輸出答案

class Jiajian extends Yunsuan

{
    public char o[]={'+','-'};
    public void Showme()
    {
        for(int i=0;i<N;i++)
        {
//             for(int j=0;j<10;j++)
//             {
            int a=(int)(Math.random()*M)+1;//随機數種子 *M+1,加一表示非0
            int b=(int)(Math.random()*M)+1;
            int c=(int)(Math.random()*2);
            System.out.print(a);
            System.out.print(o[c]);
            System.out.print(b+"="+(a+b));
//            }
            System.out.println();
        }
    }
}

      
class Chengchu extends Yunsuan
{
    public char p[]={'*','/'};
//    public char p_1='*';
    public void Showme()
    {
        for(int i=0;i<N;i++)
        {
//            for(int j=0;j<10;j++)
//            {
            int a=(int)(Math.random()*M)+1;
            int b=(int)(Math.random()*M)+1;
            int c=(int)(Math.random()*2);
            System.out.print(a);
            System.out.print(p[c]);
            if(p[c]=='*') {
                System.out.print(b + "=" + (a * b));
                System.out.println();
            }
            else {
                double d=a;
                double e=b;
                double g=d/e;
                double f=(double)Math.round(g*100)/100;
                System.out.print(b + "="+f );
                System.out.println();
            }
//            }
        }

    }
}
       

四、運作結果:

實作四則運算的出題和輸出答案,給使用者

第三次作業:個人項目-國小四則運算 “軟體”之初版
第三次作業:個人項目-國小四則運算 “軟體”之初版