Re: [問題]計概91-27、95-12和96-16

看板Army-Sir作者 (北七)時間11年前 (2013/01/26 22:10), 編輯推噓10(11110)
留言22則, 12人參與, 最新討論串2/2 (看更多)
※ 引述《steven225 (留戀)》之銘言: : 91-27 : 假定要設計一個「學生選課資料庫」。經過分析後,得到實體關係圖( : Entity-Relationship Diagram)如下,如果將此實體關係圖轉換成資料庫的表格 : (Relation),且資料庫表格必須正規化(Normalization) : 到 3NF(Third Normal Form),請問會得到幾個資料庫表格? : Ans:3個 : 圖請見這裡 : http://meo22.wwlc.nthu.edu.tw/military/attach/test/91computer.html : 上面這題不知道從何下手... 我database沒有學很好,所以這題不保證我答的是對的:~ 三個表格分別是(有畫線的代表是primary key, 正確是要畫底線,不過我不會畫XD): 表格A -- 記錄所有學生 ____ 學生 姓名 表格B -- 記錄所有課程 ________ 課程代號 名稱 表格C -- 記錄學生修了哪些課,得了幾分 ____ ________ 學生 課程代號 分數 3NF應該就是說(by wikipedia) http://zh.wikipedia.org/wiki/%E7%AC%AC%E4%B8%89%E6%AD%A3%E8%A6%8F%E5%8C%96 1. 每個欄位都只能放一個值(1NF) (e.g. 一個學生沒有很多名字) 2. 不是primary key的欄位都跟primary key有關(2NF) (e.g. 課程名稱跟課程有關, 跟學生無關) 3. 不是primary key的欄位都"只"和primary key有關(3NF) (e.g. 分數跟課程名稱無關,所以他們不該放在同一個table) 上面那三個table顯然符合3NF,然後你應該找不到只用兩個table表示那張圖 又符合3NF的方法 : 95-12 : 一程式在電腦中執行共需140秒,其中乘法指令共花掉112秒,請問要將乘法指令速度提升 : 多少倍可使程式執行時間成為原來的四分之一? : 書上解法: : 140*3/4=105 : 112/(112-105)=16 : Ans:16倍 : 上面這題看不懂解法...... 上面是這個意思: 如果你要讓程式執行時間變成原本的四分之一,那你必須讓實行的時間減少 140*3/4=105秒 因為你只想動乘法的部分,所以花在乘法的時間必須減少105秒, 也就是你只能花112-105=7秒在乘法上面 如果你只花了7秒做乘法, 就加速了112/7=16倍 延伸閱讀: amdahl's law http://goo.gl/aYfk4 : 96-16 : 假設一CPU執行一個指令循環分成5個步驟,每個步驟分別需要10ns、 : 5ns、10ns、10ns、5ns時間,若使用管線(Pipelining)技術執行100個指令, : 則共需多少奈秒(ns)? : 書上解法: : 100*10+(10+5+10+10+5)=1040 : Ans:1040ns : 我有去爬之前版上PIPELINE的教學文,但是看不太懂, : 而上面這題的解法我也不太懂... : 希望有計概強者可以幫幫非本科的學生@@,感謝! 我覺得書上解法錯了耶XD,詳見下 如果要用pipeline做,每一個步驟就是要花最長的步驟的那個時間, 所以每個步驟要花10ns,假設五個步驟分別叫A,B,C,D,E, pipeline會把指令像下面這樣排 時間--------> 指令編號 1 A B C D E 2 A B C D E 3 A B C D E ... 所以在指令no.1花了五個步驟(50ns)跑完以後,接下來99個指令都只需要10ns, 答案就是50 + 10*99 = 1040 書上那樣算不但忽略了pipeline必須要讓每個步驟時間相同,指令no.1的 時間也多算了最後10ns,感覺怪怪的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.170.35 ※ 編輯: jimmycool 來自: 118.169.170.35 (01/26 22:18)

01/26 22:33, , 1F
感謝您!
01/26 22:33, 1F

01/27 00:04, , 2F
第二題數學小學程度好嗎!!!
01/27 00:04, 2F

01/27 00:21, , 3F
人家幫忙解題 樓上是在噓三小
01/27 00:21, 3F

01/27 00:26, , 4F
我怎麼不知道我小學時學過安德定理。
01/27 00:26, 4F

01/27 00:32, , 5F
感恩 又多學到一題
01/27 00:32, 5F

01/27 04:09, , 6F
所以你在說我幼稚園程度囉?
01/27 04:09, 6F

01/27 14:24, , 7F
二樓這麼厲害 不幫忙是在噓三小
01/27 14:24, 7F

01/27 14:34, , 8F
二樓小學念哪間?數學程度真的很好!!!
01/27 14:34, 8F

01/27 15:03, , 9F
二樓不幫忙解題就不要說那些有的沒的 無聊
01/27 15:03, 9F

01/27 16:15, , 10F
第三題你得比較有道理 書上的真的怪怪的
01/27 16:15, 10F

01/27 18:40, , 11F
二樓自我感覺良好
01/27 18:40, 11F

01/27 23:07, , 12F
第三題 最後一個指令的最後一個步驟並不需要10ns 只需要5ns
01/27 23:07, 12F

01/27 23:09, , 13F
因為它不需要考慮有下一個指令 只需要他自己需要的時間才對
01/27 23:09, 13F

01/27 23:10, , 14F
樓上 不是看最後步驟 是看最久的步驟
01/27 23:10, 14F

01/27 23:12, , 15F
第99個指令跑完時 第100個指令還在D的一半=>要等10ns
01/27 23:12, 15F

01/27 23:13, , 16F
...等等 原PO似乎有自己改題目 我仔細看一下
01/27 23:13, 16F

01/27 23:14, , 17F
但我說的是第100個指令的E 他不需要等待上一個及考慮下一個
01/27 23:14, 17F

01/27 23:34, , 18F
這題我覺得答案有錯 應是1030ns
01/27 23:34, 18F

01/27 23:34, , 19F
原PO把兩格5ns的步驟改成10ns 所以答案變成1030+10=1040
01/27 23:34, 19F

01/27 23:46, , 20F
知道我哪裡錯了 clock cycle以最長為準(10ns) 總共需執
01/27 23:46, 20F

01/27 23:47, , 21F
行104個cycle 所以需要104*10 = 1040ns
01/27 23:47, 21F

01/28 00:19, , 22F
樓上真厲害!
01/28 00:19, 22F
文章代碼(AID): #1H0-FdsR (Army-Sir)
文章代碼(AID): #1H0-FdsR (Army-Sir)