所屬科目:程式設計
(一)
(二)
(三)
三、請使用 C, C++, Java 或 Python 程式語言撰寫採用五位數整數來進行資料加密的完整程式。1.撰寫加密函數 encrypt(),此函數可將所傳入的五位數整數進行加密,並將加密後的密碼傳回。加密的規則如下: 先將該五位數整數的每位數值分別以「加 5 後除以 10 之餘數」取代。 再將取代後之數字的第一位數與第五位數互換,第二位數與第四位數互換,第三位數不變後取得一個新整數,此即為加密後的密碼。 (註:第一位數為萬分位、第二位數為千分位,以此類推。)2.撰寫解密函數 decipher(),此函數可將所傳入的五位數密碼進行解密,並將解密後的整數傳回。解密的規則是將上述加密後之密碼還原為原傳入的整數。3.撰寫主程式來驗證上述之加密與解密函數的正確性。程式一開始先讓使用者輸入任一之五位數整數[不在合理範圍內(10000~99999)須請使用者重新輸入],在呼叫加密函數後將所傳回之密碼從螢幕上顯示出;再將該密碼傳入解密函數,再將所傳回之整數從螢幕上顯示出。程式須可讓使用者持續輸入五位數之整數,直到使用者輸入 0(整數)時結束程式的執行。以下為程式執行的範例: (備註:斜體加外框線之整數為使用者所輸入,其餘皆為程式執行的輸出。)請輸入一個五位數的整數(輸入 0 結束程式):1234所輸入的數值並不是五位數之整數請重新輸入:12345加密後的密碼為:09876解密後的密碼為:12345請輸入一個五位數的整數(輸入 0 結束程式):67890加密後的密碼為:54321解密後的密碼為:67890請輸入一個五位數的整數(輸入 0 結束程式):0感謝使用此程式,歡迎您對此程式的優化提出建議。
四、抽象(abstract)類別、介面(interface) 、覆寫(override)方法、多載(overload) 方法是物件導向程式設計實現多型(polymorphism)的方式。下圖是人 事系統中人員基本資料維護的類別圖,請說明類別圖中的覆寫方法及多 載方法名稱(須說明理由) ,並使用 C++, Java 或 Python 程式語言撰寫 Person 類別與 Police 類別的程式碼。Police 類別之 GetPersonalInformation 函數必須傳回身分證(id_no) 、姓名(name) 、職稱(rank) ,UpdateRoleTitle 函數必須完整實作更新 police_rank。