導航:首頁 > 編程語言 > xml編程與應用教程課後答案

xml編程與應用教程課後答案

發布時間:2023-01-04 10:40:08

1. 如何在 Visual Studio 中進行XML編程

XML(可擴展標記語言)是一種提供數據描述格式的標記語言。與其他編程語言相比,其有很大的優勢。如可以在多個平台中進行更加准確的內容聲明、更加容易的進行檢索等等。今天我們來介紹如何在Visual Studio中進行XML編程。 一、XML編程可以提高Visual Studio平台中數據的處理能力。 與其把XML當作一種可擴展標記語言,筆者更願意把它叫做一種工具。這個工具可以提高Visual Studio平台中數據的處理能力。正如文章開頭所說的,XML可以將後台數據與表進行分離。如此的話,兩者就可以分工合作。Visual Studio平台只負責數據的邏輯處理,如邏輯運算、條件判斷等等,而不需要關心其客戶端顯示的格式問題。而XML負責在客戶端如何顯示,如保留幾位小數、顯示哪些內容、許可權控制等等。術業有專攻,這么處理,就可以明顯提高Visual Studio平台中應用程序的數據處理能力。 二、使用XML編程工具時要注意安全問題。 雖然可以在Visual Studio平台中實現XML編程語言,但是他們畢竟是不同的產品,其內部的實現機制,如安全機制,有比較大的差異。為此要在這個Visual Studio平台中使用XML工具的話,一些安全方面的問題需要引起程序開發人員的重視。 如在使用XML編輯器的時候,需要注意類的執行許可權。XML編輯器是Visual Studio中實現XML的主要途徑。通常情況下,這個XML編輯器在系統初次載入時會自動下載。那麼如何下載這個XML編輯器才是安全的呢?一般情況下可以通過HTTP的方式下載。但是由於HTTP協議自身的缺陷(其不會對傳輸的數據進行加密),故有時候出於安全方面的考慮,會對其進行限制。用戶通常可以在XML編輯器、雜項工具選項對話框中,設置是否需要禁用HTTP下載。 如在調試時,需要給XSLT調試程序配置合適的許可權。XSLT是在Visual Studio平台中調試XML可擴展標記語言的工具。XSLT調試程序會在沙盒型應用程序中對XML腳本語言進行XSLT轉換。在轉換的過程中,出於安全方面的考慮,程序人員往往需要根據樣式表所在處的位置來指定一系列的安全策略。如來自互聯網的樣式表通常來說存在一定的安全隱患,此時就需要對其許可權進行限制。而對於來自用戶電腦上或者企業共享伺服器上的樣式表,相對安全,可以採取完全信任的許可權運行。針對樣式表的不同位置設置不同的許可權,則可以在最大程度上保障安全與效率方面的均衡。 三、如何在Visual Studio 中生成XML Web Services客戶端。 通過創建XML Web Services客戶端的形式來實現XML,是一個常用的便捷方法。XML Web Services客戶端是指使用SOAP消息與Web伺服器進行通信的組件和應用程序。XML Web Services客戶端其實際的表現形式有兩種。一是通過網頁形式來實現,即一個Web應用程序;二是通過傳統的客戶端界面來實現,即跟C/S模式下的客戶端類似,只是其採用的協議不同。那麼該如何在Visual Studio平台中建立XML Web Services客戶端呢?由於在Visual Studio中友好的集成了XML工具,所以要實現這個要求並不難。筆者認為可以歸結為如下四個步驟來完成。 第一步創建一個Web服務的代理類。在具體實現之前,程序開發人員要轉變一個觀念。即在實現XML編程工具的時候,其都是通過類來實現的。也就是說,VisualStudio中內置了許多類,通過這些類來調用XML可擴展標記語言。了解這個前提,對於後面的開發具有很大的幫助。為此要創建XML Web Services客戶端的話,首先需要創建一個Web服務的代理類。 第二步在客戶端重對剛才創建的類進行處理。如需要在客戶端代碼中引用剛才創建的代理類,並且需要創建這個代理類的一個實例。在引用代理類的時候,需要注意不同的客戶端類型,其引用的方式有所不同。在開發客戶端的時候,如果即要採用Web應用程序作為客戶端,也需要傳統的C/S客戶端,那麼在開發應用程序中可能需要加入一個必要的判斷條件,以增強應用程序的靈活性。舉一個簡單的例子,如開發一個郵件系統。其即可以直接通過網頁來訪問郵件,也可以通過outlook郵件客戶端來接收郵件。由於採取的客戶端類型不同,其代理類的引用方式也有所不同。此時伺服器就需要判斷用戶採用的是哪種類型的客戶端。根據判斷的結果來確定所需要採用的引用方法。 第三步設置代理類的屬性與方法。一般情況下,對於代理類的屬性只要採用默認的即可。但是有時候程序開發人員可能不允許匿名訪問。如一個電子商務系統,一定要求用戶有合法的身份才可以訪問。此時就需要更改代理類的屬性(更改Credentials屬性)。這個屬性主要的作用就是用來獲取或者設置客戶端身份驗證的安全憑據。如程序開發人員將這個屬性顯示設置為需要身份驗證憑據時,就會禁止用戶匿名訪問。設置完屬性之後,還需要對這個代理類調用與要與之進行通信的Web服務設置相對應的方法。這里需要注意一點,跟代理類引用一樣,用戶所採用的客戶端類型不同,其方法也有所不同。對於有多個客戶端要求的應用軟體來說,需要在設置的時候,加入一個判斷條件。根據用戶所採用的客戶端不同,對應不同的方法。否則的話,無論是數據還是在顯示格式上,都會與實際的有所差異。 第四步就是對客戶端進行調試。在調試的時候,除了要注意功能是否可以實現之外,還需要關注安全方面的問題。在上面的內容中筆者強調過,需要根據XML樣式表的位置來設置不同的許可權。這可以在保障安全性的同時,提高應用程序的效率。在調試與測試的過程中,有可能為出現「請求因HTTP狀態失敗:拒絕訪問」的錯誤信息。很多新手在使用XML編程工具的時候,都會遇到這個問題。這主要是因為許可權上的錯誤所造成的。如有可能是沒有將安全憑據傳遞給代理類的憑據緩存。 要解決這個問題的話,就需要對Windows身份驗證模式進行配置。如需要配置客戶端憑據並將這個憑據傳遞給使用各種形式的Windows身份驗證的Web服務。身份驗證是一項比較復雜的工作。在一個開發團隊中,往往有專門的技術人員來負責這塊內容,其主導這個應用程序的整個安全機制。故具體採用哪種形式的身份認證方式、如何才能夠安全的傳遞憑據,這需要開發人員與安全技術人員共同協商實現。其一個主要的原則就是在保障安全的同時,不要影響到應用程序的性能。在實際工作中,經常會遇到這種錯誤。系統登陸的時候,速度特別慢。但是登陸以後,其速度就會有顯著的改善。這很大一方面原因,就是沒有在身份認證與性能之間獲得一個平衡。這無形中就給用戶造成了不好的影響。 最後筆者總結一下。在Visual Studio平台中生成XML編程時,主要需要注意兩點。一是用戶所採用的客戶端不同,其代理類的引用與對應的方法有所差異。為了提高應用程序的靈活性,在代碼中往往需要加入判斷條件。或者就開發兩個不同類型的客戶端。二是安全固然重要,性能也不能夠忽視。在實際開發中,要避免登陸過程慢、後續操作快的誤區。

