第1題
乘坐轎車時,如果由主人親自駕駛,按照乘車禮儀,首位應為 1. 後排右側 2. 前座右側 3. 後排左側 4. 後排中間。
答案:(2) 前座右側
民國107年 第2梯次 11901 電腦軟體設計(JAVA)乙級 學科歷屆試題與答案,共 80 題可線上瀏覽,適合查詢考古題、題庫與解答。
乘坐轎車時,如果由主人親自駕駛,按照乘車禮儀,首位應為 1. 後排右側 2. 前座右側 3. 後排左側 4. 後排中間。
答案:(2) 前座右側
「酸雨」定義為雨水酸鹼值達多少以下時稱之? 1. 5.0 2. 6.0 3. 7.0 4. 8.0。
答案:(1) 5.0
針對程式語言陣列的描述,下述何者正確? 1. 程式設計師必須使用指標技術設計 2. 陣列索引一定從1 開始 3. 必須儲存相同資料型態 4. 可以任意改變陣列空間長度。
答案:(3) 必須儲存相同資料型態
解析:陣列是同質(homogeneous)資料結構,同一陣列內所有元素必須為相同資料型態,故 3 正確。選項 1 錯:高階語言多以索引存取元素,不必自行運用指標技術;選項 2 錯:Java 陣列索引從 0 開始,並非一定從 1;選項 4 錯:靜態陣列宣告後長度固定,不能任意改變空間長度,需另行建立新陣列。
若資料由小到大排序,則下列有關排序演算法之敘述,何者是錯誤? 1. 若資料為反序輸入,Insert ion Sort 會產生Worst Case 2. 若資料為依序輸入,Qu ick Sort 會產生Worst Case 3. 若資料為反序輸入,Quick Sort 會產生Worst Case 4. 若資料為依序輸入,Insertion Sort 會產生Worst Case。
答案:(4) 若資料為依序輸入,Insertion Sort 會產生Worst Case
解析:Insertion Sort 在資料已依序(近乎有序)時比較與搬移次數最少,屬最佳狀況 O(n),故「依序輸入產生 worst case」是錯誤敘述,答案 4。選項 1 對:反序時每個元素皆需逐格移至最前端,為 worst case O(n²);選項 2、3 對:Quick Sort 若固定取首或尾為基準,已排序或反序都會使分割極度不平衡,皆為 worst case O(n²)。
某二元樹(Binary Tree)之中序走訪(Inorder Traversal)為GDBAEHCIFJ,而前序走訪(Preo rder Trav ersal)為ABDGCEHFIJ,對於該二元樹之性質,下列敘述何者是正確的? 1. 分支度為1 之節點共有 3 個 2. 分支度為2 之節點共有4 個 3. 葉節點(Leaf Node)共5 個 4. 二元樹共有5 層。
答案:(1) 分支度為1 之節點共有 3 個
解析:由前序 A 為根,中序分割得左 GDB、右 EHCIFJ。重建:A 左=B,B 左=D,D 左=G;A 右=C,C 左=E、E 右=H,C 右=F、F 左=I、F 右=J。分支度 1 之節點為 D、B、E 共 3 個(選項 1 對)。分支度 2 者為 A、C、F 共 3 個(選項 2 誤為 4);葉節點 G、H、I、J 共 4 個(選項 3 誤為 5);樹高為 4 層(選項 4 誤為 5)。
在關聯式資料庫中,下列何者不一定是一種關聯表? 1. 基底關聯表(Base Relations) 2. 觀點(Views) 3. 查詢結果(Query Result) 4. 關係類型(Relationship Types)。
答案:(4) 關係類型(Relationship Types)
解析:關聯式資料庫中,基底關聯表、檢視表(View,由查詢定義的虛擬關聯)、查詢結果皆具有欄位與元組的表結構,皆屬關聯。而「關係類型(Relationship Types)」是 ER 模型或資料綱要中描述實體間如何關聯的「型態/定義」,屬於 metadata 層級的規格,本身不是一張可查詢的關聯表,故答案 4。
下列何者是農田土壤受重金屬污染後最普遍使用之整治方法? 1. 全面挖除被污染土壤,搬到他處處理除污完畢再運回 2. 以機械將表層污染土壤與下層未受污染土壤上下充分混合 3. 藉由萃取劑淋溶、洗出等作用帶走或稀釋 4. 以植生萃取。
答案:(2) 以機械將表層污染土壤與下層未受污染土壤上下充分混合
解析:農田重金屬污染整治方法中,以機械將表層污染土壤與下層未受污染土壤上下充分混合,使污染物經稀釋後濃度低於管制標準,此翻土稀釋法施工簡單、成本低,為農地最普遍採行之整治方式,故答案 2。選項 1 全面挖除費用高昂;選項 3 化學淋洗會產生廢液須處理;選項 4 植生萃取期程過長,皆非最普遍。
儲存由最近完全備份或遞增備份後的所有修改之檔案,屬於下列何種備份? 1. 完全備份 2. 遞增備份 3. 差異備份 4. 隨機備份。
答案:(3) 差異備份
解析:差異備份(Differential Backup)每次備份的是「自最近一次完全備份以來」所有被修改的檔案,還原時只需最新一份完全備份加上最後一份差異備份即可。遞增備份(Incremental)則是備份自上次備份(不論完全或遞增)後變動的資料,還原時必須依序套用完整備份及其後每一份遞增備份。完全備份每次都複製全部資料;隨機備份並非標準的備份類型。故本題為差異備份。
若一個Java 類別使用一個介面(In terface),它必須使用以下那一個關鍵字? 1. ex tends 2. inh erits 3. s uper 4. implements。
答案:(4) implements
解析:在 Java 中,類別要實作(使用)介面,必須使用 implements 關鍵字,語法如 class A implements B { }。選項 1 extends 用於類別繼承類別,或介面繼承介面;選項 2 inherits 並非 Java 關鍵字;選項 3 super 用於在子類別中呼叫父類別的建構式或方法。故實作介面正確關鍵字為 implements,答案 4。
假設Red -black Tree 中有n 筆資料,自Roo t 至Leaf 最近的距離,下列何者正確? 1. 2. 3. 4. 。
依序將33,18,40,25 存入7 個Bucket(單一Slot,位址編號為0 至6),若以重雜湊(Rehashing)來 處理溢位情形,雜湊函數如下,則下列敘述何者正確? 1. 位址3 中存放25 2. 位址4 中存放33 3. 位址5 中存放18 4. 位址6 中存放40。
答案:(4) 位址6 中存放40
解析:以雜湊函數 h(k)=k mod 7 計算:33 mod 7=5,存入位址5;18 mod 7=4,存入位址4;40 mod 7=5,但位址5已被33佔用而發生溢位,重雜湊改試 (40+1) mod 7=6,因此位址6存放40;25 mod 7=4,位址4已被18佔用,重雜湊得5也被33佔用,再重雜湊得6也被40佔用,最後落到位址0。所以位址6確實放40,位址5放33、位址4放18、位址0放25,其餘選項的位址對應皆不符。
下列何者非屬於人員接觸之電氣性危害的原因? 1. 接觸到常態下帶電體 2. 接觸到絕緣破壞之導電體 3. 接近在高電壓電線範圍內 4. 接觸到24 伏特電壓。
答案:(4) 接觸到24 伏特電壓
有關電子郵件的相關敘述,下列何者為正確? 1. 內收郵件伺服器與外送郵件伺服器,其主機名稱不一定要相同 2. SMTP 是郵件伺服器上之一種協定,主要是將郵件伺服器上所有信件一次下載到自己的電腦上 3. POP3 是郵件伺服器上之一種協定,主要是在發送信件 4. 在OSI 通訊協定中,交談層 (Session Layer)提供電子郵件的服務。
答案:(1) 內收郵件伺服器與外送郵件伺服器,其主機名稱不一定要相同
解析:收信(內收)與寄信(外送)是兩種不同服務,實務上常由不同主機提供,例如內收用 POP3/IMAP 伺服器、外送用 SMTP 伺服器,主機名稱不一定要相同,故選項1正確。SMTP 負責「寄送」郵件,並非把伺服器上所有信件一次下載到本機;把信件下載到用戶端是 POP3 的主要功能,因此選項2、3 都把兩者角色說反了。電子郵件屬於 OSI 應用層的服務,交談層只負責建立、管理與結束會談,並不提供郵件服務,選項4亦錯。
下圖若以A 為起始點,針對下面之圖形(Graph),以拓撲排序法(Topological Ordering )將節點之排 序列出,下列之排列順序何者是錯誤的? 1. ABCD 2. ABDC 3. ADBC 4. ADCB。
答案:(4) ADCB
一Java 程式片段如下,執行後下列何者為其輸出? 1. A 2. B 3. 可編譯,無法執行 4. 無法編譯。
答案:(2) B
Enhanced-ER 比ER 多了些設計概念,下列何者不是其多出來的觀念? 1. 子類別(Subclass)與超類別(Super-class) 2. 一般化(Generalization)與特殊化(Specialization) 3. 弱實體型態(Weak Entity Typ e) 4. 分類(Category)。
答案:(3) 弱實體型態(Weak Entity Typ e)
解析:Enhanced-ER(EER)模型是在傳統 ER 模型上擴充而來,新增的概念包括子類別與超類別、一般化與特殊化、分類(Category)以及聚集(Aggregation)等,用來表達繼承與更複雜的語意,因此選項1、2、4 都是 EER 多出來的概念。相對地,弱實體型態在傳統 ER 模型中就已存在,用以描述本身沒有足夠鍵值屬性、必須依附於擁有者實體才能唯一識別的實體,並非 EER 新增,故選項3為本題答案。
對於職業災害之受領補償規定,下列敘述何者正確? 1. 受領補償權,自得受領之日起,因2 年間不行使而消滅 2. 勞工若離職將喪失受領補償 3. 勞工得將受領補償權讓與、抵銷、扣押或擔保 4. 須視雇主確有過失責任,勞工方具有受領補償權。
答案:(1) 受領補償權,自得受領之日起,因2 年間不行使而消滅
若要對一組訊息AAABCDDDDEEE 做二進位數的編碼,且每個字元代碼為等長度,則此訊息編碼 後所需的最少位元是多少? 1. 20 2. 48 3. 15 4. 36。
答案:(4) 36
解析:訊息 AAABCDDDDEEE 共有 12 個字元,出現的字元種類為 A、B、C、D、E 共 5 種。等長編碼要能區分 5 種符號,每個字元代碼至少需 ⌈log2 5⌉ = 3 位元(2 位元只能表示 4 種,不足)。因此總位元數 = 12 × 3 = 36 位元。20 與15 都小於所需的 36 位元,無法為 12 個字元各分配 3 位元;48 則相當於每字元 4 位元,雖可編碼但不是最少位元,故選項4正確。
二手菸中包含多種危害人體的化學物質,甚至多種物質有致癌性,會危害到下列何者的健康? 1. 只對12 歲以下孩童有影響 2. 只對孕婦比較有影響 3. 只有65 歲以上之民眾有影響 4. 全民皆有影響。
答案:(4) 全民皆有影響
公司經理因個人財務一時周轉困難而挪用公司資金,事後感到良心不安又自行補回所挪用之金 錢,是否構成犯罪? 1. 已返還即不構成任何犯罪 2. 構成刑法之業務侵占罪 3. 構成詐欺罪 4. 構成竊盜罪。
答案:(2) 構成刑法之業務侵占罪
有關TCP/IP 協定的敘述,下列那一項不正確? 1. 一部PC 只能有一個IP 位址 2. 是網際網路所採用的協定 3. 也可用於區域網路(LAN) 4. HTTP 是用TCP 來傳送資料。
答案:(1) 一部PC 只能有一個IP 位址
解析:一部 PC 可以同時擁有多個 IP 位址,例如安裝多張網路卡各配一個位址,或同一張網卡綁定多個 IP(含 IPv4 與 IPv6 並存),因此「只能有一個 IP 位址」的說法不正確,為本題應選項。TCP/IP 是網際網路採用的協定組合,也普遍用於區域網路,選項2、3 敘述正確。HTTP 屬於應用層協定,其可靠傳輸建立在 TCP 之上,選項4亦正確。本題問的是「不正確」者,故答案為1。
溫室氣體減量及管理法中所稱:一單位之排放額度相當於允許排放 1. 一公斤 2. 一立方米 3. 一公噸 4. 一公擔之二氧化碳當量。
答案:(3) 一公噸
一棵二元樹含有50 個節點,分支度為1 的節點數為21 個,則其分支度為2 的節點數有多少? 1. 10 2. 12 3. 14 4. 29。
答案:(3) 14
解析:二元樹的節點數關係為 n0 = n2 + 1,其中 n0 是分支度0(葉節點)個數、n2 是分支度2 的節點數。已知總節點 50、分支度1 的節點 n1 = 21,代入 50 = n0 + n1 + n2 = n0 + 21 + n2,得 n0 + n2 = 29;再以 n0 = n2 + 1 代入,得 (n2+1) + n2 = 29,即 2n2 = 28,n2 = 14。故分支度為2 的節點有 14 個,選項3正確;10、12、29 代入後都無法同時滿足節點總數與 n0 = n2 + 1 的關係。
下列那兩種備份方法可達到最快速備份產生時間? 1. 完整備份(Fu ll Backup)與差異備份(Different ial Backup) 2. 部分備份(Partial Backup)與遞增備份(Incremental Backup) 3. 完整備份與遞增備份 4. 遞增備份與差異備份。
答案:(3) 完整備份與遞增備份
解析:備份速度比較:完整備份耗時最長;差異備份需備份自上次完整備份以來所有變更資料,隨時間遞增;遞增備份僅備份自上次備份(完整或遞增)以來的變更,資料量最小、速度最快。組合策略中,「完整備份 + 遞增備份」的遞增備份耗時最短,產生備份時間最快。選項 1 差異備份較遞增備份慢;選項 2 部分備份非標準術語;選項 4 兩者皆為增量型,但缺乏完整備份無法獨立還原,且遞增備份單次最快。故選項 3 正確。
將1、2、3、4、5 依序插入空的AVL 樹後,再以中序追蹤(Inorder Traversal)的順序為何? 1. 1、2、 3、4、5 2. 1、3、5、4、2 3. 1、4、3、5、2 4. 5、4、3、2、1。
答案:(1) 1、2、 3、4、5
解析:依序插入 1、2、3 時,節點 1 的平衡因子變成 -2,需做一次 LL 型(向左)旋轉,使 2 成為根、1 與 3 分別為左右子。插入 4 後樹仍平衡;再插入 5 時,節點 3 的平衡因子達 -2,屬於 RR 型不平衡,對 3 做一次向左旋轉,4 升為該子樹根,3、5 為其左右子。最終結構為根 2、左子 1、右子 4,4 的左子 3、右子 5。中序追蹤的順序是左子樹、根、右子樹,因此依序輸出 1、2、3、4、5。選項 2、3、4 的順序都不符合二元搜尋樹中序追蹤會得到遞增序列的性質。
如果發現有同事,利用公司的財產做私人的事,我們應該要 1. 未經查證或勸阻立即向主管報告 2. 應該立即勸阻,告知他這是不對的行為 3. 不關我的事,我只要管好自己便可以 4. 應該告訴其他同事,讓大家來共同糾正與斥責他。
答案:(2) 應該立即勸阻,告知他這是不對的行為
有關TCP/IP 通訊協定的敘述,下列那一項是錯誤的? 1. TCP/IP 是網際網路的通訊協定 2. TCP 通訊協定相對於OSI 通訊協定中的第四層 3. TCP 是非連接(Connectionless)導向的協定 4. IP 是Intern et Protocol 的簡稱。
答案:(3) TCP 是非連接(Connectionless)導向的協定
解析:TCP/IP 為網際網路核心通訊協定(選項 1 正確)。TCP 位於 OSI 模型第 4 層(傳輸層),相當於 OSI 傳輸層(選項 2 正確)。IP 即 Internet Protocol(選項 4 正確)。錯誤的是選項 3:TCP 是「連線導向(connection-oriented)」協定,建立連線後才傳輸,並具備確認、排序與重送機制;「非連線(connectionless)」的其實是 IP(或 UDP)。故本題問「錯誤的敘述」,答案為選項 3。觀念重點:TCP 提供可靠、有序、連線導向傳輸;IP 僅負責定址與路由、非連線且不保證送達。
UML 在類別圖中何種關係有繼承的意思? 1. 一般化(Generalization) 2. 組合(Agg regation) 3. 合成(C omposition) 4. 相依(Dependency)。
答案:(1) 一般化(Generalization)
為減少日照所增加空調負載,下列何種處理方式是錯誤的? 1. 窗戶裝設窗簾或貼隔熱紙 2. 將窗戶或門開啟,讓屋內外空氣自然對流 3. 屋頂加裝隔熱材、高反射率塗料或噴水 4. 於屋頂進行薄層綠化。
答案:(2) 將窗戶或門開啟,讓屋內外空氣自然對流
對於排序演算法,下列敘述何者正確? 1. 不論資料的順序為何,快速入排序法(Qu ick)所需的比較次數總數皆會比泡沫排序(Bubb le Sort)所需的次數少 2. 若輸入n 筆資料已排序完成,利用堆積排序 (Heap So rt)只需O(n)的時間即可完成排序 3. 利用快速排序法(Quick Sort)將n 筆資料排序,在最壞的情況下需要O(n log n)時間 4. 利用合併排序法(Merge Sort)將n 筆資料排序,平均需要O(n log n)時間。
答案:(4) 利用合併排序法(Merge Sort)將n 筆資料排序,平均需要O(n log n)時間
解析:合併排序採用分割與合併策略,每一層合併需 O(n),共約 log n 層,平均與最壞情況皆為 O(n log n),故第 4 項正確。快速排序最壞情況(如資料已排序且固定取邊界元素為基準)會退化為 O(n²),並非 O(n log n)。堆積排序建立堆積需 O(n),但後續 n 次取出最大值每次調整堆積需 O(log n),即使輸入已排序仍為 O(n log n),不會降到 O(n)。快速排序在特定輸入下比較次數也可能多於泡沫排序,因此「不論資料順序皆較少」的說法不成立。
UML 類別圖中屬性的可視性(Visibility)對物件存取只限該類別本身,下列那一個正確? 1. Public 2. Private 3. Protected 4. Friend。
答案:(2) Private
下列那一種檔案配置(Allocation)方式需要檔案配置表 (File Allocation Table)? 1. Contiguous 2. Li nked 3. Indexed 4. Relocated。
答案:(2) Li nked
解析:連結配置(Linked Allocation)把檔案分散存放於不相鄰的磁碟區塊,每個區塊需記錄下一塊的位置。為避免逐塊讀取,實務上把這些指標集中存放在檔案配置表(File Allocation Table, FAT)中,目錄只需記錄檔案的起始區塊編號,再透過 FAT 串接整個檔案。連續配置(Contiguous)只需在目錄記錄起始位址與檔案長度,不需配置表;索引配置(Indexed)則為每個檔案建立索引區塊,存放各資料區塊的位置,也不用 FAT。Relocated 並非檔案配置方式。
下列何者可比較兩個Jav a 程式物件的內容是否一樣? 1. = 2. == 3. 定義equals method 比較內容 4. 定義equals method 比較變數名稱是否相同。
答案:(3) 定義equals method 比較內容
解析:在 Java 中,「=」是指派運算子,用來給變數設值;「==」比較的是兩個參考(記憶體位址)是否指向同一物件,而非比較內容。要比較兩個物件的「內容」是否相同,必須在類別中覆寫(override)equals 方法,於方法內逐一比對各欄位值。若 equals 只比較變數名稱是否相同,並無意義也非內容比較。故正確為「定義 equals method 比較內容」,選 3。
對於候選鍵(Candidate Key)的敘述,下列何者有誤? 1. 主鍵是從候選鍵中選出來的 2. 候選鍵的屬性子集具有唯一性 3. 任何一個關聯表一定會有二個以上的候選鍵 4. 候選鍵的屬性子集是滿足唯一性的最小屬性子集。
答案:(3) 任何一個關聯表一定會有二個以上的候選鍵
解析:候選鍵必須具備唯一性,且是最小的屬性集合,也就是移除其中任一屬性後就不再唯一,因此第 2、4 項敘述正確。主鍵是從多個候選鍵中挑選一個作為識別依據,第 1 項正確。每個關聯表至少會有一個候選鍵(至少能唯一識別每一列),但未必有兩個以上;若只有一個候選鍵,該鍵即直接成為主鍵,所以「一定會有二個以上」的說法有誤。故本題應選第 3 項。
UML 的限制可以使用OCL 說明,OCL 原文為以下那一個? 1. Open Constraint Language 2. Object Constraint Language 3. Object Communication Language 4. Open Communication Language。
答案:(2) Object Constraint Language
解析:OCL 全名為 Object Constraint Language(物件限制語言),是 OMG 在 UML 之後提出的正式規格語言,用來在模型上撰寫圖形難以表達的限制,例如類別的不變條件(invariant)、操作的前置條件(pre)與後置條件(post),以及衍伸規則。它屬於宣告式、無副作用的表達式語言,可直接附掛在 UML 模型元素上,補足類別圖無法精確描述語意的部分。Open Constraint Language 並非標準名稱;Communication 指物件之間的訊息傳遞,與限制描述無關。
下列那一種程式語言採用new 方式以建立陣列? 1. C 2. Fortran 3. Java 4. BASIC。
答案:(3) Java
解析:Java 的陣列屬於物件,必須以 new 運算子向堆積配置記憶體,例如 new int[5],宣告後長度固定並可透過 length 取得。C 語言沒有 new,通常以靜態宣告 int a[5] 或 malloc 動態配置。Fortran 以型別宣告或 allocate 配置陣列。BASIC 傳統上以 DIM 敘述宣告陣列。因此採用 new 建立陣列的程式語言是 Java。
在C++中,下列何者可用來支援物件導向設計之多型(Polymorphism)的觀念? 1. Virtual Function 2. Template Function 3. Multiple Inheritance 4. Exception Handling。
答案:(1) Virtual Function
解析:多型的核心是同一介面在執行時依實際物件型別呼叫對應的實作。C++ 以 virtual function 達成:基底類別宣告 virtual 函式,衍生類別覆寫後,透過基底類別的指標或參考呼叫時,會在執行期動態繫結到正確版本。Template function 屬於泛型程式設計,編譯期即決定型別,不是執行期多型。多重繼承解決的是介面與程式碼重用,並非多型機制。Exception Handling 是錯誤處理機制,與多型無關。
下列何者不屬於SQL 的指令? 1. Jo in 2. Select 3. Move 4. Group By。
答案:(3) Move
解析:SQL 的資料查詢與操作指令包括 SELECT(投影)、JOIN(關聯表結合)與 GROUP BY(分組彙總),三者都是標準 SQL 語法的一部分。MOVE 並非 SQL 的標準指令,關聯式資料庫中以游標逐列取值使用的是 FETCH,資料列搬移也不是 SQL 提供的語法。因此不屬於 SQL 指令的是 Move。
針對以下Java 程式片段,執行後x 值為何? 1. 102 2. 103 3. 258 4. 259。
答案:(3) 258
下列何種情形必須將類別宣告為抽象類別? 1. 該類別中有一個abstract method 2. 該類別繼承抽象類別 3. 該類別實行介面(Imp lement Interface)中所有方法 4. 該類別Override 父類別中的abstract me thod。
答案:(1) 該類別中有一個abstract method
解析:Java 規定:類別中只要含有抽象方法(abstract method,只有方法宣告而無方法實作),該類別就必須宣告為 abstract,否則編譯會失敗,因為抽象方法無法被實例化物件呼叫。反之,繼承抽象類別不一定得宣告為抽象:若子類別已實作父類別全部抽象方法,即可成為具體類別。同理,實作介面中所有方法後,類別可具體化;以 override 方式提供父類別抽象方法的實作後,該類別也可成為具體類別。故只有選項1成立。
安全帽承受巨大外力衝擊後,雖外觀良好,應採下列何種處理方式? 1. 廢棄 2. 繼續使用 3. 送修 4. 油漆保護。
答案:(1) 廢棄
在UML 類別圖(Class Diagram)中,下列何者代表某類物件參與另一類物件的關係次數限制,至少 為0、至多為1? 1. 1..0 2. 0..1 3. 0-1 4. 1-0。
答案:(2) 0..1
解析:UML 類別圖以多重性(multiplicity)標示參與關聯的物件個數,語法為「下限..上限」,中間用兩個點。0..1 表示該端可以是 0 個或 1 個物件,屬於選擇性(optional)的關聯;若寫成 1..*,則表示至少一個。選項 1「1..0」把上下限顛倒,不合法;選項 3、4 用連字號或顛倒順序,都不是 UML 規定的寫法。因此代表「至少 0、至多 1」的是 0..1。
在IEEE 830 標準所探討的軟體需求規格(SRS)中,下列何者不是欲達成可修改(Modifiab le)特性 所應做到的項目? 1. 文件有良好組織、目錄、索引 2. 文件以Word 等文書編輯軟體建立 3. 需求在文件中沒有重複 4. 需求個別表達,沒有混在一起。
答案:(2) 文件以Word 等文書編輯軟體建立
解析:IEEE 830 對 SRS 可修改性(Modifiable)的要求著重於文件本身容易定位與增刪需求:文件要有良好組織、目錄與索引;需求不可重複描述,以免修改時漏改;每項需求要個別表達,不可把多件事混在同一條。使用 Word 或其他文書編輯軟體建立文件,只是工具與檔案格式的選擇,與內容是否易於修改無關,也不是標準所要求的項目,故本題選 2。
下列何者為非再生能源? 1. 地熱能 2. 核能 3. 太陽能 4. 水力能。
答案:(2) 核能
下列程式片段之計算時間,何者是正確? 1. θ(log n) 2. θ(n) 3. 4. θ(n log n)。
下列有關著作權行為之敘述,何者正確? 1. 觀看演唱會時,以手機拍攝並上傳網路自行觀賞,未侵害到著作權 2. 使用翻譯軟體將外文小說翻譯成中文,可保有該中文小說之著作權 3. 網路上的免費軟體,原則上未受著作權法保護 4. 僅複製他人著作中的幾頁,供自己閱讀,算是合理使用的範圍,不算侵權。
答案:(4) 僅複製他人著作中的幾頁,供自己閱讀,算是合理使用的範圍,不算侵權
假設二元樹之前序(Preorder)順序為A B C D E F G H,若該二元樹之右子樹根為F,則該二元樹 之左子樹節點個數,下列何者是正確的? 1. 1 2. 2 3. 3 4. 4。
答案:(4) 4
解析:前序順序的規則是「根→左子樹→右子樹」,因此第一個節點A就是樹根。題目指出右子樹的根為F,代表A之後、F之前的節點全部屬於左子樹,即B、C、D、E共4個;F、G、H則構成右子樹。若誤把右子樹根F也算進左子樹,會得到5個,但F已明確指定為右子樹的根,不能計入。
下列何者是造成臺灣雨水酸鹼(pH)值下降的主要原因? 1. 國外火山噴發 2. 工業排放廢氣 3. 森林減少 4. 降雨量減少。
答案:(2) 工業排放廢氣
下列何者不是Java 語言的關鍵字(Keywo rd)? 1. super 2. this 3. then 4. finally。
答案:(3) then
解析:Java 的保留關鍵字包含 super(呼叫父類別建構式或存取父類別成員)、this(指涉目前物件本身)與 finally(try-catch-finally 中保證執行的區塊),三者皆不可當作變數或方法名稱。Java 並沒有 if…then 的語法,條件式直接寫成 if (條件) { … },所以 then 不是關鍵字,只是一個普通識別字,開發者仍可拿來當變數名稱。
石綿最可能引起下列何種疾病? 1. 白指症 2. 心臟病 3. 間皮細胞瘤 4. 巴金森氏症。
答案:(3) 間皮細胞瘤
如果一個排序法對相同Key 的所有元素,經排序完成後保持與原先未排序前的順序相同,我們稱 此排序法為穩定(Stable)。下列那一種排序法不屬穩定的? 1. Insertion Sort 2. Merge Sort 3. Heap So rt 4. Bubble Sort。
答案:(3) Heap So rt
解析:穩定排序是指相同 key 的元素排序後仍保持原本的先後次序。Insertion Sort 只在相鄰元素嚴格大於時才後移,Bubble Sort 只在左大於右時才交換,Merge Sort 合併時相等則優先取左半部,三者都不會打亂同值元素的相對位置。Heap Sort 在建堆與反覆將根節點換到陣列尾端的過程中,會把相距很遠的元素互換,相同 key 的原始順序無法保留,因此不具穩定性。
若一Java 程式的 Recursive Method 沒有基本案例(Base Case),下述何者正確? 1. 程式將產生不正確結果 2. 產生編譯錯誤 3. 產生MissingBaseCaseException 4. 程式無法停止。
答案:(4) 程式無法停止
解析:遞迴方法必須有基本案例(Base Case)作為終止條件,讓遞迴在到達邊界時停止。若完全沒有基本案例,每次呼叫都會再呼叫自己,遞迴深度不斷增加,程式永遠不會結束,最後因堆疊空間耗盡而拋出StackOverflowError。Java編譯器只檢查語法,不會檢查這類邏輯錯誤,所以不會產生編譯錯誤;Java也沒有MissingBaseCaseException這種例外類別。
加入節點17 於下圖中的AVL Tree,下列敘述何者是正確? 1. 異動後之AVL Tree 其樹根為 10 2. 異動後之AVL Tree 其樹根為 11 3. 異動後之AVL Tree 其樹根為 12 4. 異動後之AVL Tree 其樹根為 13。
答案:(1) 異動後之AVL Tree 其樹根為 10
當公司內部進行軟體整合測試時,測試的團隊最好來自何種身分? 1. 原來的軟體設計者 2. 原來的軟體程式師 3. 原來的系統分析師 4. 另一群與此軟體無任何相關者。
答案:(4) 另一群與此軟體無任何相關者
解析:整合測試在驗證模組之間的介面、資料傳遞與呼叫順序是否符合設計。若由原設計者或原程式師執行,容易沿用自己撰寫時的假設,對介面規格的誤解產生盲點,而系統分析師也常帶有原始需求觀點。較理想的做法是由一群與該軟體開發無直接關聯的獨立測試人員,依規格文件客觀驗證,比較能找出跨模組的整合缺陷。
若X 進制的三個數字有下列關係存在 ,則x 為多少? 1. 3 2. 4 3. 5 4. 6 。
答案:(2) 4
國家溫室氣體長期減量目標為中華民國一百三十九年溫室氣體排放量降為中華民國九十四年溫室 氣體排放量百分之 1. 二十 2. 三十 3. 四十 4. 五十以下。
答案:(4) 五十以下
解析:依「溫室氣體減量及管理法」(後修正並更名為氣候變遷因應法)所定國家長期減量目標,是中華民國一百三十九年(2050 年)的溫室氣體排放量降為中華民國九十四年(2005 年)排放量的百分之五十以下。選項 1、2、3 所稱的百分之二十、三十、四十,都低於法定目標,只有「五十以下」符合規定,故選 4。
有關一般建議的Java 程式寫作風格,下述何者錯誤? 1. 程式寫作儘量做結構化縮排,以方便閱讀 2. 程式設計師寫作風格不標準,程式將無法編譯執行 3. 註解符號可以使用//...和/*...* / 4. 一個變數宣告使用一行比較好。
答案:(2) 程式設計師寫作風格不標準,程式將無法編譯執行
解析:Java 的寫作風格規範(結構化縮排、適當註解、一行只宣告一個變數)目的在提升可讀性與可維護性,屬於「建議」而非語法要求。編譯器只檢查語法與型別,風格不標準的程式照样可以編譯與執行,因此「寫作風格不標準,程式將無法編譯執行」是錯誤敘述。// 與 /* */ 都是合法註解,其餘三項敘述皆正確。
針對以下JAVA 程式,執行後下列何者為其輸出? 1. x =0 2. x =5 3. error 4. x =0 error。
答案:(3) error
有關物件導向程式設計(Object-oriented Programming)之敘述,下列何者錯誤? 1. 使用物件時需知道物件的資料結構 2. 物件可以被不同程式使用 3. 物件導向程式設計也是一種結構化設計 4. 物件含資料與方法。
答案:(1) 使用物件時需知道物件的資料結構
解析:物件導向程式設計的核心精神是封裝(Encapsulation),使用者透過物件提供的公開方法(介面)來操作物件,不需要也不應該知道物件內部的資料結構(如欄位如何儲存),否則就違反資訊隱藏原則。因此選項 1『使用物件時需知道物件的資料結構』是錯誤的。選項 2 正確,物件具重用性可被不同程式使用;選項 3 正確,物件導向可視為結構化程式設計的延伸;選項 4 正確,物件由屬性(資料)與方法組成。
有關物件導向語言繼承的敘述,以下何者正確? 1. C++有多重介面繼承 2. Java 有多重類別繼承 3. C 只有單一類別繼承 4. Java 有多重介面繼承。
答案:(4) Java 有多重介面繼承
解析:Java 語言為避免多重繼承造成的菱形繼承(diamond problem)歧義,不允許類別間的多重繼承,但允許一個類別同時實作(implements)多個介面(interface),即『多重介面繼承(實作)』,故選項 4 正確。選項 2 錯誤,Java 僅有單一類別繼承(extends 一個父類別);選項 3 錯誤,C 語言並非物件導向語言,根本不具備繼承機制;選項 1 表述不精確,C++ 支援的是多重類別繼承,而非以介面概念稱之。
下列有關物件導向的多型(Polymorphism) 觀念,何者是正確? 1. C++語言利用Overloading 達到靜態多面性(Static Polymorph ism) 的功能 2. 利用相同的操作,以相同的方式處理不同類別的資料 3. 利用不同的操作,以相同的方式處理不同類別的資料 4. 利用相同的操作,以不同的方式處理不同類別的資料。
答案:(1) C++語言利用Overloading 達到靜態多面性(Static Polymorph ism) 的功能、(4) 利用相同的操作,以不同的方式處理不同類別的資料
解析:多型的核心是同一操作或訊息作用在不同類別的物件上,會依物件實際型別產生不同的行為,故4正確。C++ 的 Overloading 是在編譯期依參數型別與個數決定呼叫哪個函式,屬於靜態多型,故1正確。選項3強調不同操作,與多型同一操作的前提不符。選項2以相同方式處理不同類別資料,等於行為完全一致,未呈現依型別而異的差異,故不選。
在UML 類別圖(Class Diagram)中,以下那些關係屬於兩個類別之間的結合關係(Association)? 1. A ggregation 2. Generalization 3. Specialization 4. Composition。
答案:(1) A ggregation、(4) Composition
解析:在 UML 類別圖中,結合關係(Association)描述兩個類別之間的連結,而聚合(Aggregation,選項 1)與組合(Composition,選項 4)都是 Association 的特殊化(強弱不同的關聯)。其中組合表示『部分不能脫離整體而存在』(強擁有),聚合表示『部分可獨立存在』(弱擁有)。選項 2 泛化(Generalization)是『is-a』的繼承關係,選項 3 特化(Specialization)為其反向,兩者均不屬於結合關係。故屬於 Association 者為 1 與 4。
下列程式語言其特性,哪些是屬於Functional Programming Language? 1. Prolog 2. LISP 3. Scheme 4. C++。
答案:(2) LISP、(3) Scheme
解析:函數式程式設計語言(Functional Programming Language)以數學函數為核心,強調不可變動資料與無副作用。LISP(選項 2)是歷史悠久的函數式語言代表;Scheme(選項 3)則是 LISP 的一支精簡方言,同屬函數式語言。選項 1 的 Prolog 屬於邏輯程式設計語言(Logic Programming),以規則與推論為主;選項 4 的 C++ 為命令式與物件導向為主的語言,雖然新版引進 lambda 等函數式特性,但本質分類不屬函數式語言。故正確為 2、3。
下列那些項目是BNF 格式文法描述中之基本元素? 1. 非終端符號(Non terminal Symbols) 2. 終端符號(Terminal Symbols) 3. 產生規則(Production Rule) 4. 語句(Sentence)。
答案:(1) 非終端符號(Non terminal Symbols)、(2) 終端符號(Terminal Symbols)、(3) 產生規則(Production Rule)
解析:BNF(Backus-Naur Form)用來描述程式語言的文法,其基本元素包含三項:非終端符號(Non-terminal Symbols,選項 1),如 <expr>,表示可由規則展開;終端符號(Terminal Symbols,選項 2),如運算子或關鍵字,為文法的最小單位不可再展開;產生規則(Production Rule,選項 3),以『::=' 表示符號間的取代關係。選項 4 的語句(Sentence)是由起始符號經規則推導出的終端符號字串(即合法的程式句子),它是推導的結果而非文法描述的基本元素。故答案為 1、2、3。
在Java 程式語言中,下列那些建立陣列的指令是錯誤的? 1. in t[] iarr = new in t[20]; 2. float farr = new float[20]; 3. Object oarr = new float[20]; 4. char carr =」Hello World」。
答案:(2) float farr = new float[20];、(4) char carr =」Hello World」
解析:Java 中陣列為參考型別,宣告時型別須為陣列(加 [])。選項 2『float farr = new float[20];』錯誤,因 new float[20] 產生的是 float[] 陣列物件,卻指派給單一 float 變數,型別不符;應寫為 float[] farr。選項 4『char carr = "Hello World";』錯誤,雙引號為 String 字串,不能指派給單一 char,且語法亦非陣列。選項 1『int[] iarr = new int[20];』語法正確;選項 3『Object oarr = new float[20];』正確,因陣列本身即為物件,可向上指派給 Object 參考。故錯誤指令為 2、4。
有一文字檔共有4 個符號,這些符號所對應的霍夫曼碼(Huffman Codes),那些長度不可能出現? 1. 2222 2. 3222 3. 3321 4. 3322。
答案:(2) 3222、(4) 3322
解析:霍夫曼碼建構於完整的二元樹上,每個內部節點皆有兩個子節點,因此所產生的前置碼必滿足 Kraft 不等式且總和恰為 1(∑2^(-l_i)=1)。以 4 個符號檢驗:選項 1『2222』總和=4×(1/4)=1,可行;選項 3『3321』總和=1/8+1/8+1/4+1/2=1,可行。選項 2『3222』總和=1/8+3×(1/4)=7/8<1;選項 4『3322』總和=2×(1/8)+2×(1/4)=3/4<1,二者均小於 1,代表樹非完整,不可能是霍夫曼碼。故不可能出現者為 2、4。
有關雜湊(Hashing)技術,下列那些正確? 1. 插入新資料時,最多只會產生一次碰撞 2. 如果存在有 欲搜尋的資料,則搜尋時產生的碰撞次數與該資料當初新插入時的碰撞次數相同 3. 欲刪除資料時,找到該筆資料所在位置,然後將其刪除即可 4. 可以插入重複資料。
答案:(2) 如果存在有 欲搜尋的資料,則搜尋時產生的碰撞次數與該資料當初新插入時的碰撞次數相同、(4) 可以插入重複資料
解析:雜湊插入可能發生多次碰撞(探測序列),選項1錯誤。搜尋路徑與插入時相同,碰撞次數一致,選項2正確。開放定址法刪除需標記「已刪除」而非直接移除,否則斷開探測鏈,選項3錯誤。雜湊表可依設計允許重複鍵值(如鏈結串列法),選項4正確。
有關Java 語言遞迴(Recursion)的敘述,下列那些正確? 1. 一般使用遞迴解決問題較使用迴圈解決問題,需要宣告更多的變數 2. 尾端遞迴(Tail- recursion) 經過適當編譯後的執行效率可以與迴圈相同 3. 所有的遞迴函式均可以迴圈改寫 4. 遞迴函式的執行需要用到堆疊(Stack)。
答案:(2) 尾端遞迴(Tail- recursion) 經過適當編譯後的執行效率可以與迴圈相同、(3) 所有的遞迴函式均可以迴圈改寫、(4) 遞迴函式的執行需要用到堆疊(Stack)
解析:遞迴每呼叫一次,就會在堆疊(Stack)上建立新的活動記錄,用來保存參數、區域變數與返回位址,所以第4項正確。尾端遞迴(Tail Recursion)的遞迴呼叫是最後一個動作,回傳後不需再做運算,編譯器可將其最佳化為跳躍指令,改成等效迴圈,執行效率與迴圈相當,第2項正確。理論上任何遞迴都可用迴圈加上自行維護的堆疊改寫,兩者等效,第3項正確。至於第1項,遞迴通常不必宣告迴圈計數器或累加變數,變數不見得比迴圈多,主要差別在堆疊空間與呼叫成本,故不選。
下列敘述那些為正確? 1. TCP 為無連接式(Connectionless) 協定 2. UDP 為無連接式協定 3. IP 為無連接式協定 4. 無連接式協定為不可靠傳輸(Unreliable Transmission)。
答案:(2) UDP 為無連接式協定、(3) IP 為無連接式協定
假設輸入資料有n 個,在最糟情形下,下列那些排序法的時間複雜度不是θ(nlogn)?此處n 為資 料個數 1. Insertion Sort 2. Shell Sort 3. Selection Sort 4. Radix Sort。
答案:(1) Insertion Sort、(2) Shell Sort、(3) Selection Sort、(4) Radix Sort
依序將12, 33, 19, 27 存入7 個bucket(單一slot,位址為0 至6),若以重雜湊(Rehashing)來處 理溢位情形,雜湊函數如下:第一個雜湊函數 f1 (key) = key mod 7, 第二個雜湊函數 f2 (key) = (f1 (key)*key) mod 7 ,第三個雜湊函數 f3 (key) = (f2 (key)*key) mod 7 ,則下列敘述那些是正確? 1. 共發生五次碰撞(Collision) 2. 第二個雜湊函數共使用三次 3. 第三個雜湊函數共使用二次 4. 位址 6 中存放19。
答案:(2) 第二個雜湊函數共使用三次、(4) 位址 6 中存放19
解析:依序插入並計算:12 代入 f1=12 mod 7=5,位址5空,存入5。33 的 f1=33 mod 7=5,碰撞,改用 f2=(5×33) mod 7=165 mod 7=4,存入4。19 的 f1=19 mod 7=5,碰撞,f2=(5×19) mod 7=95 mod 7=4 又碰撞,再用 f3=(4×19) mod 7=76 mod 7=6,存入6。27 的 f1=27 mod 7=6 碰撞,f2=(6×27) mod 7=162 mod 7=1,存入1。全程序共碰撞3次、f2使用3次、f3使用1次,位址6存放19,故第2、4項正確。
有關ER Model 中的弱實體型態(Weak Entity Type),以下的敘述那些為正確? 1. 弱實體必須依賴其他的實體才能存在 2. 弱實體本身可以單獨存在,也可以有單獨的鍵值屬性 3. 弱實體型態所產生表格的主要鍵(Primary Key)必定為複合屬性(Composite) 4. 弱實體不可以與其他弱實體有關係(Relati onship)的連結。
答案:(1) 弱實體必須依賴其他的實體才能存在、(3) 弱實體型態所產生表格的主要鍵(Primary Key)必定為複合屬性(Composite)
解析:弱實體型態(Weak Entity Type)沒有足夠的鍵值屬性可自我識別,必須依附在強實體(Owner Entity)上,透過識別關係(Identifying Relationship)才能存在,故第1項正確、第2項錯誤。它只有部分鍵(Partial Key),轉成資料表時,主鍵必須由「強實體的主鍵」加上「弱實體的部分鍵」共同組成,因此必然是複合鍵(Composite Key),第3項正確。ER 模型中並未限制弱實體不能與其他實體(含其他弱實體)建立關係,第4項錯誤。
有關於UML 類別圖(Class Diagram),下列那些敘述是正確的? 1. 實作關係(Realization )是具體類別 (Concrete Class)和抽像類別(Abstract Class)之間的關係 2. 一般化關係(Generalization)是父類別(Su per Class)與子類別(Sub Class)之間的關係 3. 類別間的聚合關係(Aggregation)比組合關係(Composi tion)更強 4. 兩類別的連結關係(Association),代表兩類別的物件會有訊息傳遞(Message Passing)。
答案:(2) 一般化關係(Generalization)是父類別(Su per Class)與子類別(Sub Class)之間的關係、(4) 兩類別的連結關係(Association),代表兩類別的物件會有訊息傳遞(Message Passing)
解析:一般化關係(Generalization)描述父類別(Super Class)與子類別(Sub Class)間的繼承,子類別承襲父類別的屬性與操作,第2項正確。連結關係(Association)表示兩個類別的物件之間有連結,物件可透過該連結互相傳遞訊息(Message Passing),第4項正確。實作關係(Realization)是類別與介面(Interface)之間的關係,由類別實作介面所定義的操作,並非具體類別與抽象類別之間,第1項錯誤。組合(Composition)是強聚合,部分物件會隨整體物件消失,其耦合程度比聚合(Aggregation)更強,第3項敘述顛倒。
關於SQL 語法的使用,以下那些敘述是正確的? 1. DISTINCT 可以用來移除查詢結果中的重複值組 (Tuple) 2. EXISTS 可以用來找出存在的值組資料數目 3. LIKE 可以用來查詢比對某個字串的一部分 4. 要比較屬性是否為NULL 值,必須用IS 關鍵字,不可用等號(=)。
答案:(1) DISTINCT 可以用來移除查詢結果中的重複值組 (Tuple)、(3) LIKE 可以用來查詢比對某個字串的一部分、(4) 要比較屬性是否為NULL 值,必須用IS 關鍵字,不可用等號(=)
解析:DISTINCT 會移除查詢結果中完全相同的值組,第1項正確。LIKE 搭配萬用字元 %(任意長度字串)與 _(任一字元)可做部分字串比對,第3項正確。NULL 代表未知值,任何與 NULL 用等號或不等號比較的結果都是 UNKNOWN,必須使用 IS NULL 或 IS NOT NULL 判斷,第4項正確。EXISTS 只是布林述詞,用來判斷子查詢是否傳回任何資料列,並不會傳回資料筆數,若要計數須使用 COUNT,故第2項錯誤。
下列那些密碼較可能被字典攻擊(Dictionary Attack)手法的危害? 1. milestone 2. egnaro 3. apple 4. e eelbyte。
答案:(1) milestone、(2) egnaro、(3) apple
下列敘述那些為錯誤? 1. 記號環 (Token ring)網路屬於輪流存取協定(Tak ing-tu rns Protocol) 2. CS MA/CD 屬於輪流存取協定 3. CDMA 屬於隨機存取協定(Random Access Protoco l) 4. ALOHA 屬於通道分割協定(Channel Partitioning Protocol)。
答案:(2) CS MA/CD 屬於輪流存取協定、(3) CDMA 屬於隨機存取協定(Random Access Protoco l)、(4) ALOHA 屬於通道分割協定(Channel Partitioning Protocol)
解析:記號環網路以權杖(Token)依序在各節點間傳遞,只有持有權杖者才能傳送,屬於輪流存取(taking turns)協定,因此敘述1正確。CSMA/CD 讓各站競爭通道,發生碰撞後隨機等待再重傳,屬於隨機存取協定,因此敘述2有誤。CDMA 以展頻碼區分不同使用者,屬於通道分割(channel partitioning)協定,因此敘述3有誤。ALOHA 是典型的隨機存取協定,因此敘述4有誤。故錯誤者為 2、3、4。
設有一張Bitmap 全彩影像,大小為800*600,每個像素以24 位元表示,欲透過10 Mbps 的網路傳 輸,下列那些正確? 1. 網路傳輸速度每分鐘為600M 位元組(By tes) 2. 網路傳輸速度每小時為4.5G 位元組(Bytes) 3. 整張影像大小不超過1.44 M 位元組(Bytes) 4. 傳輸時間不超過2 秒。
答案:(2) 網路傳輸速度每小時為4.5G 位元組(Bytes)、(3) 整張影像大小不超過1.44 M 位元組(Bytes)、(4) 傳輸時間不超過2 秒
解析:影像總位元數=800×600×24=11,520,000 bits,換算成位元組為 11,520,000÷8=1,440,000 Bytes=1.44 MB,因此敘述3正確。以 10 Mbps 傳輸所需時間=11,520,000÷10,000,000≈1.152 秒,未超過 2 秒,因此敘述4正確。每小時傳輸量=10 Mbps×3600 秒=36,000 Mbit=4,500 MB=4.5 GB,因此敘述2正確;每分鐘則為 600 Mbit=75 MB,故敘述1所稱 600 MB 有誤。故選 2、3、4。
下列那些Java 語言指令敘述,其修飾子的使用是不合法的? 1. abstract double d ; 2. friend class Ba se { /** **/} 3. pub lic transient void b Method() { /** **/} 4. class MyClass extends WindowAdapter implements WindowListener { /** **/}。
答案:(1) abstract double d ;、(2) friend class Ba se { /** **/}、(3) pub lic transient void b Method() { /** **/}
解析:abstract 只能修飾類別與方法,不能修飾資料欄位,故 abstract double d 不合法。friend 是 C++ 的關鍵字,Java 並沒有此修飾子,故不合法。transient 用於欄位,表示序列化時忽略該欄位,不能修飾方法,故 public transient void 不合法。繼承 WindowAdapter 同時 implements WindowListener 是合法的,因為 WindowAdapter 已實作該介面,重複宣告僅屬多餘,並不違法,故4不選。
關聯式資料庫表格的特性,以下那些是正確的描述? 1. 屬性值可以為複合值(Composite) 2. 任兩筆資料值組(Tuple)不可以重複 3. 值組之間並沒有順序性 4. 屬性值可以為多值(Multi-valued)。
答案:(2) 任兩筆資料值組(Tuple)不可以重複、(3) 值組之間並沒有順序性
解析:關聯式模型要求每個屬性值都是不可再分割的原子值(atomic),因此不得為複合值或多值,敘述1、4錯誤,這正是第一正規化(1NF)的要求。表格可視為值組(Tuple)的集合,集合元素不重複,因此任兩筆值組不得完全相同,敘述2正確;集合本身沒有次序,值組之間也無先後順序,敘述3正確。故選 2、3。
請問下列那些SQL 指令的操作可能會變更到資料庫狀態? 1. INSERT INTO VALUES 2. DELETE FR OM WHERE 3. UPDATE SET WHERE 4. SELECT FROM WHERE。
答案:(1) INSERT INTO VALUES、(2) DELETE FR OM WHERE、(3) UPDATE SET WHERE
解析:INSERT 新增資料列、DELETE 刪除資料列、UPDATE 修改欄位值,三者都屬於 SQL 的資料異動指令(DML),執行後會實際改變資料表的內容,使資料庫狀態改變。SELECT 只依 WHERE 條件讀取資料並傳回結果集,不會寫入或修改任何資料列,屬於查詢指令,資料庫狀態維持不變。因此可能變更資料庫狀態者為 1、2、3。