作者JoshuaBand (J.B)
看板Army-Sir
標題Re: [問題] 有計蓋的問題想問??
時間Fri Jan 13 17:34:19 2012
※ 引述《coldpeice (冷和平)》之銘言:
: 第一題
: 一個8位元姑數位類比變換器,其輸出範圍是0 V 至10 V,若輸入的數位碼從40H改變
: 為60H,
: 則輸出電壓為?? 答案:1.25V
八位元 共有 256種變化
所以 0-10V 分成 256種狀態
10/256 = 0.0390625
60H - 40H = 20 H = 32
32 * 0.0390625 = 1.25 V
: 用泡沫排序法,將自小到大數列 5,10,15,20,25 排序成由大至小,需比較幾次?
: 答案: 10次
: 我的想法是
: (1) 10,15,20,25,5
: (2) 15,20,25,10,5
: (3) 20,25,15,10,5
: (4) 25,20,15,10,5
: 一共4次,為什麼答案是10呢?
推文有高手解了!! 就不排一次給你看了 :D
: 第二題
: 下列程式輸出結果為何?
: C=0
: For K=1to5
: For J=Kto5
: C=C+1
: Next J
: Next K
: Print C
: 答案是 10
: 想請問這題題意是什麼意思呢?
C=0 // c = 0
For K=1to5 // K從1數到4的迴圈
For J=Kto5 // J從K目前狀態數到4的迴圈
C=C+1 // C每次 +1
Next J // 下一個J迴圈
Next K // 下一個K迴圈
Print C // 輸出C
K=1 J=1 C=1
K=1 J=2 C=2
K=1 J=3 C=3
K=1 J=4 C=4
K=2 J=2 C=5
K=2 J=3 C=6
K=2 J=4 C=7
K=3 J=3 C=8
K=3 J=4 C=9
K=4 J=4 C=10
C總共=10
: 第三題
: BASIC 語言中執行下列程式碼,輸出資料為何?
: A$="DICTIONARY"
: B$=MID$(A$,2,7)
: C$=RIGHT$(B$,3)
: Print C
: 答案為ONA
Mid(s, n):傳回字串資料s的第n個字元起到結尾的全部字元
Mid(s, n, m):傳回字串資料s的第n個字元起的m個字元
所以 從A字串第二個字往右數七個字
B= ICTIONA
Right函數 從字串變數由右邊第1個字算起取出 N 個字
所以 B字串右邊啟往左算三個字
C =ONA
: 第四題
: 對於8086/8088 CPU 而言,若IP=004H, CS=0100H, DS=0200H
: 則CPU所指到的指令是在記憶體中何處
: 答案:0104H
CPU永遠指在 程式段暫存器 的下一個狀態
所以 CS+IP = 0104H
暫存器名稱與用途
1.CS暫存器(Code Segment):
又稱程式段暫存器,存放程式指令的段位址,指令執行之差距位址放在IP內
所以CS:IP合併使用,指到指令存放在記憶體中之實際位址。
2.DS暫存器(Data Segment):
又稱資料段暫存器,存放我們設定資料的段位址,資料的排列是由DS:0000開始
依序存放或配合SI來使用。
3.ES暫存器(Extra Segment):
又稱額外段暫存器,當資料段存放超過64KB,則可使用來存放資料,在字串運算時,
必須配合DI來使用。
4.SS暫存器(Stack Segment):
又稱堆疊段暫存器,存放堆疊段的段位址,而堆疊段的差距位址是存放在SP內,
所以堆疊段的存取資料之實際位址是SS:SP。
5.FS,GS暫存器:
(FS:旗標節區,GS:廣域節區)又稱額外段暫存器,功能與ES相同。
: 第五題
: MSDOS系統中,根目錄下有5個檔案: ABC1, BCD2,BCD33,BCDX,BCDY
: 若執行"DIR BCD"則螢幕上有幾個檔名?
: 答案:2個 想請問什麼不是4個呢
DIR BCD // 顯示BCD 開頭檔案
故為BCD2,BCD33 兩個
電腦會分開區別
"BCDX","BCDY"
: 第六題
: 想請問BASIC 語言中,If X$="12", Y$="13"
: 則VAL(X$+Y$)的值?
就把字串轉成數值進行加法
12+13=25
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.121.2.121
1F:推 hazih:第二題應該是10唷 C在K跟J個回合總共被加10次 基本上 01/13 20:26
但是 k=1時 j=1~5 所以C會被加5次
k=2時 j=2~5 所以C會被加4次
k=3時 j=3~5 所以C會被加2次
k=4時 j=4~5 所以C會被加3次
k=5時 j=5~5 所以C會被加1次
所以共被加15次,共15次沒錯吧!? (歪頭)
如果不包括5的話,那就是10次了。
K=1 J=1 C=1
K=1 J=2 C=2
K=1 J=3 C=3
K=1 J=4 C=4
K=2 J=2 C=5
K=2 J=3 C=6
K=2 J=4 C=7
K=3 J=3 C=8
K=3 J=4 C=9
K=4 J=4 C=10
C總共=10
提供一下我寫的程式片段。
void main()
{
int c=0;
int j=0;
int k=1;
for (k;k<=5;k++)
{
j=0;
for (j=k;j<=5;j++)
{
c++;
cout << "K=" << k << " J=" << j << " C=" << c<<endl;
}
}
cout << "C總共="<< c << endl;
system("Pause");
}
2F:推 hazih:我看錯了迴圈條件了XDDD 不好意思:$ 01/13 20:38
不過我剛剛翻一下VB的書 for to迴圈,好像沒有包括5欸!!
所以是10沒錯!!! 謝謝囉 ^_^
3F:推 hazih:你也很認真阿:P 加油! 01/13 23:30
4F:推 JessicaAlba:12+13=25 應該是筆誤 :D 01/14 02:33
已修改。謝謝您 ^_^
最近一直TRY臉書的小遊戲!! 看封包看到眼睛太痠了>_<
※ 編輯: JoshuaBand 來自: 122.121.2.121 (01/14 04:41)
5F:→ hazih:用wireshark嗎XDD 01/14 08:55
6F:→ JoshuaBand:wireshark可以攔,但是不能偽造封包欸!! 我用其他的 :P 01/14 21:07
7F:→ hazih:小聲點XD 01/14 23:42