2. 如何學習數控技術

262篇數控與數控編程技術,應該有你需要的

http://hi..com/999ting/blog/item/3aa783c2a929f61e0ef47714.html

數控編程實例:如何編寫數控程序最新更新:2011.7.12

數控編程實例:數控加工中的補償

數控編程的有關問題(華中數控系統)

數控編程實例:數控加工的工藝路線分析

數控編程:夾具、刀具的選擇及切削用量的確定

詳解:模具檢測(驗收)方法與步驟

數控系統常見術語詳解 !

編制機械製造工藝規程中幾種先進技術的綜合應用

機械零件的檢測與誤差原因解析

第四屆全國數控技能大實操樣題下載

第四屆全國數控技能大賽決賽技術綱要

第四屆全國數控技能大賽決賽技術平台說明

數控編程:NC編程更自動化

數控銑床操作視頻教程

數控車床編程實例(KND系統)

6S精益管理講座(視頻)

潛規則了嗎?質量人難堪的14個場面!

銑加工編程專用指令

注冊機械檢驗員 (精益製造)

機械檢查工技師(考試)

中日對決-製造工藝人的攻防戰

數控編程運用:數控加工中的補償

銑削零件加工實例 視頻

華中車床數控系統操作視頻(下載)

數車編程--看就會教程!

孔加工的編程方法(數控編程實例)

數控技術 數控編程實例習題集(下載)

數控車床編程確定切削用量和進給量

數控車床對刀具及刀具座的要求

網路文庫機械製造專業版本

質量工程師必學科目:統計學(視頻教程)

質量專業理論與實務(中級)模擬試題

6西格瑪綠帶課程內容表

質量工程師考試常用考試技巧

數控技術:用戶宏程序的運用以及相關用量的計算

質量管理專用英語

數控車削加工中妙用G00及保證尺寸精度的技巧

打破外國壟斷!中國造世界最大超重型數控落地銑鏜床

電腦中毒:重新安裝windowsXP視頻教程

視頻: 數控車床操作指南8 (完整全集)

Fanuc系統數控車床設置工件零點常用方法

AutoCAD 2004視頻教程

第三屆全國數控技能大賽試題點評 (附下載地址)

視頻: 數控車床操作指南全集(7 )

一個機械公司的面試考題,看你知道多少?

數控機床與操作(精品教程)

數控編程技術:AutoCAD 2004視頻教程

AutoCAD實用經典技巧80條(二)

AutoCAD實用經典技巧80條(一)

Office視頻:Word2003視頻教程 Excel2003視頻教程

大學生為何熱衷考取數控「技工證」

數控技術:擬定機械加工工藝規程的原則與步驟有哪些?

數控編程:數控車床操作指南視頻(6)

AutoCAD新手常犯的十二個錯誤

數控技術:數控銑工技師考試題

數控編程技術:技師論文撰寫一些基本要求

數控編程視頻:數控車床操作指南(5)

技師論文撰寫與答辯技巧

機械工程師技術能力要求

數控車床操作指南(4)

數控視頻教程:數控車床操作指南(03)

數控視頻教程:數控車床操作指南(02)

數控視頻教程:數控車床操作指南(01)

如何造就數控機床編程高手(全)

第三屆全國數控技能大賽試題下載全套(數控車工,數控銑工,數控加工中心)

數控技術:數控機床的加工特點

編程技巧:橢圓車床宏程序編制方法

編程技巧:螺紋的數控銑削加工

數控編程技巧;宏程序梯形螺紋

數控技巧:數控常用工藝術語

加工中心技師考試題(看看你所在的位置)

數控加工中宏程序的應用技巧

一個老工程師的心理話

數控技巧:鑽孔參數表大全(1)

數控技巧:鑽孔參數表大全(2)

2008數控競賽試題

