所屬科目:程式語言
一、針對以下 C 程式碼,請先說明執行該程式之輸出,以及程式中函式 left()、right() 之運作功能;並請說明在 testGen() 測試 left()、right() 過程中,有那幾行指令未被充分測試。 (25 分)
二、以下 Java 程式碼計算人類(Human)進行不同運動(Exercise)消耗的卡路里量。請完成統一塑模語言 UML 圖;並說明程式執行後的輸出,以及動態多型(Dynamic Polymorphism)指令所在之程式碼行數與其構成之原因。(25 分)
三、以下 Python 程式碼,可以解析下列 BNF 規則。請先寫出 BNF 規則中(25 分)(I) ~ (V);並說明程式執行後之輸出。
四、臺灣智慧金融公司設計一個關聯式資料庫(Relational database) ,內有兩個關聯(Relation) :工程師 Engineer[編號(整數、Primary key) 、姓名(字串) 、電話(字串) 、專長(字串)]、助理 Assistant[編號(整數、Primary key)、姓名(字串) 、薪水(整數)、工程師編號(Foreign key)]。 請寫出 SQL 指令,查詢出工程師編號小於等於 50 且其助理薪水大於 30000 的工程師姓名與專長,並造出工程師專長為「hack」相關之姓名與協助的助理姓名與電話的 View。另請說明何謂 View,以及使用 View 的 優點。(25 分)