物件導向程式設計

 

 

1-5章綜合演練

 

 


授課教師:陳慶瀚

WWW : http://www.miat.ee.isu.edu.tw/cpp

E-mail : pierre@isu.edu.tw   

 

 

 

1.    寫一個程式,令使用者輸入一個正整數N,接著配置一個大小為N的整數陣列,讓使用者依序輸入N的數值,統計這N個數值中質數有幾個。

2. 使用Math.sin( )產生一個大小為500的double數陣列值,將此陣列正規化至[0,80],並轉存至同樣大小的整數陣列中,再輸出至螢幕。

3. 寫一個程式,讀進score1.txt資料表,其縱軸有27個學生,橫軸有4次考試成績,請計算27個學生的學期平均,並找出成績最高者,輸出其學號

4. 寫一個程式,讀進score2.txt資料檔的27筆資料,請統計0-9,10-19,20-29,......,91-99分之間的人數。輸出至statis.txt檔案中。

5. 設計一個具有完整代數運算的complex物件類別,它具有複數座標的real, ima兩個成員變數,

請設計add、substract、multiplication、division和conjugate等五個成員函式,其中

     multiplication : (a, b)-(c,d) = (ac-bd, ad-bc)

     division       : (a, b)/(c, d) = (ac +bd, ad+bc)/(c2+d2)

     conjugate      : conjugate(a, b) = (a,-b)

最後寫一個程式來測試這些函式。

提示:參考下列程式

// complex.java

import java.io.*;

public class complex
{
     float real;
     float ima;
     complex(float r, float i)
     {
          real=r;
          ima=i;
     }
     public void print()
     {
          System.out.print(real+"+"+ima+"i"+"\n");
     }
     public void add(complex c1)
     {
          real=real+c1.real;
          ima=ima+c1.ima;
     }       
}

// ex1.java for testing

public class ex1
{
     public static void main(String args[])
     {
         complex t1=new complex(5,4);
         complex t3=new complex(-1,8);                
         t1.print();

         t1.add(t2);
         t1.print();
     }
}

6. 設計一個繪圖物件類別rectangle,具有五個成員變數:

    (orix, oriy) : rectangle的左上角座標

    width : rectangle的寬度

    height : rectangle的高度

    mark : 一個用來繪製rectangle(文字模式)的字元

另外設計4個成員函式:

    prints() : 將rectangle以純文字模式繪製在視窗

    translation( int dx, int dy) : 平移rectangle

    scaling(float s) : 以s的比率縮放rectangle

    setMark(char m) : 設定rectangle繪製時所用的mark

最後寫一個程式來測試這些函式。


 

物件導向程式設計

義守大學電機系 陳慶瀚

2001.11.12