107年 捷運招考 北捷新進人員 工程員(三)行車類組(資訊維修類) 應用系統程式設計 試卷

pdf
196.47 KB
5 頁
Administrator
侵權投訴
加載中. ..
PDF
臺北捷運公司 107 429 日新進工程員()(資訊類)
甄試試題-應用系統程式設計
1 頁,共 5
注意: 請務必填寫姓名:
1.以下題目應全部作答。 應考編號:
2.科目總分為 100 分。
3.作答時目,但請標明題號並請用藍(黑)原子筆橫向書寫。
題目:
一、 軟體系統開發要注重軟體品質議題,例 ISO 9126 規範的軟
功能性(Functionality)可維護性(Maintainability)使用性
(Usability)效率(Efficiency)、可靠性(Reliability)。系統分析
設計需要針對軟體品質設計系統,在程式碼撰寫更需要考
軟體品質。(共 20 分)
() 軟體品質特徵中,可維護性又可細分為修改性
(Changeability)、測試性(Testability)、穩定性(Stability)等子
特徵,效率又可細分為時間行為(Time behavior) 、資源利用
(Resource utilization)等子特徵可靠性又可細分為容錯性
(Fault tolerance)、回復性(Recoverability)等子特徵。請針對
上述效率與可靠性的四個子特徵說明之。(12 )
() 捷運公司要開發一個捷運旅客交通轉運查詢系統針對上
ISO 9126 軟體品質特徵請說明終端使用者比較在意哪
些軟體品質特徵系統開發管理者比較在意哪些軟體品質
特徵及其原因。(8 )
臺北捷運公司 107 429 日新進工程員()(資訊類)
甄試試題-應用系統程式設計
2 頁,共 5
二、某公司管理組織以樹狀結構表C#程式碼如下所示。員工
(Employee)包括管理者(Manager)開發人(Developer)(1)
Manager 有自己管理的團隊可以管理 Manager Developer(2)
Developer Manager 所管理 30 分)
() 請劃出程式碼中組織樹狀圖,並說明之:7)
abstract cla ss Employ ee {
public abstract void add(Employee employee);
public ab stract void r emove(Employ ee employee);
public abstract void myPrint();
publ ic v ir tual void setD ep(i nt d ep) { th is.de p = dep; }
public void print() {
Console.Wr iteLine(dep + ":" + N ame + " , Salary = " + Salary);
myPrint();
}
public String Name { get; set; }
public int Salary { get; set; }
protected int dep;
pri vate Str ing name ;
private int salary;
}
class Manag er: Employee {
public Manager(String name, int salary) {
Name = name;
Salary = salary;
setDep(1);
}
publ ic o verr ide void se tDep(i nt dep) {
this.dep = dep;
foreach (E mployee e mployee in employees) {
employee.setDep(this.dep + 1);
}
}
public override void add(Employ ee employee) {
employee.setDep(dep + 1);
employees.Add(employee);
}
public override voi d myPri nt() {
if (employees.Count>0) {
Console. W r iteLine("The manag ement team " + de p);
foreach (E mployee e mployee in employ ees) {
employee.print();
}
臺北捷運公司 107 429 日新進工程員()(資訊類)
甄試試題-應用系統程式設計
3 頁,共 5
Conso le. W r iteL ine(" The te am end " + de p);
}
}
public o verride void rem ove(Employee employ ee) {
employees.Remove(employee);
}
private L ist<Employee> e mployees = new L ist<Employee>();
}
class Devel oper: Employee {
public Developer(String name, int salary) {
Name = name;
Salary = salary;
setDep(1);
}
publ ic overr ide void my Print () { /*lea f node is no t applica ble* / }
public override void add(Employee employee) { /*leaf node is not applicable*/ }
public override void remove(Employee employee) { /*leaf node is not applicable*/ }
}
class Program {
static void Main(string[] args) {
Employee Tom = new Manager("Tom", 90000);
Employee Mary = new M anager("Mary", 80000);
Empl oye e Jo hn = new Mana ger( "Jo hn", 700 00);
Empl oye e Ke vin = new Deve lope r(" Kev in", 5000 0);
Employee Sam = new Developer("Sam" , 4000 0);
Empl oyee Bo b = new Deve loper(" Bob", 40000);
Mary.add(Kevin);
Mary.add(Sam);
John.add(Bob);
Tom.add(Mary);
Tom.add(John);
John.print();
Tom.print();
Console.Read();
}
}
() 請寫出上述程式碼的輸出。8分)
() 請畫出上述程式碼類別圖。15 分)
臺北捷運公司 107 429 日新進工程員()(資訊類)
甄試試題-應用系統程式設計
4 頁,共 5
三、假設資料庫包含以下四個關聯表綱(STUDENTCOURSE
CLASSGRADE_REPORT),其 STUDENT 關聯表記錄學生的
資料;COURSE 關聯表記錄系所開設的課程資料;CLASS 關聯
表記錄每學期課程的開班資訊GRADE_REPORT 關聯表則記錄
學生的修課成績。每個關聯表的主鍵,並以底線標示,例如
STUDENT 關聯表的主鍵 StudentId
STUDENT(StudentId, Name, YearOfEntrance, Major)
COURSE(CourseNo, CourseTitle, CreditHours, Department)
CLASS(ClassId, CourseNo, Semester, Year, Instructor)
GRADE_REPORT(StudentId, ClassId, Grade)
請用 SQL 語言撰寫下列的查詢(queries):( 30 分)
() 列出資工系學生(Major=&apos;CSIE&apos;)的學號StudentId)與姓名
Name,並根據學號(StudentId)順序由小而大排序。(7 )
() 出講師「李大偉」(Instructor=&apos;李大偉&apos;)2016 2017 年所
教授的課程資訊,包含課程編號CourseNo)和課程名稱
(CourseTitle)假設 CLASS.Year 的資料型態為 CHAR(4)(8 )
() 列出學生「張小華」所修過之課程名稱、該課程之開設學期
(Semester)和年份(Year),以及其獲得的成績(Grade)(8 )
臺北捷運公司 107 429 日新進工程員()(資訊類)
甄試試題-應用系統程式設計
5 頁,共 5
() 出至少有一門課程的成績低於 60 分的學生列出該學生的
學號與姓名。(7 )
四、假設幣值制面額分別是 28 元、21 元、1元,請用最少的錢幣個
數兌換 74 元。可使用貪婪演算法(Greedy Algorithm 動態程式
規劃(Dynamic Program)兩種演算法解決 20 分)
() 請說明兩種演算法的概念與優缺點,以及解答10 分)
() 請寫出兩種演算法核心程式。10 分)
收藏 ⬇️ 下載