版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)計(jì)算機(jī)高職單招VB編程練習(xí)題練習(xí)一 數(shù)據(jù)的輸入輸出以下程序代碼在窗體的單擊事件過程(Form_click)中編寫,結(jié)果輸出到窗體上。1、從鍵盤上輸入4個(gè)數(shù),編寫程序,計(jì)算并輸出這4個(gè)數(shù)的和及平均值。通過inputbox函數(shù)輸入數(shù)據(jù),在窗體上顯示和及平均值。Private Sub Form_Click() a = InputBox(輸入第一個(gè)數(shù)) a = Val(a) b = InputBox(輸入第二個(gè)數(shù)) b = Val(b) c = InputBox(輸入第三個(gè)數(shù))
2、 c = Val(c) d = InputBox(輸入第四個(gè)數(shù)) d = Val(d) Sum = a + b + c + d aver = Sum / 4 Print 所輸入的4個(gè)數(shù)分別為:; a; b; c; d Print 4個(gè)數(shù)的和為:; Sum Print 4個(gè)數(shù)的平均值為:; averEnd Sub2、編寫程序,要求用戶輸入下列信息:姓名、年齡、通信地址、郵政編碼、電話,然后將輸入的數(shù)據(jù)用適當(dāng)?shù)母袷皆诖绑w上顯示出來。Private Sub Form_Click() n$ = InputBox(請(qǐng)輸入您的姓名) Age$ = InputBox(請(qǐng)輸入您的年齡) Addr$ = Inp
3、utBox(請(qǐng)輸入通信地址) Pos$ = InputBox(請(qǐng)輸入郵政編碼) Tel$ = InputBox(請(qǐng)輸入電話號(hào)碼) Print Print Tab(6); 姓名; Space$(3); 年齡; Space$(3); 通信地址; _ Space$(5); 郵政編碼; Space$(3); 電話號(hào)碼 Print Print Tab(5); n$; Space$(3); Age$; Space$(3); Addr$; _ Space$(3); Pos$; Space$(3); Tel$ End Sub3、編寫程序,求解雞兔同籠問題。一個(gè)籠子中有雞X只,兔Y只,每只雞有2只腳,每只兔有4
4、只腳,今知雞和兔的總頭數(shù)為H,總腳數(shù)為F。問籠中雞和兔各若干?提示:根據(jù)數(shù)學(xué)知識(shí),可以寫出如下的聯(lián)立方程式:XYH(1)2X4YF(2)(2)式2*(1)式:2YF2H故Y(F2H)/24*(1)(2)式:2X4HF故X=(4HF)/2可按上式編寫程序。用inputbox函數(shù)輸入H和F的值,設(shè)H71,F(xiàn)158,請(qǐng)編寫程序并上機(jī)運(yùn)行。Private Sub Form_Click() h = InputBox(請(qǐng)輸入雞和兔的總的頭數(shù)) h = Val(h) f = InputBox(請(qǐng)輸入雞和兔的總的腳數(shù)) f = Val(f) y = (f - 2 * h) / 2 x = (4 * h - f
5、) / 2 Print 籠中有雞; x; 只,兔; y; 只 End Sub4、設(shè)a=5,b=2.5,c=7.8,編程計(jì)算:Ypi*ab/(a+b*c)。y=3.14*a*b/(a+b*c)Private Sub Form_Click() a = 5: b = 2.5: c = 7.8 y = (3.1416 * a * b) / (a + b * c) Print y=; yEnd Sub程序運(yùn)行后,單擊窗體,輸出結(jié)果為:y=1.7145、輸入以秒為單位表示的時(shí)間,編寫程序,將其換算成幾日幾時(shí)幾秒。Private Sub Form_Click() Dim Second, Minute, Ho
6、ur, Day As Long Dim Second1 As Long Second = InputBox(請(qǐng)輸入秒數(shù)) Second = Val(Second) Second1 = Second Minute = Int(Second / 60) Second = Second Mod 60 Hour = Int(Minute / 60) Minute = Minute Mod 60 Day = Int(Hour / 24) Hour = Hour Mod 24 Print Second1; 秒=; Day; 天; Hour; 小時(shí); Minute; 分; Second; 秒End Sub6
7、、自由落體位移公式為:s1/2gt2+vt,其中V為初始速度,g為重力加速度,t為經(jīng)歷程的時(shí)間,編寫程序,求位移量s。設(shè)v=4.8m/s,t=0.5s,g=9.81m/s2,在程序中把g定義為符號(hào)常量,用inputbox函數(shù)輸入v和t兩個(gè)變量的值。Private Sub Form_Click() Const g = 9.81 V = InputBox(Please input V:) T = InputBox(Please input T:) s = 1 / 2 * g * T 2 + V * T Print 位移量為:; sEnd Sub程序運(yùn)行后,單擊窗體,輸出結(jié)果為:位移量為:3.626
8、25練習(xí)二 常用標(biāo)準(zhǔn)控件1、在窗體上畫4個(gè)圖像框和一個(gè)文本框,在每個(gè)圖像框中裝入一個(gè)箭頭圖形,分為4個(gè)不同的方向,把文本框的multiline屬性設(shè)置為true。編寫程序,當(dāng)單擊某個(gè)圖像框時(shí),在文本框中顯示相應(yīng)的信息。例如,單擊向右的箭頭時(shí),在文本框中顯示“單擊向右箭頭”。程序如下:Private Sub Form_Load() Image1.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04up.ico) Image2.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04dn.ico )
9、 Image3.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04lt.ico ) Image4.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04rt.ico )End SubPrivate Sub image1_Click() Text1.Text = 單擊向上箭頭End SubPrivate Sub image2_Click() Text1.Text = 單擊向下箭頭End SubPrivate Sub image3_Click() Text1.Text = 單擊向左箭頭End S
10、ubPrivate Sub image4_Click() Text1.Text = 單擊向右箭頭End Sub2、在窗體上建立3個(gè)文本框和一個(gè)命令按鈕。程序運(yùn)行后,單擊命令按鈕,在第一個(gè)文本框中顯示由command1_click事件過程設(shè)定的內(nèi)容(例如“Microsoft Visual Basic”),同時(shí)在第二、第三個(gè)文本框中分別用小寫字母和大寫字母顯示第一個(gè)文本框中的內(nèi)容。(提示:用第一個(gè)文本框的Change事件過程在第二、三個(gè)文本框中顯示指定的內(nèi)容)在窗體上畫3個(gè)文本框和1個(gè)命令按鈕,把命令按鈕的標(biāo)題設(shè)置為“顯示”,然后編寫如下程序:Private Sub Command1_Click(
11、) Text1.Text = Microsoft Visual BasicEnd SubPrivate Sub Text1_Change() Text2.Text = LCase(Text1.Text) Text3.Text = UCase(Text1.Text)End Sub3、編寫程序,用文本框檢查口令輸入。在窗體上畫1個(gè)文本框、1個(gè)圖片框和3個(gè)命令按鈕,把文本框的PasswordChar屬性設(shè)置為“*”,把3個(gè)命令按鈕的標(biāo)題分別設(shè)置為“開始”、“檢查口令”和“結(jié)束”。程序運(yùn)行后,單擊第一個(gè)命令按鈕,清除文本框中的信息,并把光標(biāo)移到文本框中,接著在文本框中輸入口令,然后單擊第二個(gè)命令按鈕,
12、檢查輸入的口令是否正確。如果正確,則在圖片框中顯示一個(gè)圖形,否則顯示一個(gè)信息框,要求重新輸入,此時(shí)將調(diào)用第一個(gè)命令按鈕的Click事件過程,再一次在文本框中輸入口令,直到輸入正確的口令為止。如果單擊“結(jié)束”按鈕,則結(jié)束程序。Private Sub Command1_Click() Text1.Text = Text1.SetFocusEnd SubPrivate Sub Command2_Click() If Text1.Text = Then Picture1 = LoadPicture(c:vb98graphicsmetafilearrows3darrow4.wmf) MsgBox 口令正
13、確,繼續(xù)執(zhí)行, , Else MsgBox 口令不對(duì),請(qǐng)重新輸入, , Command1_Click 調(diào)用事件過程Command1_click End IfEnd SubPrivate Sub Command3_Click() EndEnd Sub4、用圖形編輯軟件(如Windows下的“畫圖”)畫一個(gè)簡(jiǎn)單的圖形,然后把它裝入圖片框。解答:略5、編寫程序,演示列表框控件的基本操作。在窗體上建立兩個(gè)列表框,兩個(gè)命令按鈕。程序運(yùn)行后,在第一個(gè)列表框中選擇所需要的項(xiàng)目,單擊“添加”按鈕,可把所選擇的項(xiàng)目移到第二個(gè)列表框中。如果單擊“刪除”按鈕,則執(zhí)行相反的操作。在第二個(gè)列表框中,允許同時(shí)選擇多個(gè)項(xiàng)目
14、。要求在每個(gè)列表框的下面用標(biāo)簽控件顯示各自的Style和Sorted屬性。解答:在窗體上建立兩個(gè)列表框,兩個(gè)命令按鈕,其Name屬性分別為L(zhǎng)ist1,List2,cmdAdd,cmdDel。其中,List1采用默認(rèn)配置,List2的Sorted屬性設(shè)置為True,Style屬性設(shè)置為復(fù)選框形式。再建立四個(gè)標(biāo)簽,Caption屬性分別為Style=Standard、Sorted=False、Style=Checkbox、Sorted=true。編寫如下代碼:Private Sub cmdAdd_Click()If List1.ListIndex = 0 Then List2.AddItem Li
15、st1.Text List1.RemoveItem List1.ListIndexEnd IfEnd SubPrivate Sub cmdDel_Click()Dim I As IntegerIf List2. SelCount = 1 Then List1.AddItem List2.Text List2.RemoveItem List2.ListIndexElseIf List2.SelCount 1 Then For I = List2.ListCount-1 To 0 Step- 1 If List2.Selected(I) Then List1.AddItem List2.List(
16、I) List2.RemoveItem I End If NextEnd IfEnd SubPrivate Sub Form_Load()List1.AddItem 中國(guó)List1.AddItem 日本List1.AddItem 馬來西亞List1.AddItem 美國(guó)List1.AddItem 德國(guó)List1.AddItem 法國(guó)List1.AddItem 英國(guó)End Sub 程序運(yùn)行后,單擊“添加”按鈕,將把List1中的所選項(xiàng)移到List2中,然后刪除List1中所選項(xiàng)目。單擊“刪除”按鈕,將檢查SelCount屬性。如果選擇了一個(gè)項(xiàng)目,則將這個(gè)項(xiàng)目移回List1中,如果選擇了多個(gè)項(xiàng)目,
17、則由后向前掃描List2,將每個(gè)選擇的項(xiàng)目移回到List1中。6、編寫程序,用計(jì)時(shí)器按秒計(jì)時(shí)。在窗體上畫一個(gè)計(jì)時(shí)器控件和一個(gè)標(biāo)簽,程序運(yùn)行后,在標(biāo)簽內(nèi)顯示經(jīng)過的秒數(shù),并響鈴。解答:在窗體上畫1個(gè)計(jì)時(shí)器控件和1個(gè)標(biāo)簽,其Name屬性分別為Timer1和Label1,并把計(jì)時(shí)器的Interval屬性設(shè)置為1 000,然后編寫如下事件過程:Private Sub Form_Load() Label1.FontSize = 16End SubPrivate Sub Timer1_Timer() Static c As Integer c = c + 1 Label1.Caption = Str$(c)
18、 BeepEnd Sub程序運(yùn)行后,將在標(biāo)簽內(nèi)顯示經(jīng)過的秒數(shù),并響鈴。7、在窗體上畫一個(gè)文本框和兩個(gè)命令按鈕,并把兩個(gè)命令按鈕的標(biāo)題分別設(shè)置為“隱藏文本框”和“顯示文本框”。當(dāng)單擊第一個(gè)命令按鈕時(shí),文本框消失;而當(dāng)單擊第二個(gè)命令按鈕時(shí),文本框重新出現(xiàn),并在文本框中顯示“VB程序設(shè)計(jì)”(字體大小為16)。運(yùn)行該程序。Private Sub Command1_Click()Text1.Visible = FalseEnd Sub Private Sub Command2_Click()Text1.FontSize = 16Text1.Visible = TrueText1.Text = VB 程序
19、設(shè)計(jì)End Sub7、編寫程序,計(jì)算對(duì)兩個(gè)數(shù)進(jìn)行加、減、乘、除所得的各、差、積、商。在窗體上畫3個(gè)標(biāo)簽和3個(gè)文本框,然后建立一個(gè)包含4個(gè)命令按鈕的控件數(shù)組。Private Sub Form_Load()Label1.Caption = 運(yùn)算數(shù)1Label2.Caption = 運(yùn)算數(shù)2Label3.Caption = =Label3.Alignment = 2Command1(0).Caption = +Command1(1).Caption = -Command1(2).Caption = *Command1(3).Caption = /Text1.Text = Text2.Text = T
20、ext3.Text = End SubPrivate Sub Command1_Click(index As Integer) Select Case index Case 0 Text3.Text = Str(Val(Text1.Text) + Val(Text2.Text) Case 1 Text3.Text = Str(Val(Text1.Text) - Val(Text2.Text) Case 2 Text3.Text = Str(Val(Text1.Text) * Val(Text2.Text) Case 3 If Val(Text2.Text) = 0 Then MsgBox 除數(shù)
21、不能為0, , 錯(cuò)誤 Exit Sub Else Text3.Text = Str(Val(Text1.Text) / Val(Text2.Text) End If End SelectEnd Sub8、使用滾動(dòng)條來改變窗體的顏色。三個(gè)滾動(dòng)條的Max:255 Min:0Private Sub HScroll1_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll2_Change() Form1.BackColor = RGB(HScroll
22、1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll3_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End Sub練習(xí)三 Visual Basic控制結(jié)構(gòu)方法二:Private Sub Form_Click() Dim Sum As Integer i = 1方法二:Private Sub Form_Click() Dim Sum As Integer i = 1 While i = 100 Sum =
23、Sum + i i = i + 1 Wend Print SumEnd Sub方法一:Private Sub Form_Click() Dim Sum As Integer For i = 1 To 100 Sum = Sum + i Next i Print SumEnd Sub2、我國(guó)現(xiàn)有人口為12億,設(shè)年增長(zhǎng)率為1%,編寫程序,計(jì)算多少年后增加到20億。Private Sub Form_Click()Dim p As DoubleDim r As SingleDim n As Integerp = r = 0.01While p p = p + p * r n = n + 1Wendp
24、= Int(p)Print n; 年后我國(guó)人口達(dá)到:; p; 億End Sub3、給定三角形的3條邊長(zhǎng),計(jì)算三角形的面積。編寫程序,首先判斷給出的3條邊能否構(gòu)成三角形,如可以構(gòu)成,則計(jì)算并輸出該三角形的面積,否則要求重新輸入。當(dāng)輸入-1時(shí)結(jié)束程序。Private Sub Form_Click()Dim a As Single,b As Single,c As Single,s As single,t As singleDo a = InputBox(請(qǐng)輸入A邊的邊長(zhǎng)) b = InputBox(請(qǐng)輸入B邊的邊長(zhǎng)) c = InputBox(請(qǐng)輸入C邊的邊長(zhǎng)) If a = -1 Or b =
25、-1 Or c = -1 Then End If a + b = c Or b + c = a Or c + a = b Then MsgBox (所輸入的值不能構(gòu)成三角形,重新輸入) Else Exit Do End IfLoops = (a + b + c) / 2t = Sqr(s * (s - a) * (s - b) * (s - c)Print 三角形面積為:, tEnd Sub4、稅務(wù)部門征收所得稅,規(guī)定如下:(1)收入在200元以內(nèi),免征;(2)收入在200400元,超過200元的部分納稅3%;(3)收入在400元的部分,納稅4%;(4)當(dāng)收入在5000元或超過時(shí),將4%稅金改
26、為5%。編程序?qū)崿F(xiàn)上述操作。Private Sub Form_Click()Dim r As Singler = InputBox(請(qǐng)輸入你的收入)If r 200 And r 400 And r = 5000 Then tax = (r - 400) * 0.05End IfPrint 收入; r; 應(yīng)納稅:, taxEnd Sub5、假定有以下每周工作安排:星期一、三:講計(jì)算機(jī)課星期二、四:講程序設(shè)計(jì)課星期五:進(jìn)修英語(yǔ)星期六:政治學(xué)習(xí)星期日:休息試編寫一個(gè)程序,對(duì)上述工作日程進(jìn)行檢索。程序運(yùn)行后,要求輸入一周里的某一天,程序?qū)⑤敵鲞@一天的工作安排。在輸入時(shí)用06分別代表星期日到星期六,如果
27、輸入06之外的數(shù),則程序結(jié)束運(yùn)行。Private Sub Form_Click() Do Work = InputBox$(請(qǐng)輸入一周里的某一天:) Select Case Work Case 1, 3 Print 星期一、三:講計(jì)算機(jī)課 Case 2, 4 Print 星期二、四:講程序設(shè)計(jì)課 Case 5 Print 星期五:進(jìn)修英語(yǔ) Case 6 Print 星期六:學(xué)習(xí)政治 Case 0 Print 星期日:休息 Case Else Print 輸入錯(cuò)誤,退出 Exit Do End Select Loop EndEnd Sub6、編寫程序,打印如下所示的“數(shù)字金字塔”。11 2 11
28、 2 3 2 11 2 3 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1Private Sub Form_Click()For i = 1 To 9For For j = 1 To 30 - 3 * iPrint 1個(gè)空格 Print ; 3個(gè)空格 Next j For k = 1 To i Print k; Next k For k = i - 1 To 1 Step -1 Print k; Next k PrintNext iEnd Sub7、勾股定理中3個(gè)數(shù)的關(guān)系是:a2+b2=c2。編寫程序,輸出30以內(nèi)滿足上述關(guān)系的整數(shù)組合,例如3、4、5就是一個(gè)
29、整數(shù)組合。Private Sub Form_Click()Print a, b, c, a*a, b*b, c*cPrintFor a = 1 To 30 For b = 1 To 30 For c = 1 To 30 If a * a + b * b = c * c Then Print a, b, c, a * a, b * b, c * c End If Next c Next bNext aEnd SubPrivate Sub Form_Click()Dim mPrivate Sub Form_Click()Dim m As Integer, n As Integerm = Input
30、Box(請(qǐng)輸入M的值)m1 = mn = InputBox(請(qǐng)輸入N的值)n1 = nr = m Mod nWhile r 0 m = n n = r r = m Mod nWendPrint m1; 和; n1; 的最大公因子是:; nEnd Sub求M和N的最大公因子。Private Sub Form_Click()Dim m As Integer, n As Integerm = InputBox(請(qǐng)輸入M的值)m1 = mn = InputBox(請(qǐng)輸入N的值)n1 = nWhile n 0 r = m Mod n m = n n = rWendPrint m1;和; n1;的最大公因
31、子是:; mEnd Sub該程序通過輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)的最大公因子。9、如果一個(gè)數(shù)的因子之和等于這個(gè)數(shù)本身,就稱這樣的數(shù)為“完全數(shù)”。例如,整數(shù)28的因子為1、2、4、7、14,其和1+2+4+7+14=28,因此28是一個(gè)完全數(shù)。試編寫一個(gè)程序,從鍵盤上輸出正整數(shù)N和M(N 1 Then Print k0; k1; If n 2 Then Print k2; If n 3 Then Print k3; If n 4 Then Print k4; If n 5 Then Print k5; If n 6 Then Print k6 If n 7 Then Print k7; If n 8
32、Then Print k8; If n 9 Then Print k9; Print End IfNext jEnd Sub10、編寫程序,打印如下的乘積表(將每行的數(shù)字分別與每列的數(shù)字相乘,并將乘積填入相應(yīng)位置)。*369121415161718Private Sub Form_Click()Print *; Tab(9); 3, Tab(18); 6; Tab(27); 9; Tab(36); 12PrintFor i = 14 To 18 Print i; For j = 3 To 12 Step 3 Print Tab(3 * j); j * i; Next j PrintNext i
33、End Sub11、從鍵盤上輸入一個(gè)學(xué)生的學(xué)號(hào)和考試成績(jī),然后輸出該學(xué)生的學(xué)號(hào)和成績(jī),并根據(jù)成績(jī)按下面的規(guī)定輸出對(duì)該學(xué)生的評(píng)語(yǔ)。成績(jī) 80100 6079 5059 4049 039評(píng)語(yǔ) Very good Good Fair Poor FailPrivate Sub Form_Click()n = InputBox(請(qǐng)輸入學(xué)號(hào))s = InputBox(請(qǐng)輸入分?jǐn)?shù))If s = 80 Then x = 學(xué)號(hào): + n + ,分?jǐn)?shù): + s + ,very good MsgBox (x)ElseIf s = 60 And s = 50 And s = 40 And s = 0 And s 0.
34、00001 e = e + t i = i + 1 n = n * i t = 1 / n Loop Print 計(jì)算了 ; i; 項(xiàng)的和是 ; eEnd Sub15、有一根長(zhǎng)度為321米的鋼材料,要將它截取成兩種規(guī)格的短料,規(guī)格a、b的長(zhǎng)度分別為17米和27米,每種至少1段,分隔成a、b各多少段后,剩余的殘料r是多少?Private Sub Form_click()Dim a%, b%, r!, ia%, ib%, t!r = 321For b = 1 To (321 - 17) 27 For a = 1 To (321 - b * 27) 17 t = 321 - b * 27 - a *
35、 17 If t = 0 And t =3)是否為素?cái)?shù)。方法一:Private Sub Form_Click()Dim n As Integern = InputBox(請(qǐng)輸入一個(gè)正整數(shù)(=3)k = 0For i = 2 To Sqr(n)If n Mod i = 0 Then k = 1Next iIf k = 0 ThenPrint n; 是一個(gè)素?cái)?shù)ElsePrint n; 不是素?cái)?shù)End IfEnd Sub方法二:Private Sub Form_Click() Dim n As Integer n = InputBox(請(qǐng)輸入一個(gè)正整數(shù)(=3) k = Int(Sqr(n) i =
36、2 swit = 0 While i = k And swit = 0 If n Mod i = 0 Then swit = 1 Else i = i + 1 End If Wend If swit = 0 Then Print n; 是一個(gè)素?cái)?shù) Else Print n; 不是素?cái)?shù) End IfEnd Sub18、編寫程序,輸出100-300之間的所有素?cái)?shù)。方法一:Private Sub Form_Click() For n = 101 To 300 Step 2 k = 0 For i = 2 To Sqr(n) If n Mod i = 0 Then k = 1 Next i If k
37、= 0 Then d = d + 1 If d Mod 5 = 0 Then Print n; ; Print Else Print n; ; End If End If Next nEnd Sub方法二:Private Sub Form_Click() For n = 101 To 300 Step 2 k = Int(Sqr(n) i = 2 swit = 0 While i y Then w = x: x = y: y = w 將x,y中的小數(shù)存放于x中 If x z Then w = x: x = z: z = w x中存放x,z中小數(shù),x為最小數(shù) If y z Then w = y:
38、 y = z: z = w y中存放y,z中的小數(shù) Print x, y, z 在窗體上按從小到大的順序輸出x,y,z的值End Sub21、將學(xué)生成績(jī)的百分制轉(zhuǎn)換成A、B、C、D、E等級(jí)制。Private Sub Form_Click() score = InputBox(please input score 的值) If score 90 Then grade = A ElseIf score = 80 Then grade = B ElseIf score = 70 Then grade = C ElseIf score = 60 Then grade = D Else grade =
39、E End If Print 你的等級(jí)是: & grade 在窗體上打印出grade的值End Sub22、將上題改用Select Case語(yǔ)句實(shí)現(xiàn)。Private Sub Form_Click() score = InputBox(please input score 的值) Select Case score Case Is = 90 Grade = A Case 80 To 89 Grade = B Case 70 To 79 Grade = C Case 60 To 69 Grade = D Case Else Grade = E End Select Print 你的等級(jí)是: & G
40、rade 在窗體上打印出grade的值End Sub22、按正序和反序輸出26個(gè)大寫英文字母。分析:用整型變量i表示循環(huán)變量,大寫英文字母與i之間對(duì)應(yīng)關(guān)系可用Chr 函數(shù)轉(zhuǎn)換,字母“A”的ASCII序號(hào)為65。正序和反序輸出可分別用For語(yǔ)句的步長(zhǎng)為(遞增)和步長(zhǎng)為(遞減)來實(shí)現(xiàn)。Private Sub Form_Click() Dim i As Integer For i = 1 To 26 正序輸出26個(gè)大寫英文字母 Print Chr(64 + i); A的ASCII序號(hào)為65 Next i Print 換行 For i = 26 To 1 Step -1 反序輸出26個(gè)大寫英文字母 P
41、rint Chr(64 + i); Next iEnd Sub23、編程計(jì)算累乘積超過1000的最小i值(P=1*2*3.*i)方法一:Private Sub Form_click()P = 1: i = 1Do While P 1000Print iEnd Sub24、編程打印以下字母三角形: a a b a b c a b c d . a b c . k l m分析:字母三角形共13行,每行數(shù)據(jù)值按字母順序輸出。Private Sub Form_Click()For i = 1 To 13 輸出13行 Print Tab(30 - 2 * i); 定位每行輸出的位置 For j = 1 T
42、o i 每行輸出的個(gè)數(shù) Print Chr$(96 + j); ; 三個(gè)空 Next j PrintNext iEnd Sub25、判斷輸入的是大寫字母、小寫字母、數(shù)字還是其它符號(hào)。方法一:Private Sub Form_Click() Char = InputBox(輸入一個(gè)字符, 測(cè)試) If Char = 0 And Char = A And Char = a And Char = 0 If x amax Then amax = x End If If x amin Then amin = x End If x = InputBox(請(qǐng)輸入分?jǐn)?shù)) Loop Print 最高分?jǐn)?shù)是:;
43、amax, 最低分?jǐn)?shù)是:; aminEnd Sub27、設(shè)計(jì)一個(gè)程序,從鍵盤上輸入學(xué)生的分?jǐn)?shù),程序可以計(jì)算并輸出及格(大于或等于60分)、不及格人數(shù)及總平均分?jǐn)?shù)。分析:在窗體上畫3個(gè)標(biāo)簽,3個(gè)文本框和3個(gè)命令按鈕。其屬性設(shè)置如下表:控件名稱(Name)標(biāo)題(caption)文本(text)上標(biāo)簽中標(biāo)簽下標(biāo)簽上文本框中文本框下文本框左命令按鈕中命令按鈕右命令按鈕Label1Label2Label3Text1Text2Text3Command1Command2Command3及格人數(shù)不及格人數(shù)平均分?jǐn)?shù)無無無輸入并計(jì)算顯示結(jié)果退出無無無空白空白空白無無無在窗體層聲明如下變量:Dim n As Sin
44、gle,n1 As SingleDim n2 As Single,score As SingleDim total As Single編寫如下3個(gè)事件過程:Private Sub command1_click() msg$ = 請(qǐng)輸入分?jǐn)?shù)(-1結(jié)束) msgtitle$ = 輸入數(shù)據(jù)start: score = InputBox(msg$, msgtitle$) If score 100 Then GoTo finish Else total = total + score n = n + 1 If score 60 Then n1 = n1 + 1 Else n2 = n2 + 1 End
45、If End If GoTo startfinish:End SubPrivate Sub Command2_Click() Text1.Text = Str$(n2) Text2.Text = Str$(n1) Text3.Text = Str$(total / n)End SubPrivate Sub Command3_Click()n = 0n1 = 0n2 = 0total = 0EndEnd Sub假定輸入以下數(shù)據(jù):50 55 60 65 70 75 80 85 90 95 100 1 則程序的執(zhí)行結(jié)果如下圖所示。28、編寫程序,輸出“水仙花”數(shù)“水仙花”數(shù)是一個(gè)三位數(shù),其各位的立方
46、和等于該數(shù)。例如:153=13+53+33因此153是一個(gè)“水仙花”。分析:設(shè)三位數(shù)N的百位數(shù)、十位數(shù)、個(gè)位數(shù)分別為a,b,c,則有a=n100b=(n10)mod 10c=n mod 10程序如下:Private Sub Form_Click() Dim n As Integer, g As Integer Dim a As Integer, b As Integer, c As Integer For n = 100 To 999 a = n 100 b = (n 10) Mod 10 c = n Mod 10 d = a 3 + b 3 + c 3 If n = d Then g = g
47、 + 1 Print d End If Next n Print 共有; g; 個(gè)水仙花數(shù)End Sub29、搬磚問題。36塊磚,36人搬,男搬4,女搬3,兩個(gè)小孩抬一磚,要求一次全搬完,問男、女、小孩各需若干?分析:男人的可能取值范圍為08,女人的可能取值范圍為011,小孩的可能取值范圍為036。采用窮舉法,首先考慮men分別取08的值時(shí),找符合題意的women、childs,然后考慮當(dāng)women取011的值時(shí),找符合題意的childs。當(dāng)men和women已知后,childs=36-women-men如果該childs滿足條件:4*men+3*women+childs/2=36 則找到了一
48、組解。程序如下:Private Sub Form_Click() Dim men As Integer, women As Integer Dim childs As Integer men = 0 While men 9 men = men + 1 women = 0 While women 12 women = women + 1 childs = 36 - women - men If 4 * men + 3 * women + childs / 2 = 36 Then Print 男人需要; men; 個(gè) Print 女人需要; women; 個(gè) Print 小孩需要; childs;
49、 個(gè) End If Wend WendEnd Sub30、編程計(jì)算1-2+3-4+5-6+.+n的值,其中n由文本框輸入 。方法1:(在窗體上先畫一文本框text1)Private Sub Command1_Click()方法2方法2:Private Sub Command1_Click()Dim n%, i%, s%n = CInt(Text1)s = 0For i = 1 To n s = s + (-1) (i - 1) * iNext iText2 = sEnd Subn = CInt(Text1)s = 0For i = 1 To nIf i Mod 2 0 Thens = s +
50、iElses = s - iEnd IfNext iText2 = sEnd Sub31、編程計(jì)算20-21+22-23+.+210的值.Private Sub Form_Click()Dim s%, i%s = 0For i = 0 To 10 s = s + (-1) i * 2 iNext iPrint s=; sEnd Sub32、編程計(jì)算11+22+33+44+.+99+1010的值。Private Sub Form_Click()Dim s!, i%s = 0For i = 1 To 10 s = s + i iNext iPrint s=; sEnd Sub33、編程計(jì)算1/1*
51、2+1/2*3+1/3*4+1/4*5+.+1/n*(n+1)的值,其中n=20。Private Sub Form_Click()Dim s!, i%, p!s = 0For i = 1 To 20 s = s + 1 / i * (i + 1) 不能寫成1/(i+1)*iNext iPrint s=; sEnd Sub34、e=1+1/1!+1/2!+1/3!+.+1/n!,計(jì)算e的值(精確到10 -6 )。Private Sub Form_Click()Dim e#, i%, p&e = 1: i = 1: p = 1Do Until 1 / p 10 -6 不斷循環(huán),直到單項(xiàng)1/n!小于
52、106e = e + 1 / pi = i + 1p = p * i p為i的階乘i!LoopPrint e=; eEnd Sub35、編程找出三個(gè)三位數(shù),它們分別為某個(gè)二位數(shù)的平方,且每個(gè)三位數(shù)的每位數(shù)字各不相同。Private Sub Form_Click()Dim i%, j%, k%, k1%, k2%, k3%, n1%, n2%平方為三位數(shù)的二位數(shù)有10-31n1 = 0For i = 10 To 31j = i 2 J為一個(gè)等于一個(gè)二位數(shù)平方的三位數(shù)k1 = j 100 三位數(shù)的百位數(shù)k2 = (j Mod 100) 10 十位數(shù),也可以寫成k2 = j 10 mod 10k3
53、= j Mod 10 個(gè)位數(shù)If k1 k2 And k1 k3 And k2 k3 Then Print 找到一個(gè); j; =; i; 2; k1; k2; k3 n1 = n1 + 1If n1 = 3 Then Exit ForEnd IfNext iEnd Sub36、從鍵盤輸入一整數(shù)(個(gè)位不為0),倒序輸出。Private Sub Form_click() Dim m As Double, n As Double n = InputBox(請(qǐng)輸入一個(gè)整數(shù)) Do While n 0 m = m * 10 + n Mod 10 n = n 10 Loop Print m=; mEnd
54、Sub練習(xí)四 數(shù)組1、從鍵盤上輸入10個(gè)整數(shù),并放入一個(gè)一維數(shù)組中,然后將其前5個(gè)元素與后5個(gè)元素對(duì)換,即:第1個(gè)元素與第10個(gè)元素互換,第2個(gè)元素與第9個(gè)元素互換第5個(gè)元素與第6個(gè)元素互換。分別輸出數(shù)組原來各元素的值和對(duì)換后各元素的值。Option Base 1 Private Sub Form_Click() arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Print 原來數(shù)組: For i = 1 To 10 Print arr(i); Next i Print For i = 1 To 5 For j = 6 To 10 t = arr(i) ar
55、r(i) = arr(j) arr(j) = t Next j Next i Print 對(duì)換后數(shù)組: For i = 1 To 10 Print arr(i); Next iEnd Sub2、設(shè)有如下兩組數(shù)據(jù)。(1)2,8,7,6,4,28,70,25(2)79,27,32,41,57,66,78,80編寫一個(gè)程序,把上面兩組數(shù)據(jù)分別讀入兩個(gè)數(shù)組中,然后把兩個(gè)數(shù)組中對(duì)應(yīng)下標(biāo)的元素相加,即2+79,8+27,2580,并把相應(yīng)的結(jié)果放入第三個(gè)數(shù)組中,最后輸出第三個(gè)數(shù)組的值。Option Base 1Private Sub Form_Click() Dim A, B, C(8) As Integ
56、er A = Array(2, 8, 7, 6, 4, 28, 70, 25) B = Array(79, 27, 32, 41, 57, 66, 78, 80) For i = 1 To 8 C(i) = A(i) + B(i) Next i Print 第一個(gè)數(shù)組為:; For i = 1 To 8 Print A(i); Next i Print Print 第二個(gè)數(shù)組為:; For i = 1 To 8 Print B(i); Next i Print Print 第三個(gè)數(shù)組為:; For i = 1 To 8 Print C(i); Next i PrintEnd Sub3、有一個(gè)n
57、m的矩陣,編寫程序,找出其中最大的那個(gè)元素所在的行和列,并輸出其值及行號(hào)和列號(hào)。Option Base 1Private Sub Form_Click() Dim Mat() As Integer Dim N, M As Integer N = InputBox(請(qǐng)輸入矩陣的行數(shù)) M = InputBox(請(qǐng)輸入矩陣的列數(shù)) ReDim Mat(N, M) As Integer For i = 1 To N For j = 1 To M Mat(i, j) = InputBox(請(qǐng)輸入數(shù)組第 & Str(i) & 行第 & Str(j) & 列元素值) Next j Next i Print
58、 所建立的矩陣為: For i = 1 To N For j = 1 To M Print Mat(i, j); ; Next j Print Next i Max = Mat(1, 1) For i = 1 To N For j = 1 To M If Max Mat(i, j) Then Max = Mat(i, j) col = j row = i End If Next j Next i Print Print 矩陣最大的元素的值為:; Mat(row, col) Print 它所在的行號(hào)為:; row; ,列號(hào)為:; colEnd Sub4、編寫程序,把下面的數(shù)據(jù)輸入一個(gè)二維數(shù)組中。
59、25367813122688937518223256443658然后執(zhí)行以下操作:輸出矩陣兩個(gè)對(duì)角線上的數(shù);分別輸出各行和各列的和交換第一行和第三行的位置;交換第二列和第四列的位置;輸出處理后的數(shù)組。Option Base 1Private Sub Form_Click() Dim Mat(4, 4) As Integer Dim N, M As Integer N = 4 M = 4 Rem 輸入矩陣 For i = 1 To N For j = 1 To M Mat(i, j) = InputBox(請(qǐng)輸入數(shù)組第 & Str(i) & 行第 & Str(j) & 列元素值) Next j
60、Next i Rem 輸出原始矩陣 Print Print 初始矩陣為: Print For i = 1 To N For j = 1 To M Print Tab(6 * j); Mat(i, j); Next j Print Next i Rem 輸出矩陣對(duì)角線上的數(shù) Print Print 矩陣對(duì)角線上的數(shù)為: Print For i = 1 To N For j = 1 To M If i = j Then Print Tab(6 * j); Mat(i, j); End If Next j Next i Rem 輸出各行和各列的和 Print Print 各行的和依次為: Print
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高考語(yǔ)文復(fù)習(xí)知識(shí)清單第九章語(yǔ)言文字運(yùn)用專題13圖文轉(zhuǎn)換(學(xué)生版+教師版)
- 自律的課件教學(xué)課件
- 三年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案
- 網(wǎng)店和解協(xié)議書(2篇)
- 南京航空航天大學(xué)《電力電子理論與方法》2023-2024學(xué)年期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《食品工藝學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 農(nóng)業(yè)示范區(qū)景觀工程施工組織設(shè)計(jì)
- 顏公河干流整治工程施工組織設(shè)計(jì)
- 南京工業(yè)大學(xué)浦江學(xué)院《結(jié)構(gòu)力學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 《小數(shù)的性質(zhì)》小學(xué)數(shù)學(xué)說課稿
- 四級(jí)翻譯完整版本
- 四川省眉山市2023-2024學(xué)年八年級(jí)上學(xué)期語(yǔ)文期中試卷(含答案)
- 2024年酒店轉(zhuǎn)讓居間協(xié)議
- 小學(xué)生安全教育與自我保護(hù)能力培養(yǎng)研究課題研究方案
- 2024年福建省公務(wù)員錄用考試《行測(cè)》答案及解析
- 期中 (試題) -2024-2025學(xué)年譯林版(三起)英語(yǔ)三年級(jí)上冊(cè)
- 10以內(nèi)加減法(直接打印,20篇)
- 【樓屋面裂縫原因及防治措施研究(論文)】
- GB/T 4337-2015金屬材料疲勞試驗(yàn)旋轉(zhuǎn)彎曲方法
- 五年級(jí)上冊(cè)英語(yǔ)課件-Unit5 What do they do?(第一課時(shí)) |譯林版(三起) (共17張PPT)
- CM-4 融創(chuàng)集團(tuán)結(jié)算管理制度
評(píng)論
0/150
提交評(píng)論