干一輩子車工,學一輩子技術(看看他們,你就知道數控需要真么學習了)

數控編程技巧:CNC常用計算公式

數控加工工藝與編程考題

大學生為何熱衷考取數控「技工證」

機械加工誤差的概念

加工中心編程技巧

淺談FANUC數控系統的使用心得

中華人民共和國勞動合同法 (2008最新版本)

機械工程師資格考試大綱

Mastercam入門到精通(數控編程視頻教程)

超強的MasterCAM自動出NC程式加工報表

中高級技師人才緊俏 人才培育相對滯後

怎樣學習數控技術-(連載)

• 第三屆全國數控技能大賽競賽技術綱要>>>>
• 國家職業標准《數控銑工》
• 國家職業標准《數控車工》
• 國家職業標准《加工中心操作工》

什麼是數控機床?

如何提高數控機床可靠性

自動數控編程

數控編程技術:分享UG技巧

數控加工必備知識

mastercam視頻教程

第三屆全國數控技能大賽官方網站

第三屆全國數控大賽出題標准(2008年度)

數控刀具的種類及選擇技巧

CAM對高速加工的影響

支持復合加工成為CAM領域新熱點[數控編程]

工件的裝夾及數控夾具選用習題庫

數車數控鏜銑及加工中心加工工藝習題庫 (完整版本)

給數控新人的一點建議

UG數控編程實例與技巧

加工中心編程技巧

數控維修的常用方法

數控編程基本知識

數控編程:銑刀加工工藝參考表

CNC設備結構與工作原理

如何為數控機床正確的選擇刀具及編程

第五屆中國數控機床展在京開幕 規模創歷屆之最

數控編程技術/數控編程代碼/數控編程指令/數控視頻(數控技術學習專題第二集)

測量技術的發展動向

數控編程:螺紋切削復合循環 G76 指令

數控銑床零件加工實例操作視頻教程

5軸加工復雜模具(視頻)

數控加工技術的基礎知識

MasterCAM8.0應用技巧

車削螺紋時常見故障及解決方法

數控銑試題和答案

子程序在數控編程中的應用技巧

加工中心的工藝特點

職業資格鑒定今後全省「統考」

(職業資格證書現在越來越不好取得了,如果你有條件要盡快早些搞定)

數控加工中的刀具補償

數控編程中的代碼

AutoCAD典型應用技巧五則

數控編程術語與標准系列

AutoCAD學習心得——獻給AutoCAD初學者

數控學習必備知識~!(例舉:數控車床和推薦書籍)

數控編程---網路

怎樣學習數控技術--連載

國內外數控技術發展

六點定位法則的正確理解與應用

AutoCAD使用技巧六則

數控機床維修實例

不想破產的中國人,都好好讀一遍這篇文章吧!

3. 第三版VB程序設計教程課後習題答案 龔沛曾主編的

習題一
答案在教材上找。

習題二

1.對象指現實世界中的實體。每個對象有自己的特徵(屬性)、行為(方法)和發生在該對象上的活動(事件)。
類是對同一種對象的集合與抽象。類包含所創建對象的屬性數據,以及對這些數據進行操作的方法。封裝和隱藏是類的重要特性,將數據結構和對數據的操作封裝在一起,類的內部實現細節對用戶來說是透明的。
VB工具箱中的可視圖標是VB系統設計好的標准控制項類。通過將控制項類實例化,得到真正的控制項對象。在窗體上畫一個控制項,就將類轉換為對象,創建了一個控制項對象。
VB中常用的對象是控制項。此外,VB還提供了系統對象。窗體是個特例,它既是類也是對象。當向一個工程添加一個新窗體時,實質就由窗體類創建了一個窗體對象。
對象的三要素:屬性、事件和方法。
屬性:存放對象的數據(決定對象外觀及功能)對象屬性的設置方法:在設計階段,利用屬性窗口直接設置屬性值;程序運行時,通過語句[對象名.]屬性名=屬性值。若屬性只能在設計階段設置,在程序運行階段不可改變,稱為只讀屬性。
事件:發生在對象上的事情。同一事件,對不同的對象,會引發不同的反應。
事件過程:應用程序處理事件的步驟。應用程序設計的主要工作就是為對象編寫事件過程的代碼。
方法:面向對象的程序設計語言,為程序設計人員提供了一種特殊的過程和函數。方法是面向對象的,調用時一定要指明對象。

2.窗體和控制項具有的基本屬性「
(1) Name屬性:名稱
所創建的對象名稱,在程序中引用。
(2) Caption屬性:標題
該屬性決定了對象上顯示的內容。
(3) Height、Width、Top和Left屬性
決定對象的大小和位置。
(4) Enabled 屬性:對象是否允許操作
(5) Visible 屬性:對象是否可見
(6) Font 屬性組:文本的外觀
FontName字體、FontSize大小
FontBold粗體、FontItalic斜體
FontStrikethru 刪除線
FontUnderline 下劃線
(7) ForeColor屬性:前景顏色
(8) BackColor屬性:背景顏色
(9) MousePointer屬性:滑鼠指針類型, 設置值范圍0~15,由系統指定 。若為99,由用戶提供的圖形文件定義滑鼠指針形狀。
(10) MouseIcon屬性:在MousePointer屬性值為99時,存放自定義的滑鼠圖標文件(.ico或.cur)。圖標庫在Graphics目錄下。

3.窗體的事件:Load事件是在窗體被裝入工作區時觸發的事件。當應用程序啟動,自動執行該事件,該事件通常用來在啟動應用程序時對屬性和變數進行初始化。

