作者jimmycool (北七)
看板Army-Sir
标题Re: [问题]计概91-27、95-12和96-16
时间Sat Jan 26 22:10:44 2013
※ 引述《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)
1F:推 steven225:感谢您! 01/26 22:33
2F:嘘 ilovewwe:第二题数学小学程度好吗!!! 01/27 00:04
3F:推 benblue:人家帮忙解题 楼上是在嘘三小 01/27 00:21
4F:→ steven225:我怎麽不知道我小学时学过安德定理。 01/27 00:26
5F:推 zx255024:感恩 又多学到一题 01/27 00:32
6F:推 ericcc:所以你在说我幼稚园程度罗? 01/27 04:09
7F:推 Editu:二楼这麽厉害 不帮忙是在嘘三小 01/27 14:24
8F:推 costansin:二楼小学念哪间?数学程度真的很好!!! 01/27 14:34
9F:推 xhosaroy:二楼不帮忙解题就不要说那些有的没的 无聊 01/27 15:03
10F:推 siriusu:第三题你得比较有道理 书上的真的怪怪的 01/27 16:15
11F:→ birdman41:二楼自我感觉良好 01/27 18:40
12F:→ wengmo:第三题 最後一个指令的最後一个步骤并不需要10ns 只需要5ns 01/27 23:07
13F:→ wengmo:因为它不需要考虑有下一个指令 只需要他自己需要的时间才对 01/27 23:09
14F:推 hardyuse:楼上 不是看最後步骤 是看最久的步骤 01/27 23:10
15F:→ hardyuse:第99个指令跑完时 第100个指令还在D的一半=>要等10ns 01/27 23:12
16F:→ hardyuse:...等等 原PO似乎有自己改题目 我仔细看一下 01/27 23:13
17F:→ wengmo:但我说的是第100个指令的E 他不需要等待上一个及考虑下一个 01/27 23:14
18F:→ hardyuse:这题我觉得答案有错 应是1030ns 01/27 23:34
19F:→ hardyuse:原PO把两格5ns的步骤改成10ns 所以答案变成1030+10=1040 01/27 23:34
20F:推 hardyuse:知道我哪里错了 clock cycle以最长为准(10ns) 总共需执 01/27 23:46
21F:→ hardyuse:行104个cycle 所以需要104*10 = 1040ns 01/27 23:47
22F:推 ilovewwe:楼上真厉害! 01/28 00:19