2010/11/11 Quiz 09:25 - 09:50 共25分鐘        學號:        姓名: *最好每題用 5 分鐘寫完!                  _____________ ______ 不可看任何資料!, 請依序作答, 本頁面不夠寫就寫到背面! 本 Quiz 是用來給期中考沒考好但夠認真(考完後有弄懂)的同學一個加分的機會 :-) 30%(I) Briefly answer the following questions. (不要寫太囉嗦!) 5%(a) Auto variables 會被安排在記憶體的何處? 答: 5%(b)中華民國01/01/01是西元 1912/01/01, 請問前一天在中國的西元是哪一天? 答: 5%(c) What is the purpose of static Global variable? Explain it with example. 答:  5%(d) 已知 x, y, k 都是 short 變數, 令 y = -x; 結果 y 與 x 相等,     已知 x 不是 0, 請問 x 是多少? 若令 k = x+x; 則 k 是多少? (不必說明!)     (*考慮電腦使用二的補數表示法 2's complement) 答: 5%(e)What is Y2k38 problem? Explain why we might have Y2k38 problem. 答: 25%(II) Briefly answer the following questions. 不要寫太囉嗦!! 5%(a) 關於亂數的 PRNG 也是個頭字語, 寫出其英文全稱。 答:  5%(b)假設考試分數是常態分配平均75, 標準差 7, 請問大約多少百分比落在[61,89]?    又大約有多少百分比的人落在[54,96] ? 答:  5%(c)利用 rand( ), 寫一個 double drand( ); 可以傳回 [0, 1)     的 double 實數, 就是最小 0 (含), 最大不超過 1 (不會等於 1)  5%(d)rand( )是uniform distribution,請寫出一個 double stdNormalRand( );     可以傳回符合標準常態分配 N(0, 1) 的亂數。 可用(c)的 drand( );  5%(e)利用(d)的 stdNormalRand()寫一個 double myNRand(double avg, double std);    可以傳回符合平均為 avg, 標準差 std 的常態分配之亂數。 答:(c)(d)(e) 25%(III)關於 Fibonacci 的 Rabbit problem.  5%(a) 寫出原來問題的 Recursive 公式. (第 0 個月有 1 對小兔子)  7%(b) 假設原來問題改為: 第 0 個月有 1 對小兔子, 小兔子隔一個月會長大為成兔,    每對成兔則要到下下個月才會生出一對(即懷孕期從一個月改為兩個月);    請推導出算某月兔子有幾對的 recursive 公式 (要推導, 直接寫出則分數減半)  5%(c) 寫出 recursive 函數 long fibNew(int n); 可以依據(b)傳回第 n 個月的    兔子有幾對的答案。  5%(d) 同 (c), 但使用 Loop, 不可以使用 recursion, 也不可用 array. 3%(e) 依據(b), 寫出第 0 個月到第 11 個月各個月的兔子數(以幾對計算) 25%(IV)變異數的定義是把每個data減去平均後的差值平方, 加起來後再除以 data總數 n,     可是這樣須先算出平均, 如果想要只記住 n, 平方和 以及 和(sum), 就可算出變異數,    那就要把公式轉換成不含有平均這項目, 以便用一個 Loop的程式就可同時算出平均值    與變異數。請逐步推導出這個算變異數的公式。 答:(III) (IV) 這兩題請寫到背面!