Re: [問題] 計概-程式語言

看板Army-Sir作者 (北七)時間11年前 (2013/01/17 16:41), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串2/3 (看更多)
※ 引述《lonelywind (lonelywind)》之銘言: : 爬過板沒有看到類似的問題 : 想請問板上各位神人 : 1. 若在C語言中宣告下列變數及初值: int i = 1, j = 2, k = 3, m = 4; : j* = k = m + 5 + i; 則運算結果j等於? j *= k = m + 5 + i; 因為 + 的執行順序比 = 高,所以m + 5 + i會先算,得到4+5+1=10 這個"10"會被assign給k,最後j *= k -> 因為j本來是2, 乘完以後j == 20 : 2. 下列程式如果參數傳遞的方式為 call-by-reference / call-by-name,其輸出結果 : 為何? : Sub (x,y,z) {x = y + z; y = z - x} : main() {a = 1; b = 2; c = 3 : call sub (a, b, a+c); : print (a, b, c)} call-by-reference是把變數在記憶體裡面的位置直接傳進去, z吃的a+c是臨時生出來的一個變數,不是a也不是b也不是c,我們就叫他z吧 把x,y套進a, b, z還是z,Sub裡面就變這樣: z = a + c; //z == 4 (1 + 3) a = b + z; //a == 6 (2 + 4) b = z - a; //b == -2 (4 - 6) c不變,所以a==6, b==-2, c==3 call-by-name就是直接把x,y,z用a,b,a+c套上去 Sub裡面變這樣: a = b + a + c; // a == 6 (2 + 1 + 3) b = a + c - a; // b == 3 (6 + 3 - 6) c不變,所以a==6, b==3, c==3 : 另外還有1題邏輯的問題,有看到說明但是不太明白 : 3. F = (A,B,C,D) = sigma m(1,3,5,7,9,11,13,15)可化簡為? --> D : 我會畫卡諾圖,不過我不太懂題目的意思是什麼? : 是在卡諾圖上將m1,m3,m5,m7,m9,m11,m13,m15都標上1然後化簡嗎? 應該是 : 不過我這樣化簡起來不是D耶 見下 : 再問個更基本的問題 : 卡諾圖的畫法中 1.ABCD的位置和順序 2.m0,m1,m2...標示的順序 : 這兩者有固定嗎? 還是怎麼畫都會一樣呢? : 先謝謝解答的大大們^^ 應該有差 正確是畫 CD AB \ 00 01 11 10 00 0 1 1 0 01 0 1 1 0 11 0 1 1 0 10 0 1 1 0 則中間的那坨1可以化簡成D (唯一的共同項) 也就是這題的答案 可是比如說你畫成 AB CD \ 00 01 11 10 00 0 1 1 0 01 0 1 1 0 11 0 1 1 0 10 0 1 1 0 中間那坨就會化簡成B m0,m1......m15代表的是化成二進位以後,ABCD分別是1還是0, 比如說m6就是1010,就是AB'CD'(A,C是1, B,D是0) 換掉順序自然答案也就不一樣了,所以要記得縱軸先排上AB橫軸再排上CD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.20.113

01/17 16:41, , 1F
打到一半地震...
01/17 16:41, 1F

01/17 17:30, , 2F
完全解惑!! 大感謝^____^
01/17 17:30, 2F

01/17 18:59, , 3F
ABCD m0表示0000 m1表示0001 m2表示0010 以此類推
01/17 18:59, 3F

01/17 19:00, , 4F
應該是放縱放橫都可以 重點是要放對位置
01/17 19:00, 4F

01/17 20:33, , 5F
嗯嗯,感謝樓上補充
01/17 20:33, 5F

01/17 23:38, , 6F
其實我是滿想問 英文會考考古題嗎XD
01/17 23:38, 6F
文章代碼(AID): #1GzxabZj (Army-Sir)
文章代碼(AID): #1GzxabZj (Army-Sir)