102年高點程式函授講解 - 考試
By Ida
at 2013-07-01T21:28
at 2013-07-01T21:28
Table of Contents
[考題] 國考歷屆考題與考題觀念討論(書裡看到的選這個)請附上想法、出處
最近在看102年高點的程式設計函授
發現老師在教的快速算出陣列位址的方式好像怪怪的?
以101鐵路題目如下:
訊一整數陣列的每個元素是4個Bytes,而陣列A在記憶體的起始位址A[0,0,0]是500,
陣列維度大小為A[6,4,5],請分別以Row-Major及Column-Major回答A[4,3,2]所在位址。
以老師的算法是
4 3 2
行優先==>(((4*4*5)+(3*5)+2)*4)+500 = 888
6 4 5
-----------
4 3 2
列優先==>(((2*4*6)+(3*6)+4)*4)+500 = 780
6 4 5
-----------
可以我按照老師教的算法再算上面的範例就不對了~囧
100關務4題目是如下:
設A是一個M*N的二維整數陣列
Var A:array[l..m,l..n] of integer;
另設每個整數需要k個bytes,陣列A的開始位址為a。
以m=2, n=3, k=4, a=2000時,可以算出A[2,2]的位址以列為主時,值為2016
以行為主時,值為2012
但是以老師教的算法會是
2 2
行優先:(((2*3)+2)*4)+2000=2032
2 3
------
2 2
列優先:(((2*2)+2)*4)+2000=2024
2 3
------
有人知道這是怎麼一回事嗎囧?
因為我怎麼算都不對Q_Q
--
最近在看102年高點的程式設計函授
發現老師在教的快速算出陣列位址的方式好像怪怪的?
以101鐵路題目如下:
訊一整數陣列的每個元素是4個Bytes,而陣列A在記憶體的起始位址A[0,0,0]是500,
陣列維度大小為A[6,4,5],請分別以Row-Major及Column-Major回答A[4,3,2]所在位址。
以老師的算法是
4 3 2
行優先==>(((4*4*5)+(3*5)+2)*4)+500 = 888
6 4 5
-----------
4 3 2
列優先==>(((2*4*6)+(3*6)+4)*4)+500 = 780
6 4 5
-----------
可以我按照老師教的算法再算上面的範例就不對了~囧
100關務4題目是如下:
設A是一個M*N的二維整數陣列
Var A:array[l..m,l..n] of integer;
另設每個整數需要k個bytes,陣列A的開始位址為a。
以m=2, n=3, k=4, a=2000時,可以算出A[2,2]的位址以列為主時,值為2016
以行為主時,值為2012
但是以老師教的算法會是
2 2
行優先:(((2*3)+2)*4)+2000=2032
2 3
------
2 2
列優先:(((2*2)+2)*4)+2000=2024
2 3
------
有人知道這是怎麼一回事嗎囧?
因為我怎麼算都不對Q_Q
--
Tags:
考試
All Comments
By Megan
at 2013-07-03T18:25
at 2013-07-03T18:25
By Connor
at 2013-07-06T14:14
at 2013-07-06T14:14
By Kyle
at 2013-07-09T08:52
at 2013-07-09T08:52
By Kyle
at 2013-07-13T19:16
at 2013-07-13T19:16
By Edwina
at 2013-07-14T11:27
at 2013-07-14T11:27
Related Posts
後中西醫,研究所 方智 有機化學
By Erin
at 2013-07-01T20:52
at 2013-07-01T20:52
請問考試計算機的問題
By Noah
at 2013-07-01T18:43
at 2013-07-01T18:43
教育心理學與心理學
By Heather
at 2013-07-01T18:36
at 2013-07-01T18:36
Brooker 2e and campbell 8e textbook
By Cara
at 2013-07-01T17:42
at 2013-07-01T17:42
民法總則 選擇題疑問
By Linda
at 2013-07-01T17:31
at 2013-07-01T17:31