104年 捷運招考 工程員(二) 一般類組(資訊類) 程式語言與資料結構 試卷

pdf
98.74 KB
4 頁
e24138
侵權投訴
加載中. ..
PDF
臺北捷運公司 104年1月24日新進工程員(二)(資訊類)
甄試試題-程式語言與資料結構
1 頁,共 4
注意: 請務必填寫姓名:
1.以下題目應全部作答。 應考編號:
2.科目總分為 100 分。
3.作答時不須抄題目但請標明題號並請用藍(黑)色原子筆橫向書寫。
題目:
一、 完成以下 C#程式,使執行之後的結果為:25 分)
Account frozen
Less zero
More than balance
50
public class LessZero: Exception {
public LessZero():base("Less zero") { }
}
public class MoreBalance : Exception {
public MoreBalance(): base("______________") { } //------------(1)
}
public class BankAccount {
private double m_balance;
private bool __________ = false; //-------------(2)
private BankAccount() { }
public BankAccount(double balance) { m_balance = balance; }
public double Balance { get { return m_balance; } }
public void Debit(double amount) {
if (m_frozen) { throw new Exception("Account frozen"); }
if (amount > m_balance) { throw _______________; } //------------(3)
if (amount _________) { throw new LessZero(); } //------------(4)
m_balance -= amount;
}
public void FreezeAccount() { m_frozen = true; }
}
class Program {
static void f1(BankAccount account, _________________) { //-----------(5)
try {
account.FreezeAccount();
account.Debit(amount);
}
catch (Exception e) { Console.WriteLine(e.Message); }
}
臺北捷運公司 104年1月24日新進工程員(二)(資訊類)
甄試試題-程式語言與資料結構
2 頁,共 4
static void f2(BankAccount account, double amount) {
try {
account.Debit(amount);
Console.WriteLine(account.Balance);
}
catch (LessZero e) { Console.WriteLine(e.Message); }
catch (MoreBalance e) { Console.WriteLine(e.Message); }
}
static void Main(string[] args) {
f1(new BankAccount(50.0), 5.0);
f2(new BankAccount(50.0), - 100.0);
f2(new BankAccount(50.0), 100.0);
Console.Read();
}
}
二、 資料庫在交易式資訊系統中幾乎是不可或缺的元件,請簡要
回答以下有關技術與特性(共 25 分)
() 請簡述關聯式資料庫relational database中,主primary
key、與外來鍵(foreign key)的意義。6分)
() 捷運員工管理系統需要設計一個關聯式資料庫,管理各捷
運站派駐的許多職員。資料庫包含三個表格(table,所設
計的綱要(schema)如下
職員
職員編號 職員姓名 捷運站編號 薪水
捷運站
捷運站編號 捷運站名稱 站長編號
有底線之屬性(attribute)為該表格之主鍵其中"站長編號"
該名站長的"職員編號"。請用 SQL Subquery 敘述
(statement)列出職員編號"A001"此職員的站長姓名10分)
() 請列舉 NO SQL 的三種特性。9分)
臺北捷運公司 104年1月24日新進工程員(二)(資訊類)
甄試試題-程式語言與資料結構
3 頁,共 4
三、 雲端計算(cloud computing)與巨量資料分析(big data analysis)
的應用越來越普及,請簡要回答以下有關的技術與特性。(共
25 分)
() 請列舉四個雲端計算的優點。8分)
() 請簡述巨量資料簡稱 4V 的四個特性。8分)
() 請列舉三項虛擬化(virtualization)技術。9分)
四、 請回答以下有關資料結構問題(共 25 分)
() 請問若一個演算法執行時間為 300 n + n log(n2) + 500 log(n)
其時間複雜度 Big-Oh 為何?(5分)
() 請問以下程式碼的時間複雜度 Big-Oh 為何?(5分)
int f1(int A[], int B[], int n) {
int i=0,j=0,k=0,c=0,sum=0;
for (i=1;ii++) {
sum=0;
for(j=1;j<n;j++) {
sum=sum+A[0];
for(k=1;k<=j;k++) {
sum=sum+A[k];
}
}
if (B[i]=sum) c=c+1;
}
return c;
}
() 使用深度優先搜尋(depth first search)以下二元樹(binary tree)
尋訪依序結果為何?(5分)
9
5 16
20
12
7
3
14
11 25
18
8
6
4
1
臺北捷運公司 104年1月24日新進工程員(二)(資訊類)
甄試試題-程式語言與資料結構
4 頁,共 4
() 針對一串數字 9, 6, 8, 12, 13, 2, 7, 21,建構二元搜尋樹
(binary search tr ee)5分)
() 雙串列(double link list)資料型態 DNode 定義如下,依序有
三個節點 prevNode, currentNode, nextNode 連在一起,已經
建立如下圖。若要刪除中間節點 currentNode,其虛擬碼程
式為何?(5分)
typedef struct node{
int data;
struct node *prev;
struct node *next;
} DNode;
DNode *prevNode, *currentNode, *nextNode;
prevNode currentNode nextNode
收藏 ⬇️ 下載