Re: [請益] 計算機概論的問題
※ 引述《sthouse (S踢房子(糟糕島民))》之銘言:
: ※ 引述《aaronleo (拉拉~)》之銘言:
: : 有兩題程式語言的題目
: : 找來找去都沒有相關的解答
: : 第一題是 : i++代表的意思是?
: : 解答為: i←i+1
: : 可是我還是不曉得這樣是什麼意思
: i++ 就是i+1的意思
: 也有++i的用法,不過有一些差別
: 在同一行執行時當i=0,i++ 和++i
: 其中一個會顯示i=1,另一個會顯示i=0
簡而言之 就是程式設計師懶惰的結果
i++ 原本 要寫成 i=i+1
因為太常用了 所以簡寫
解答 寫i←i+1
是因為 i=i+1 是不符合數學邏輯的
因為程式中 = 跟數學中的= 意義不同
不過在計概中 答案如果寫 i=i+1 應該也算對
如果老師打錯 那就是 迂腐的老師了
i←i+1 就是 把i+1 這個數值 放入i 之中
i是變數 你可以想像成一個容器
當你看到 i=0 就是 把0放到 i中
而 i=i+1 就是 先把i這個容器內的數值 +1 之後
再放入i這個容器中
所以現在 i這個容器 放的值就是 1
再遇到這個 指令 一次 i 的值就會再加1
: : 第二題是:
: : X = 0
: 設定x初始值為0
: : For (i=0; i<5; i++)
: 迴圈跑6次,也就是i的初始值為0
: 當i小於五時執行底下的迴圈,後面就是讓i每執行一次加1
: : X = X + 3;
: 執行這個迴圈時,每次x就加3,加完之後放回去x的暫存器裡面
: : 解答為18 沒有解釋運算過程@_@
: : 不曉得有沒有人能解答這兩題呢
: : 感激不盡 謝謝
x=0
for 迴圈開始
i=0 判斷 i是否小於5? 是 執行 i++ 即 i+1 此時 i=1
執行X = X + 3 -->X=3
回到迴圈 i=0 不會再執行(只執行一次 初始動作)
此時 i=1 判斷 i是否小於5? 是 執行 i++ 即 i+1 此時 i=2
執行X = X + 3 -->X=6
回到迴圈 i=0 不會再執行(只執行一次 初始動作)
此時 i=2 判斷 i是否小於5? 是 執行 i++ 即 i+1 此時 i=3
執行X = X + 3 -->X=9
回到迴圈 i=0 不會再執行(只執行一次 初始動作)
此時 i=3 判斷 i是否小於5? 是 執行 i++ 即 i+1 此時 i=4
執行X = X + 3 -->X=12
回到迴圈 i=0 不會再執行(只執行一次 初始動作)
此時 i=4 判斷 i是否小於5? 是 執行 i++ 即 i+1 此時 i=5
執行X = X + 3 -->X=15
回到迴圈 i=0 不會再執行(只執行一次 初始動作)
此時 i=5 判斷 i是否小於5? 不是 離開迴圈
不再 執行X = X + 3 所以 X=15
: 基本上這是很基本的程式,也不是這個版的主旨就是了...(也就是PO錯版)
: 如果不確定,就輸入到程式裡面去跑就知道了
: 用單步執行去看暫存器狀態最容易了解
可能那個版的高手 解釋出來 他也不容易懂吧
所以我試解釋看看
--
台灣的亂源在媒體與政客
媒體與政客會成亂源的原因在教育
關心教育 支持教育改革 才是擺脫此混亂的的根本之道
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.48.9
推
01/16 08:07, , 1F
01/16 08:07, 1F
→
01/16 08:08, , 2F
01/16 08:08, 2F
→
01/16 08:09, , 3F
01/16 08:09, 3F
推
01/16 08:16, , 4F
01/16 08:16, 4F
推
01/16 09:19, , 5F
01/16 09:19, 5F
推
01/16 10:15, , 6F
01/16 10:15, 6F
→
01/16 10:16, , 7F
01/16 10:16, 7F
推
01/16 11:43, , 8F
01/16 11:43, 8F
推
01/16 14:10, , 9F
01/16 14:10, 9F
→
01/16 14:12, , 10F
01/16 14:12, 10F
推
01/16 14:16, , 11F
01/16 14:16, 11F
→
01/16 14:18, , 12F
01/16 14:18, 12F
討論串 (同標題文章)