資源簡介 4.1解析法訓練9學校:___________姓名:___________班級:___________考號:___________一、填空題1.為求s=2+4+8+16+32的和,流程圖不能實現,需作一處適當更改。請選出你認為錯誤的標號并做更改。標號 處更改為 。2.要求將某一字符串中指定的字符改寫成小寫或大寫(如果原先是大寫就改成小寫,反之改成大寫),并將處理后的字符重新輸出。程序界面如下圖所示,在Text1中輸入原始字符串,在Text2中輸入需要改變的字符,單機“改變”按鈕后,在Text3中輸出處理后的結果。程序代碼如下:Private Sub Command1_Click()Dim s As String, result As String, k As StringDim zs As String, n As Integerresult = ""s = Text1.Textk = Text2.TextFor n =" 1" To Len(s)①If zs =" k" ThenIf Asc(zs) >=" 65" And Asc(zs) <=" 90" Thenzs =" Chr(Asc(zs)" + 32)ElseIf Asc(zs) >=" 97" And Asc(zs) <=" 122" Thenzs =" Chr(Asc(zs)" - 32)End IfEnd If②Next n③End Sub在程序①、②、③劃線處,填入適當的語句或表達式,把程序補充完整:程序中①劃線處應填入___________________。程序中②劃線處應填入___________________。程序中③劃線處應填入___________________。3.若輸入3和2,則輸出結果為______。4.有如下Visual Basic程序段:a="2"b=5c=4If a>b or c該程序段運行后,變量m的值為_______。5.有如下Visual Basic程序段:a=2b=3c=0b=ac=a+b該程序段運行后,變量c的值為_______。6.下面是一段Visual Basic程序:Private Sub Command1_Click()Dim sum As Double,i As Integersum = 0For i =" 1" To 5sum = 2sum = sum+iNext iText1.Text = Str(sum)End Sub該程序運行后,語句sum=sum+i共執行了____ ____次,sum的值為 ,i的值為 。7.下列程序在調試時,文本框Text2不能輸出最后的結果,已知①和②處存在唯一錯誤,請問錯誤出在 (填①或②)處,該處正確的語句應該為 。Dim x As Integer, max As IntegerDim a As Integer, b As Integer, c As Integer, t As Integerx = Val(Text1.Text) ' ①a =" x" \ 100b =" x" \ 10 Mod 10c =" x" Mod 10If a < b Then t =" a:" a =" b:" b = tIf a < c Then t =" a:" a =" c:" c = tIf b < c Then t =" c:" c =" b:" b = tmax =" a" * 100 + b * 10 + cText2.Text =max ' ②8.輾轉相除法:用輾轉相除法求三個數的最大公約數。程序界面如圖所示,在文本框Text1、Text2和Text3中分別輸入三個數從a、b和c,單擊"求最大公約數"按鈕(Command1)后,在文本框Text4中輸出a、b、c的最大公約數y。輾轉相除法具體為:設兩數為a、b(a>b),求最大公約數(a,b)的步驟如下:a除以b,得a=bq......r1(0≤r1)。若r1=0,則(a,b)=b;若r1≠0, b除以r1,得b="r1q......r2" (0≤r2).若r2=0,則(a,b)=r1,若r2≠0,則繼續r1除以r2,……如此下去,直到余數為0,這時的除數即為最大公約數(a,b)。相應的Visual Basic 程序如下:Function temp(num1 as Integer, num2 as Integer) as IntegerDim r As Integerif num1t=num1:num1=num2:num2=tendifr =" num1" Mod num2Do While (1)num1 = (2)num2 = (3)r =" num1" Mod num2Looptemp = num2End Function-------------------------------------------------------------------------------Private Sub Command1_Click()Dim a as Integer, b as Integer, c as Integer, x as Integer, y as Integera = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)x = (4)y =" temp(x," c) ‘調用函數TEMPText4.Text = Str(y)End Sub在(1)中應該填入( )A、r =0 B、 r<>0 C、 r< 0 D、r>0在(2)中應該填入( )A、num1 B、num2 C、 r D、num1 mod num2在(3)中應該填入( )A、num1 B、num2 C、 r D、num1 mod num2在(4)中應該填入( )A、temp(a, b) B 、temp(x, c) C、temp(b, c) D、temp(x, y)9.下Visual Basic程序段:s = 0For i =" 1" To 5s =" s" + i * iNext iLabel1.Caption = Str(s)該程序段運行后,在標簽Label1上顯示的是____________。10.有7個人坐在一起,問第七個人多少歲?他說是第6個人年齡2倍小4歲 。問第6個人歲數,他說是第5個人年齡也是2倍小4歲。問第5個人,還說是第4個人年齡2倍小4歲。問第4個人,又說是第3個人年齡2倍小4歲,以此類推。最后問第一個人,他說是5歲。請問第7個人多大?以下是小王同學編寫的解決該問題的VB,請把程序補充完整。Private Sub Command1_Click()Dim i, year As IntegerDim a(1 To 8) As Integera(1) = 5For i = To 7List1.AddItem"第"+ Str(i)+"個人的年齡為"+Str(a(i))Next iEnd Sub11.按下列公式計算銀行貸款等額還款的月償還金額S:現要求編寫VB程序(運行界面如圖所示),實現如下功能:在文本框架中輸入貸款本金、貸款期限、年利率,單擊計算機按鈕,在每月償還本息額文本框中顯示S的值。按此要求編寫的程序如下,請把帶下劃線部分所缺的程序段補齊Private Sub Command1_Click()Dim x As LongDim y As SingleDim n As IntegerDim s As Singlex =" Val(Text1.Text)" *n =" 12" * Val(Text2.Text)y =" Val(Combo1.Text)" / 12 / 100 ′月利率為年利率除12s = 1For i =" 1" To ns =" (1" + y) * sNexts =Text4.Text = Str(s)End Sub其中,“等額還款”是 (Form/Text/Combo/Command)控件的Caption屬性。12.將以下計算50以內奇數和S的值(s=1+3+5+…+49)的程序段補充完整.private sub form_click( )dim i as integer, s as integers=(1)_________for i="1" to 50 (2)____________(3)____________Next iprint “50以內奇數和="”;" send sub參考答案:1.3;a=1【詳解】2.(1)zs =" Mid(s," n, 1)(2)result =" result" & zs 或 result =" result" + zs(3)Text3.Text = result【詳解】3.32【詳解】4.-3【詳解】5.4【詳解】6.5、7、6【詳解】7.② Text2.Text =Str(max)【詳解】8. B B C A【詳解】9.55【詳解】10.2、a(i)=a(i-1)*2–4【詳解】11.10000、x * y * s / (s - 1)、Form【詳解】12.(1) 0 (2)step 2 (3) s=s+i【詳解】 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