窗體的方法:(1)Print方法
用來顯示文本內容,格式:[對象.]print 表達式
(2)Cls方法
清除運行時在窗體或圖形框中產生的文本或圖形, Cls方法不能清除窗體在設計時的文本和圖形。
格式:[對象.]cls
(3)Move方法
可移動窗體或控制項,並可改變其大小。
語法格式如下:
[對象.]Move 左邊距離[,上邊距離[,寬度[,高度]]]

4.標簽作用:用於顯示文本(輸出)信息,不能作為輸入信息的界面。其內容只能通過Caption屬性設置或修改,不能直接編輯。

5.文本框是一個文本編輯區域,可以在該區域輸入、編輯、修改和顯示正文內容。在VB中字元長度以字為單位,也就是一個西文字元與一個漢字都是一個字,長度為1。
重要屬性(1) Text 顯示或輸入的正文內容。
(2) Maxlength 設置文本框可輸入的文字最大長度。默認值為0,表示可以輸入任意長字元串。
(3) MultiLine 多行屬性
設置為True時,文本框可以輸入或顯示多行正文,同時具有文字處理器的自動換行功能,按Enter鍵可插入一空行。
(4) ScrollBars 滾動條屬性
0-None 無滾動條
1-Horizontal 水平滾動條
2-Vertical 垂直滾動條
3-Both 同時加水平和垂直滾動條
注意:當MultiLine為True時,ScrollBars才有效
(5) PassWordChar 設置顯示文本的替代符。例如,當設置為「*」,則在文本框輸入的內容均以「*」顯示,而存儲的值是用戶輸入的原文。一般用於設置口令的輸入。
當MultiLine為True時,該屬性不起作用,密碼不允許多行。
(6) Locked 指定文本控制項是否可被編輯,默認值為False(可編輯),當設置為True時,文本控制項相當於標簽控制項的作用。
注意:Locked與Enabled的區別。
(7)文本內容進行選擇操作的三個屬性
SelStart 選定的正文開始位置
SelLength 選定的正文長度
SelText 選定的正文內容
這3個屬性互相關聯,例如設置SelStart、SelLength後,SelText 自動存放指定的文本。
注意:屬性窗口中沒有這三個屬性,只能在程序代碼中使用。

6.文本框的事件:(1) Change事件:當Text屬性值發生改變時引發該事件
(2) KeyPress事件:按下並且釋放鍵盤上的一個鍵時,引發焦點所在控制項的KeyPress事件,所按鍵的值存放在參數KeyAscii中。對回車的判斷 KeyAscii=13

7.文本框最有用的方法是SetFocus,把游標移到指定的文本框中。

8.命令按鈕 Picture屬性:按鈕可顯示圖片文件(.bmp和.Ico),當Style為1時有效。

10. 啟動窗體時將命令按鈕定位在窗體中央的代碼

Private Sub Form_Load()

Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2

Command1.Top = Form1.ScaleHeight / 2 - Command1.Height / 2

End Sub

11.vb圖片文件在 C:\Program Files\Microsoft Visual Studio\Common\Graphics 文件夾

安裝VB時可選擇是否安裝這些圖片文件。

習題三

1. 合法常量:

(1) Double

(2) 錯誤

(3) Double

(4) Double

(5) 錯誤

(6) Integer

(7) String

(8) String

(9) Date

(10) Double

(11) 錯誤(漢字字元)

(12)Integer(八進制)

(13) 錯誤(八進制無數碼8)

(14) Integer

(15) Boolean

(16) 錯誤

(17) 錯誤(十六進制無數碼g)

(18) Single

說明:浮點型變數默認為Double類型而非Single。

2. 合法變數名:

(1) √

(2) √

(3) 誤:數字開頭

(4) 誤:含空格

(5) 誤:關鍵字

(6) √

(7) 誤:關鍵字

(8) 誤:有括弧

(9) √

(10) √

(11) √

(12) √(漢字字元可作為變數名,但不常用,且此名稱易誤解)

變數命名規則見P.41-42。

字母(漢字)開頭,字母(漢字)、數字、下劃線組成,長度為1-255個字元;關鍵字不可作為變數名,但可在變數名中嵌入關鍵字;不區分大小寫。

常量、數組、類型、函數、過程、對象命名規則與此相同。常量名通常全用大寫。

3. 寫VB表達式

(1) Abs(x + y) + z ^ 5

(2) (1 + x * y) ^ 6

(3) (10 * x + Sqr(3 * y)) / (x * y)

(4) (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)

(5) 1 / (1 / r1 + 1 / r2 + 1 / r3)

(6) Sin(45 * 3.14159 / 180) + (Exp(10) + Log(10)) / Sqr(x + y + 1)

4. 根據條件寫表達式

(1) 隨機產生大寫字母 Chr(Int(Rnd * (Asc("L") - Asc("C") + 1) + Asc("C")))

(2) [100,200]內的隨機數 Int(Rnd * 101) + 100

(3) 點(x,y)位於第一或第三象限 x > 0 And y > 0 Or x < 0 And y < 0 或 x * y > 0

(4) x是5或7的整數倍 x Mod 5 = 0 Or Int(x / 7) = x / 7

(5) 將兩位整數x的個位與十位對換 x \ 10 + (x Mod 10) * 10

(6) 四捨五入取兩位小數 Round(x, 2)

(7) 字元變數C是字母字元(不區分大小寫)——准確地說是:字元變數C的第一個字元是字母

C >= "A" And C <= "Z" Or C >= "a" And C < "z"

或 UCase(C) >= "A" And UCase(C) <= "Z"

或 LCase(C) >= "a" And LCase(C) <= "z"

(8) 字元變數S第5個字元起取6個字元 Mid(S, 5, 6)

(9) 10≤x<20 10 <= x And x < 20

