




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第三部分算法與VB程序設計專題15進制轉換的程序實現A十進制轉換為其他進制(k進制,逢k進一):除k取余倒排法如圖,按照“除k取余倒排法”可以得到:(19)10 (23)8 重點:k為進制基數,當k8時,交替進行整除和取余操作,直到被轉換數變為0為止。這個算法在VB程序轉換中將被忠實執行。B其他進制(k進制,逢k進一)轉換為十進制:按照位權展開法(23)82*813*80(19)10如右圖,故按照位權展開法可得十進制結果為19。重點:k為進制基數,當k8時,展開時以k為底數,按照權重展開,最右邊的權重最低,其指數為0。在VB進制轉換中必須注意這一點。將一個二進制數轉化為十進制數可以采用“按位權
2、展開法”。程序界面如圖所示,在文本框Text1中輸入一個二進制數,單擊“開始轉換”按鈕后,對應的十進制數在文本框Text2中顯示出來。程序界面如圖所示。5 sText1.text Val(Mid(s, n i 1, 1) 43 解析:本題考查基礎算法及VB實現。(1)本程序窗體一共有2個標簽、2個文本框和1個命令按鈕,共5個對象。(2)根據代碼可知,此處代碼的功能是實現將文本框Text1對象的內容讀入到變量s,故答案如上;進制轉換的法則是“按位權展開”,仔細觀察For循環語句,可知是從最低位(最右邊)展開,故使用Mid()函數取字符也要從右邊開始。另外,變量ch是整數類型,因此需要用Val()
3、函數進行轉換,故答案是Val(Mid(s, n i 1, 1)。(3)利用手工計算可知,101011B43D。用VB編寫十六進制轉換為十進制的程序,運行界面如圖所示,程序功能如下:在文本框Text1中輸入待轉換的十六進制值(字母必須大寫),單擊按鈕Command1,進行轉換,并將結果顯示在文本框Text2中。Caption sText 1.Text ch“A” and ch“A” and ch“F”。(3)使用“按位權展開”法進行進制轉換,計算出其十進制值為31H3*16149D,因此其結果是49。用VB編寫正整數十進制轉換為十六進制的程序,運行界面如圖所示。程序功能如下:在文本框Text1中
4、輸入待轉換的十進制值,單擊“十進制轉換十六進制”按鈕Command1,在文本框Text2中輸出轉換結果。(1)要使命令按鈕Command1顯示的文本改為“十進制轉換十六進制”,可在其屬性窗口中將_屬性的屬性值修改為“十進制轉換十六進制”。(2)若在文本框Text1中輸入79,則文本框Text2中輸出的值是_。Caption 4F rx mod 16 as 解析:本題考查基礎算法及其實現。(1)命令按鈕Command1顯示的文本是Caption屬性的屬性值。(2)使用“除16取余倒排法”可以手工算出十進制79D,其十六進制數是4F。(3)根據“除16取余倒排法”的定義,結合代碼可知變量r的作用是存儲余數,因此答案是:r x mod 16。本處變量s的作用是最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論