高普考題庫
104 年 104年公務人員高等考試三級考試暨普通考試

程式語言

本卷皆為申論題,點「看答案與解析」查看擬答。

申論 1請就解譯方式(組譯、直譯、編譯)、程式結構(程序導向、物件導向)、標記文字(是、否)等特性,分類說明程式語言C, CSS, C#, HTML, Java, PHP, Python, SQL的特性。請繪製表格作答。(25 分)
申論 2請使用如下的BNF 語法規則(S 為起始符號):(20 分)S → NP VP | VPNP → ADJ NP | NVP → ADV VP | V NP | VN → 考 | 校 | 評鑑 | 成績V → 通過 | 獲得 | 成功 | 失敗Adj → 高 | 普 | 特 | 好 | 壞Adv → 一定 | 可能繪製⑴特校可能通過評鑑⑵普考一定獲得好高成績相關推導過程的Parse Tree。
申論 3假設現有如下兩張資料表用來存放考生個人訊息及其成績,考生個人訊息,包括代號(TesterID)、姓名(Name),成績(Grade)則有五種科目(1 中文、2 英文、3 數學、4 自然、5 社會)及成績的等級有三種(ABC 三種)。請使用SQL 回應如下的問題。(每小題5 分,共20 分)TesterGradeTesterIDTesterID (FK)SubjectIDName GradeDataSubject㈠請列出中文成績為A 所有考生的代號及姓名。㈡請列出各科不同成績等級的個數,個數使用別名numCount 來表示,如中文A5,中文B2, …。㈢加入資料TesterID 6 名為Oscar Lin 的考生資料及其成績(中文A, 英文A, 數學C, 自然B, 社會A)。㈣修改TesterID 5 考生的數學成績為A。104年公務人員高等考試三級考試試題 代號:26840類 科: 資訊處理科 目: 程式語言
申論 4請使用物件導向程式語言(C#或Java),設計一具門禁功能的智慧卡管理資訊系統。系統應依如下的class diagram 建立相關的類別資訊。(35 分)SmartCard-cardID: String-issueDate: String-issueOrg: Organization#getCardID(): String#getIssueDate(): String#getIssueOrg(): Organization#setCardID(String): void#setIssueDate(String): void#setIssueOrg(Organization): void+nowDateToString(): String+toString():StringSecuritySMsecurity -date: String-securityList: List -enterExit: EnterExit+SMsecurity() +Security()+SMsecurity(String, Organization) +Security(EnterExit)+getDate(): String+addInfo(EnterExit): void +getEnterExit(): EnterExit+addInfo(String, EnterExit):void +setData(EnterExit): void+addInfo(Security):void +setData(String, EnterExit): void+toString(): String +toString(): Stringz 所有的類別變數皆為private,SMsecurity 類別繼承自抽象類別SmartCardz 發卡單位Organization、進出入狀況EnterExit,請分別使用enum 的格式來表示z 記錄進出入狀況,日期資料若未提供,則填入目前系統的日期時間z 一張智慧卡,會有多次的進出入記錄,資料值應存放於List 線性資料結構中z 改寫系統的toString()方法後,執行如下的測試動作SMsecurity sms = new SMsecurity("SM001", Organization.NewTaipeiMRT);sms.addInfo("2015/06/15 18:36:01", EnterExit.Enter);sms.addInfo("2015/06/15 20:16:01", EnterExit.Exit);sms.addInfo("2015/06/20 18:20:01", EnterExit.Enter);sms.addInfo(EnterExit.Exit);/* for Java */ System.out.println(sms.toString());/* for C# */ Console.WriteLine(sms.ToString());應能產生類似如下的結果*****Smart card SM001 (6/21/2015 10:38:38 PM, NewTaipeiMRT)-----Enter and Exit information:(2015/06/15 18:36:01, Enter)(2015/06/15 20:16:01, Exit)(2015/06/20 18:20:01, Enter)(6/21/2015 10:38:38 PM, Exit)