(10) x,y至少有一個小於z x < z Or y < z

(11)x,y都大於z x > z And y > z

5. 寫表達式的值

(1) 188 ——注意運算的優先順序順序,以及整除運算「\」的計算

(2) 200100 —— 計算100 + "100"時,由於兩個操作數類型不同,在可能的情況下自動採用精度較高的類型,即把字元型轉換為數值型,100 +100 得到200;然後進行字元串連接運算200 & 100 ,再自動將兩個數值轉換為字元串,得200100。

(3) 68.56 ——在四捨五入函數產生之前,這就是四捨五入的計算方法

(4) 876554 ——先進行字元串的「+」運算,再轉換成數值。在變數名和函數名後可加上類型符,以強調其類型,但不是必須的。

(5) 2000-2-29

(6) 6

6.Shell函數調用

i = Shell("mspaint.exe", 1) '啟動畫圖

i = Shell("C:\Program Files\Microsoft Office\OFFICE11\winword.exe", 1) '啟動Word

說明:「畫圖」是Windows本身提供的程序,可以省略路徑。

8. 答:單精度浮點型

第7,9題答案在教材中找。

習題四

第1,3,5,8題答案在教材中找。

2. 賦值語句的錯誤

(1)10x 不能做變數名。

上機驗證結果:VB將10識別為行號,x = Sin(x) + y是為變數x賦值。故無語法錯誤。

(2)Sqr函數的參數為負數。

上機驗證結果:「無效的過程調用或參數」

(3)賦值號左邊不是變數名。

上機驗證結果:「缺少子程序、函數或屬性」

(4)除數為0

上機驗證結果:「溢出」。

4. [答案略]

說明:小數位可以使用四捨五入函數Round或輸出格式函數Format。例如Round(x, 2)和Format(x, 「0.00」)均可使結果只保留兩位小數。但如果四捨五入後要進行數值運算,則使用Round函數,例如z=Round(x,2)+Round(y,2)。而Format函數通常只用於輸出格式設置。

6.指出錯誤

(1)「≥」應改為「>=」,前者是中文字元,不具有運算功能。

(2)「10<x<20」應改為「10<x And x<20」,否則運行結果錯誤。

7.寫條件語句

(1)

Dim c As String
c = InputBox("c=")
If Mid(c, 3, 1) = "C" Then
MsgBox "Yes"
Else
MsgBox "No"
End If

(2)

# 使用If語句
Dim x As Single, y As Single
x = Val(InputBox("x="))
If x > 20 Then
y = x ^ 2 + 3 * x + 2
ElseIf x >= 10 Then
y = Sqr(3 * x) - 2
ElseIf x > 0 Then
y = 1 / x + Abs(x)
End If
Print "y="; y

# 使用Select Case語句
Dim x As Single, y As Single
x = Val(InputBox("x="))
Select Case x
Case Is > 20
y = x ^ 2 + 3 * x + 2
Case Is >= 10
y = Sqr(3 * x) - 2
Case Is > 0
y = 1 / x + Abs(x)
End Select
Print "y="; y

(3)

# 使用If語句
Dim x As Single, y As Single, z As Single, Max As Single
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = x
If y > Max Then Max = y
If z > Max Then Max = z
Print "Max="; Max

# 使用IIF函數
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = IIf(x > y, x, y)
Max = IIf(z > Max, z, Max)
Print "Max="; Max

9. 計算循環次數

(1) 6
(2)19
(3)0
(4)死循環直至溢出

10. 40號語句執行 4次;第50 號語句執行12次;

執行第90號語句輸出的結果是: 13,0,2

說明:該程序為嵌套循環,其中外循環由j值變化(1,4,7,10)控制執行4次,當j值為13時結束循環;內循環由k值變化(6,4,2)控制執行3次,當k值為0時結束循環。第40 行是外循環的循環體,故執行4次;第50 行是內循環的循環體,故執行4*3=12次。

11. 可以定一個較大的循環次數,在循環體中根據條件用Exit For退出。

但這種情況通常用Do While循環控制。

12. 編程(並非唯一正確答案)

(1)

Dim i As Integer, s As Integer
For i = 1 To 10
s = s + (i + 1) * (2 * i + 1)
Next i
Print "s="; s

(2)

Dim i As Integer, n3 As Integer, n7 As Integer
For i = 1 To 100
If i Mod 3 = 0 Then n3 = n3 + 1
If Int(i / 7) = i / 7 Then n7 = n7 + 1
Next i
Print "1-100中3的倍數有"; n3; "個"
Print "1-100中7的倍數有"; n7; "個"

(3)

Dim s1 As String, s2 As String, i As Integer
s1 = InputBox("Input String")
s2 = ""
For i = 1 To Len(s1)
s2 = Mid(s1, i, 1) + s2
Next i
Print "原序:"; s1
Print "反序:"; s2


For i = Len(s1) To 1 Step -1
s2 = s2 + Mid(s1, i, 1)
Next i

13. 輸出字元串「10100」。該程序功能是將十進制數轉化為二進制。

說明:要理解該程序需要了解數制轉換的計算方法(有興趣者參看網路http://ke..com/view/1426817.htm)。48是字元"0"的ASCII碼。

14. 運行時輸出 22 484

該程序功能是求x和y最大公約數和最小公倍數。

說明:此演算法稱為「輾轉相減法」。可對照例4.17的輾轉相除(輾轉求余)法。

15.[50,100]間的20個隨機數,求最大值、最小值、平均值。

Dim x As Integer, sum As Integer, aver As Single
Dim n%, i%, max%, min%
Randomize
max = 50: min = 100: n = 20
For i = 1 To n
x = Int(Rnd * 51 + 50)
List1.AddItem x
sum = sum + x
If x > max Then max = x
If x < min Then min = x
Next i
aver = sum / n
Print "最大值:"; max, "最小值:"; min, "平均值:"; aver

習題五
1. 指定數組的默認下界 Option Base 1

2.合理的數組聲明
(1)錯。定義數組不可用變數(教材99頁)。
(2)正確。該數組下標為0-11。
(3)錯。VB中數組下標用圓括弧。
(4)正確。三維數組三個下標分別為0-1,0-1,0-2,共12個元素。
(5)錯誤。非動態數組,不可重定義。
(6)錯誤。動態數組重定義時不可改變數據類型。
(7)正確。二維數組兩個下標分別為0-2,0-3,共12個元素。
(8)語法錯誤,二維數組定義中漏寫逗號——可能是印刷錯誤,加上此逗號則正確。

3.當引用數組元素時下標值小於定義的最小下標,或大於最大下標時,會發生「下標越界」錯誤。

4.數組名:a ;數組類型:Single(單精度浮點型);維數:二維;
各維的上下界:第一維下界(最小下標)為 -1,上界(最大下標)為2,
第二維下界(最小下標)為 0,上界(最大下標)為3;
數組的大小:4行4列共16個元素
以矩陣的格式輸出二維數組:
For i = -1 To 2
For j = 0 To 3
Print a(i, j);
Next j
Print
Next i
或寫成更加通用的代碼形式:
For i = LBound(a, 1) To UBound(a, 1)
For j = LBound(a, 2) To UBound(a, 2)
Print Tab(j * 8); a(i, j);
Next j
Print
Next i

6.一維字元數組
Dim a(1 To 20) As String

Private Sub Command1_Click() '(1)隨機產生字元串
Dim i As Integer, j As Integer, n As Integer, c As String * 1
Randomize
For i = 1 To 20
a(i) = "" '將第i個元素清空
n = Int(Rnd * 10 + 1) '產生[1,10]的隨機數
For j = 1 To n 'a(i)中有n個字元
c = Chr(Int(Rnd * 26 + 97)) '隨機產生字母97是字母a的ASCII碼
a(i) = a(i) + c
Next j
Next i
End Sub

Private Sub Command2_Click() '(2)輸出字元串
Dim i As Integer
For i = 1 To 20
Print Tab(((i - 1) Mod 5) * 11); a(i);
If i Mod 5 = 0 Then Print
Next i
End Sub

Private Sub Command3_Click() '(3)最長的字元串
Dim i As Integer, imax As Integer
imax = 1
For i = 2 To 20
If Len(a(i)) > Len(a(imax)) Then
imax = i
End If
Next i
Print "最長的字元串:"; a(imax)
End Sub

第7,8題答案在教材中找。

第9題「自定義變數」含義不明,暫時無法回答。

第5,10 題 [暫略]

習題六

第1,2,6-8題答案可在教材中找到。

3.指出過程說明中的錯誤
(1)Sub子過程不應該定義類型
(2)函數與形式參數不應該同名
(3)數組作為形式參數時,應使用傳地址方式,不可使用傳值(ByVal)
(4)形式參數應該是變數或數組名,不可以是一個數組元素

4.指出調用過程語句的錯誤
(1)無語法錯誤,但因形參sum所對應的實參是常量3,故計算結果無法傳遞給主調程序。
(2)實參變數c與形參sum的類型不一致。
(3)類似於(1),形參sum所對應的實參是表達式a+b,故計算結果無法傳遞給主調程序。
(4)類似於(1)和(2),形參sum所對應的實參是表達式Sqr(c),故計算結果無法傳遞給主調程序。另外srq(a)存在語法錯誤(拼寫錯)。
(5)與(2)相同,實參c與形參sum的類型不一致。

5.迭代法求平方根
(1)自定義函數的定義及調用
Function FSqr1(a As Single) As Single
Dim x0 As Single, x As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
FSqr1 = x
End Function

Private Sub Command1_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
y = FSqr1(x)
Print y
End If
End Sub
(2)自定義子過程的定義及調用
Sub FSqr2(a As Single, x As Single)
Dim x0 As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
End Sub
Private Sub Command2_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
Call FSqr2(x, y)
Print y
End If
End Sub
(3)遞歸函數及調用 [略]

習題七

第1-9題,答案在教材上找;第10,12-14題,略。

11.檢測Ctrl和F3同時按下的代碼:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If Shift = 2 And KeyCode = 114 Then MsgBox "HAHA"

End Sub

習題八

第1,2,6,7,9題答案可閱讀教材找到。

3.寫Open語句
(1) Open "Seqnew.dat" For Output As #1 '重寫
或 Open "Seqnew.dat" For Append As #1 '添加
(2)Open "Seqold.dat" For Input As #2
(3)Open "Seqappend.dat" For Append As FreeFile

4.編程,將文件Text.dat 讀入變數strTest。
Dim strTest As String
Open "Text.dat" For Input As #2
Do While Not EOF(2)
strTest = strTest + Input(1, #2)
Loop

8.本課程不涉及二進制文件。故此處以順序文件讀寫方式編程。另外合並的結果可以是合並到其中某一個文件,也可以是合並到一個新的文件,此處代碼是合並到其中一個文件F1.txt。
'方法一,在2號文件一次讀一個字元並寫入1號文件
Dim strTemp As String * 1
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
Do While Not EOF(2)
strTemp = Input(1, #2)
Print #1, strTemp; '注意結尾有分號,否則每個字元一行
Loop
Close
'方法二,在2號文件一次讀一個字元並累加,最後將累加結果寫入1號文件
Dim strTemp As String '注意方法一變數定義的區別
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
strTemp = ""
Do While Not EOF(2)
strTemp = strTemp + Input(1, #2)
Loop
Print #1, strTemp
Close

習題九

答案在教材上找。

習題十

答案在教材上找

4. 編程語言與xml結合開發的幾種方法

xml為結構化數據表示形式,用途很多,如xhtml中對應用,SVG矢量繪圖,在Android中控制項布局。可以為資料庫提供一致對數據表示,屏蔽掉資料庫,系統平台對異構性,讓異構對解決在本地完成,就是將數據的存儲和數據的表示相互獨立。而且xml為純文本格式,有利於數據交換。你在程序中可以用XML API操作xml文檔存儲的結構化數據。

5. c++程序設計基礎教程課後答案(清華大學出版社鄭莉 董淵著)

第 一 章 概述

1-1 簡述計算機程序設計語言的發展歷程。

解:
迄今為止計算機程序設計語言的發展經歷了機器語言、匯編語言、高級語言等階段,C++語言是一種面向對象的編程語言,也屬於高級語言。

1-2 面向對象的編程語言有哪些特點?

解:
面向對象的編程語言與以往各種編程語言有根本的不同,它設計的出發點就是為了能更直接的描述客觀世界中存在的事物以及它們之間的關系。面向對象的編程語言將客觀事物看作具有屬性和行為的對象,通過抽象找出同一類對象的共同屬性(靜態特徵)和行為(動態特徵),形成類。通過類的繼承與多態可以很方便地實現代碼重用,大大縮短了軟體開發周期,並使得軟體風格統一。因此,面向對象的編程語言使程序能夠比較直接地反問題域的本來面目,軟體開發人員能夠利用人類認識事物所採用的一般思維方法來進行軟體開發。C++語言是目前應用最廣的面向對象的編程語言。

1-3 什麼是結構化程序設計方法?這種方法有哪些優點和缺點?

解:
結構化程序設計的思路是:自頂向下、逐步求精;其程序結構是按功能劃分為若干個基本模塊;各模塊之間的關系盡可能簡單,在功能上相對獨立;每一模塊內部均是由順序、選擇和循環三種基本結構組成;其模塊化實現的具體方法是使用子程序。結構化程序設計由於採用了模塊分解與功能抽象,自頂向下、分而治之的方法,從而有效地將一個較復雜的程序系統設計任務分解成許多易於控制和處理的子任務,便於開發和維護。
雖然結構化程序設計方法具有很多的優點,但它仍是一種面向過程的程序設計方法,它把數據和處理數據的過程分離為相互獨立的實體。當數據結構改變時,所有相關的處理過程都要進行相應的修改,每一種相對於老問題的新方法都要帶來額外的開銷,程序的可重用性差。
由於圖形用戶界面的應用,程序運行由順序運行演變為事件驅動,使得軟體使用起來越來越方便,但開發起來卻越來越困難,對這種軟體的功能很難用過程來描述和實現,使用面向過程的方法來開發和維護都將非常困難。

1-4 什麼是對象?什麼是面向對象方法?這種方法有哪些特點?

解:
從一般意義上講,對象是現實世界中一個實際存在的事物,它可以是有形的,也可以是無形的。對象是構成世界的一個獨立單位,它具有自己的靜態特徵和動態特徵。面向對象方法中的對象,是系統中用來描述客觀事物的一個實體,它是用來構成系統的一個基本單位,由一組屬性和一組行為構成。
面向對象的方法將數據及對數據的操作方法放在一起,作為一個相互依存、不可分離的整體--對象。對同類型對象抽象出其共性,形成類。類中的大多數數據,只能用本類的方法進行處理。類通過一個簡單的外部介面,與外界發生關系,對象與對象之間通過消息進行通訊。這樣,程序模塊間的關系更為簡單,程序模塊的獨立性、數據的安全性就有了良好的保障。通過實現繼承與多態性,還可以大大提高程序的可重用性,使得軟體的開發和維護都更為方便。
面向對象方法所強調的基本原則,就是直接面對客觀存在的事物來進行軟體開發,將人們在日常生活中習慣的思維方式和表達方式應用在軟體開發中,使軟體開發從過分專業化的方法、規則和技巧中回到客觀世界,回到人們通常的思維。

1-5 什麼叫做封裝?

解:
封裝是面向對象方法的一個重要原則,就是把對象的屬性和服務結合成一個獨立的系統單位,並盡可能隱蔽對象的內部細節。

1-6 面向對象的軟體工程包括哪些主要內容?

解:
面向對象的軟體工程是面向對象方法在軟體工程領域的全面應用,它包括面向對象的分析(OOA)、面向對象的設計(OOD)、面向對象的編程(OOP)、面向對象的測試(OOT)和面向對象的軟體維護(OOSM)等主要內容。

1-7 簡述計算機內部的信息可分為幾類?

解:
計算機內部的信息可以分成控制信息和數據信息二大類;控制信息可分為指令和控制字兩類;數據信息可分為數值信息和非數值信息兩類。

1-8 什麼叫二進制?使用二進制有何優點和缺點?

解:
二進制是基數為2,每位的權是以2 為底的冪的進制,遵循逢二進一原則,基本符號為0和1。採用二進制碼表示信息,有如下幾個優點:1.易於物理實現;2.二進制數運算簡單;3.機器可靠性高;4.通用性強。其缺點是它表示數的容量較小,表示同一個數,二進制較其他進制需要更多的位數。

1-9 請將以下十進制數值轉換為二進制和十六進制補碼:
(1)2 (2)9 (3)93
(4)-32 (5)65535 (6)-1

解:
(1) (2)10 = (10)2 = (2)16
(2) (9)10 = (1001)2 = (9)16
(3) (93)10 = (1011101)2 = (5D)16
(4) (-32)10 = (11100000)2 = (E0)16
(5) (65535)10 = (11111111 11111111)2 = (FFFF)16
(6) (-1)10 = (11111111 11111111)2 = (FFFF)16

1-10 請將以下數值轉換為十進制:
(1)(1010)2 (2)(10001111)2 (3)(01011111 11000011)2
(4)(7F)16 (5)(2D3E)16 (6)(F10E)16

解:
(1)(1010)2 = (10)10
(2)(10001111)2 = (143)10
(3)(01011111 11000011)2 = (24515)10
(4)(7F)16 = (127)10
(5)(2D3E)16 = (11582)10
(6)(F10E)16 = (61710)10

1-11 簡要比較原碼、反碼、補碼等幾種編碼方法。
解:
原碼:將符號位數字化為 0 或 1,數的絕對值與符號一起編碼,即所謂"符號——絕對值表示"的編碼。
正數的反碼和補碼與原碼表示相同。
負數的反碼與原碼有如下關系:
符號位相同(仍用1表示),其餘各位取反(0變1,1變0)。
補碼由該數反碼的最末位加1求得。

第 二 章 C++簡單程序設計

2-1 C++語言有那些主要特點和優點?

解:
C++語言的主要特點表現在兩個方面,一是全面兼容C,二是支持面向對象的方法。C++是一個更好的C,它保持了C的簡潔、高效、接近匯編語言、具有良好的可讀性和可移植性等特點,對C的類型系統進行了改革和擴充,因此C++比C更安全,C++的編譯系統能檢查出更多的類型錯誤。 C++語言最重要的特點是支持面向對象。

2-2 下列標識符哪些是合法的?
Program, -page, _lock, test2, 3in1, @mail, A_B_C_D

解:
Program, _lock, test2, A_B_C_D是合法的標識符,其它的不是。

2-3 例2.1中每條語句的作用是什麼?
#include <iostream.h>
void main(void)
{
cout<<"Hello!\n";
cout<<"Welcome to c++!\n";
}

解:
#include <iostream.h> //指示編譯器將文件iostream.h中的代碼
//嵌入到該程序中該指令所在的地方
void main() //主函數名,void 表示函數沒有返回值
{ //函數體標志
cout<<"Hello!\n"; //輸出字元串Hello!到標准輸出設備(顯示器)上。
cout<<"Welcome to c++!\n"; //輸出字元串Welcome to c++!
}
在屏幕輸出如下:
Hello!
Welcome to c++!

2-4 使用關鍵字const而不是#define語句的好處有哪些?

解:
const定義的常量是有類型的,所以在使用它們時編譯器可以查錯;而且,這些變數在調試時仍然是可見的。

2-5 請寫出C++語句聲明一個常量PI,值為3.1416;再聲明一個浮點型變數a,把PI的值賦給a。

解:
const float PI = 3.1416;
float a = PI;

2-6 在下面的枚舉類型中,Blue的值是多少?
enum COLOR ;

解:
Blue = 102

2-7 注釋有什麼作用?C++中有哪幾種注釋的方法?他們之間有什麼區別?

解:
注釋在程序中的作用是對程序進行註解和說明,以便於閱讀。編譯系統在對源程序進行編譯時不理會注釋部分,因此注釋對於程序的功能實現不起任何作用。而且由於編譯時忽略注釋部分,所以注釋內容不會增加最終產生的可執行程序的大小。適當地使用注釋,能夠提高程序的可讀性。在C++中,有兩種給出注釋的方法:一種是延用C語言方法,使用"/*"和"*/"括起注釋文字。另一種方法是使用"//",從"//"開始,直到它所在行的行尾,所有字元都被作為注釋處理。

2-8 什麼叫做表達式?x = 5 + 7是一個表達式嗎?它的值是多少?

解:
任何一個用於計算值的公式都可稱為表達式。x = 5 + 7是一個表達式,它的值為12。

2-9 下列表達式的值是多少?
1. 201 / 4
2. 201 % 4
3. 201 / 4.0

解:
1. 50
2. 1
3. 50.25

2-10 執行完下列語句後,a、b、c三個變數的值為多少?
a = 30;
b = a++;
c = ++a;

解:
a:32 ; b:30 ; c:32;

2-11 在一個for循環中,可以初始化多個變數嗎?如何實現?

解:
在for循環設置條件的第一個";"前,用,分隔不同的賦值表達式。
例如:
for (x = 0, y = 10; x < 100; x++, y++)

2-12 執行完下列語句後,n的值為多少?
int n;
for (n = 0; n < 100; n++)

閱讀全文

與xml編程與應用教程課後答案相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:755
蘋果郵件無法連接伺服器地址 瀏覽:958
phpffmpeg轉碼 瀏覽:669
長沙好玩的解壓項目 瀏覽:140
專屬學情分析報告是什麼app 瀏覽:562
php工程部署 瀏覽:831
android全屏透明 瀏覽:730
阿里雲伺服器已開通怎麼辦 瀏覽:801
光遇為什麼登錄時伺服器已滿 瀏覽:300
PDF分析 瀏覽:483
h3c光纖全工半全工設置命令 瀏覽:140
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:682
如何取消命令方塊指令 瀏覽:347
風翼app為什麼進不去了 瀏覽:777
im4java壓縮圖片 瀏覽:360
數據查詢網站源碼 瀏覽:148
伊克塞爾文檔怎麼進行加密 瀏覽:889
app轉賬是什麼 瀏覽:162