

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)程序設(shè)計(jì)強(qiáng)化復(fù)習(xí),Visual Basic 6.0,2,全文結(jié)構(gòu),VB語(yǔ)法知識(shí)基礎(chǔ)VB語(yǔ)法知識(shí)進(jìn)階常用算法及編程技巧界面元素與程序調(diào)試模擬試題,3,第1章 程序代碼的組織方式,1.1 程序代碼的基本構(gòu)成字符集關(guān)鍵字標(biāo)識(shí)符運(yùn)算符表達(dá)式語(yǔ)句及語(yǔ)法規(guī)則語(yǔ)義Print aPrint a,Print a;,4,第1章 程序代碼的組織方式,1.2 VB中的過(guò)程用過(guò)程編程的兩大好處VB中過(guò)程的種類事件過(guò)程——系
2、統(tǒng)提供的過(guò)程通用過(guò)程——用戶自定義過(guò)程 1.3 VB中的模塊窗體模塊標(biāo)準(zhǔn)模塊類模塊,5,第2章 數(shù)據(jù)類型、常量與變量,2.1 基本數(shù)據(jù)類型數(shù)值型字符串型邏輯型日期型變體型數(shù)據(jù)類型轉(zhuǎn)換數(shù)值類型間的轉(zhuǎn)換數(shù)值類型與字符串類型的轉(zhuǎn)換數(shù)值類型與邏輯類型的轉(zhuǎn)換字符串類型與邏輯類型的轉(zhuǎn)換Print True+3‘顯示結(jié)果為2Print “123”+100‘顯示結(jié)果為223Print #5/1/
3、2000# + 3‘顯示結(jié)果是00-5-4,6,第2章 數(shù)據(jù)類型、常量與變量,2.2 構(gòu)造數(shù)據(jù)類型數(shù)組固定大小數(shù)組動(dòng)態(tài)數(shù)組自定義類型2.3 常量與變量字面常量符號(hào)常量系統(tǒng)內(nèi)部常量——VbRed、VbCrLf等用戶自定義符號(hào)常量Const Pi As Single =3.14變量,7,第3章 運(yùn)算符、表達(dá)式與公共函數(shù),3.1 VB中的運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式字符串連接符關(guān)系運(yùn)算符與關(guān)系表達(dá)式邏
4、輯運(yùn)算符與邏輯表達(dá)式運(yùn)算符的優(yōu)先級(jí)算術(shù)運(yùn)算符 ^、-、*或/、\、Mod、+或-字符運(yùn)算符 +或&關(guān)系運(yùn)算符 =、>、>=、、Is、Like邏輯運(yùn)算符 Not、And、Or、Xor、Eqv、Imp,8,第3章 運(yùn)算符、表達(dá)式與公共函數(shù),3.2 VB中的公共函數(shù)數(shù)學(xué)函數(shù)字符串函數(shù)類型轉(zhuǎn)換函數(shù)隨機(jī)函數(shù)生成某個(gè)范圍內(nèi)的隨機(jī)整數(shù)Int((upperbound – lowerbound +1)*
5、Rnd + lowerbound)輸入與輸出函數(shù),9,第4章 數(shù) 組,4.1 數(shù)組的命名及說(shuō)明數(shù)組的命名數(shù)組的說(shuō)明4.2 數(shù)組結(jié)構(gòu)與數(shù)組元素?cái)?shù)組的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)數(shù)組元素4.3 固定大小數(shù)組與動(dòng)態(tài)數(shù)組固定大小數(shù)組動(dòng)態(tài)數(shù)組4.4 Erase語(yǔ)句,10,第5章 順序結(jié)構(gòu),5.1 賦值語(yǔ)句賦值語(yǔ)句的格式=不同類型數(shù)據(jù)之間的賦值賦值號(hào)與等號(hào)的區(qū)別,11,第5章 順序結(jié)構(gòu),5.2 Print 方
6、法、Cls 方法方法調(diào)用語(yǔ)句的一般形式[.][參數(shù)列表]Print 方法[對(duì)象.]Print p1p2……例5-7:下列程序片斷的輸出結(jié)果是什么?a=3 : b=5Print “12345678901234567890”P(pán)rint a;bPrint a,Print bPrint aPrint bCls 方法、Clear方法,12345678901234567890 3
7、 5 3 5 3 5,12,第6章 選擇結(jié)構(gòu),6.1 If…Then 結(jié)構(gòu)語(yǔ)句標(biāo)準(zhǔn)分支選擇結(jié)構(gòu)例6-1:寫(xiě)出根據(jù)鍵盤(pán)輸入的百分制學(xué)生成績(jī)判斷該學(xué)生是否及格并輸出“Pass”或“Fault”。單分支結(jié)構(gòu)例6-2:寫(xiě)出根據(jù)鍵盤(pán)輸入的百分制學(xué)生成績(jī)判斷該學(xué)生是否及格并將及格學(xué)生的成績(jī)輸出的程序片段。多分支結(jié)構(gòu)例6-3:寫(xiě)出將鍵盤(pán)輸入的百分制學(xué)生成績(jī)轉(zhuǎn)換成五分制并輸出的程序片段。,13,第
8、6章 選擇結(jié)構(gòu),6.2 Select Case 結(jié)構(gòu)語(yǔ)句一般形式測(cè)試項(xiàng)的形式例6-4:在 Select Case X 結(jié)構(gòu)中,描述判斷條件3≤X≤7的測(cè)試項(xiàng)應(yīng)該寫(xiě)成 。A. Case 3 ≤ X≤7B. Case 3 ≤ X, X≤7C. Case Is≤7 , Is≥3D. Case 3 To 7,14,第7章 循環(huán)結(jié)構(gòu),7.1 Do…Loop 結(jié)構(gòu)語(yǔ)句Do-While循環(huán)結(jié)構(gòu)Do-Unti
9、l循環(huán)結(jié)構(gòu),“當(dāng)”型循環(huán),“直到”型循環(huán),15,第7章 循環(huán)結(jié)構(gòu),7.2 For…Next 結(jié)構(gòu)語(yǔ)句一般形式For=ToStep……[Exit For]……NextFor循環(huán)與Do循環(huán)的比較循環(huán)嵌套,16,第8章 過(guò)程設(shè)計(jì),8.1 Sub過(guò)程與Function過(guò)程的定義與調(diào)用Sub過(guò)程的定義[Private | Public] [Static] Sub 過(guò)程名 ([參數(shù)列表])[局部變量和常量
10、聲明]語(yǔ)句體[Exit Sub]……End SubSub事件過(guò)程的定義Sub通用過(guò)程的定義,17,第8章 過(guò)程設(shè)計(jì),8.1 Sub過(guò)程與Function過(guò)程的定義與調(diào)用Function過(guò)程的定義[Private | Public] [Static] Function 函數(shù)名 ([參數(shù)列表]) [As 數(shù)據(jù)類型][局部變量和常量聲明]語(yǔ)句體[Exit Function]……[
11、函數(shù)名=表達(dá)式]End Function例8-5:以下有關(guān)過(guò)程的說(shuō)法中錯(cuò)誤的是 。A. 在Sub或Function過(guò)程中不能再定義其他Sub或Function過(guò)程B. 在調(diào)用過(guò)程時(shí),與使用ByRef說(shuō)明的形參對(duì)應(yīng)的實(shí)參只能按地址傳遞方式結(jié)合。C. 遞歸過(guò)程既可以是遞歸Function過(guò)程,也可以是遞歸Sub過(guò)程。D. 在調(diào)用過(guò)程時(shí),形參為數(shù)組的參數(shù)對(duì)應(yīng)的實(shí)參只能是數(shù)組。,18,第8章 過(guò)程設(shè)計(jì),8.
12、1 Sub過(guò)程與Function過(guò)程的定義與調(diào)用Function過(guò)程與Sub過(guò)程的區(qū)別例8-6:分別用Sub過(guò)程和Function過(guò)程編寫(xiě)一個(gè)求n!的自定義過(guò)程。,Sub過(guò)程:Private Sub fact(n As Integer, f As Long)Dim i As Integerf = 1For i = 1 To n f = f * iNext iEnd Sub,Function過(guò)程:Private
13、 Function fact(n As Integer) As LongDim i As Integerfact = 1For i = 1 To n fact = fact * iNext iEnd Sub,19,第8章 過(guò)程設(shè)計(jì),8.1 Sub過(guò)程與Function過(guò)程的定義與調(diào)用Sub過(guò)程與Function過(guò)程的調(diào)用Sub事件過(guò)程的調(diào)用Sub通用過(guò)程的調(diào)用 Call 語(yǔ)句調(diào)用:Call (實(shí)參
14、表) 將過(guò)程名作為語(yǔ)句調(diào)用:過(guò)程名 [實(shí)參表]Function過(guò)程的調(diào)用 變量=過(guò)程名(實(shí)參表),20,第8章 過(guò)程設(shè)計(jì),8.1 Sub過(guò)程與Function過(guò)程的定義與調(diào)用過(guò)程的嵌套調(diào)用過(guò)程調(diào)用的注意事項(xiàng)把Sub過(guò)程名作為語(yǔ)句調(diào)用時(shí),參數(shù)不需要加括號(hào)Function過(guò)程無(wú)參時(shí),括號(hào)不可省,其調(diào)用方法與公共函數(shù)類似由于Function過(guò)程本身返回值,所以一般不使用Sub通過(guò)過(guò)程的調(diào)用方法,因?yàn)檫@兩種方法將放棄函數(shù)名的返
15、回值若對(duì)Function過(guò)程的調(diào)用出現(xiàn)在表達(dá)式中,則其運(yùn)算優(yōu)先級(jí)最高,21,第8章 過(guò)程設(shè)計(jì),8.2 過(guò)程調(diào)用時(shí)的參數(shù)參數(shù)傳遞的限制形參與實(shí)參的個(gè)數(shù)、類型和順序必須嚴(yán)格匹配,22,第8章 過(guò)程設(shè)計(jì),8.2 過(guò)程調(diào)用時(shí)的參數(shù)按值傳遞ByVal數(shù)組、自定義記錄類型的變量、對(duì)象變量不能按值傳遞;常數(shù)和表達(dá)式必須按值傳遞按值傳遞的參數(shù),形參和實(shí)參的類型只需要相容即可按地址傳遞 ByRef,23,第8章 過(guò)程設(shè)計(jì),8.3 遞歸過(guò)
16、程遞歸過(guò)程的定義在過(guò)程定義中調(diào)用自身或以其他方式間接調(diào)用自身的過(guò)程可以遞歸Sub過(guò)程,也可以遞歸Function過(guò)程遞歸過(guò)程的構(gòu)成條件有對(duì)本身的調(diào)用語(yǔ)句有一個(gè)結(jié)束遞歸過(guò)程的條件(終止條件或邊界條件)三題遞歸相關(guān)求 N!求 菲布拉及數(shù)列求 最大公約數(shù),24,第8章 過(guò)程設(shè)計(jì),8.4 變量的作用域與生命期變量的作用域 在窗體模塊中,不能定義數(shù)組、定長(zhǎng)字符串、用戶自定義類型等為全局變量。
17、,25,第8章 過(guò)程設(shè)計(jì),8.4 變量的作用域與生命期變量的生命期8-22:若希望在離開(kāi)某過(guò)程后,還能保存該過(guò)程中局部變量的值,則應(yīng)使用關(guān)鍵字在該過(guò)程中定義局部變量。 A. DimB. PrivateC. PublicD. Static同名變量,26,第9章 文件操作,9.1 文件的基本概念文件的概念文件類型文件操作步驟9.2 基本文件操作控件驅(qū)動(dòng)器列表框目錄列表框文件列表框,27,第9章 文
18、件操作,9.3 常用文件操作語(yǔ)句與文件操作函數(shù)Open語(yǔ)句Close語(yǔ)句與Reset語(yǔ)句Lock和Unlock語(yǔ)句Seek語(yǔ)句Print #和Write #語(yǔ)句Input#和Line Input # 語(yǔ)句Put # 和 Get #語(yǔ)句常用文件操作函數(shù),28,第10章 算法中使用的基本技巧,10.1.1 交換t=a : a=b : b=tt=b: b=a : a=tt=a : a=b : b=c : c=ta=a+
19、b : b=a-b : a=a-b10.1.2 累加、累乘n=n+1Sum=Sum+n P=P*n10.2 最大/小值問(wèn)題 max=a(1)for i=2 to Ubound(a)if a(i)>max then max=a(i)next i,29,第10章 算法中使用的基本技巧,10.3.1 窮舉10-1:用100元買100只雞,公雞每只5元,母雞每只3元,小雞每1元3只,問(wèn)可以買多少只公
20、雞、母雞和小雞?有多少種組合?Private Sub Command1_Click()Dim X As Integer, Y As Integer, Z As IntegerDim Count As IntegerCount = 0For X = 0 To Fix(100 / 5) For Y = 0 To Fix(100 / 3) For Z = 0 To 100 If X *
21、 5 + Y * 3 + Z / 3 = 100 And X + Y + Z = 100 Then Print X, Y, Z Count = Count + 1 End If Next NextNextPrint "組合個(gè)數(shù):"; CountEnd Sub,30,第10章 算法中使用的基本技巧,10
22、-2:求出所有的水仙花數(shù),如153=13+53+33Private Sub Command1_Click()Dim X As Integer, Y As Integer, Z As IntegerFor X = 1 To 9 For Y = 0 To 9 For Z = 0 To 9 If X ^ 3 + Y ^ 3 + Z ^ 3 = 100 * X + 10 * Y + Z Th
23、en Print 100 * X + 10 * Y + Z End If Next NextNextEnd Sub,31,第10章 算法中使用的基本技巧,10.3.2 迭代10-3:設(shè)方程為4*x2-3*x-7=0,給出不精確的初始根x0=2,利用公式:xn+1=xn-f(xn)/f’(xn) n=0,1,2…求出方程的近似根,直到 |xn+1-xn
24、|<0.00001。Dim X0 As Double, X1 As DoubleX0 = 2Do X1 = X0 - (4 * X0 ^ 2 - 3 * X0 - 7) / (8 * X0 - 3) If Abs(X1 - X0) < 0.00001 Then Exit Do X0 = X1LoopPrint X1,Dim X0 As Double, X1 As DoubleX1 = 2
25、Do X0 = X1 X1 = X0 - (4 * X0 ^ 2 - 3 * X0 - 7) / (8 * X0 - 3)Loop Until Abs(X1 - X0) < 0.00001Print X1,32,第10章 算法中使用的基本技巧,10.4.1 遞推10-4:已知一對(duì)成熟的兔子每月可以生一對(duì)小兔子。出生的小兔子兩個(gè)月后成熟,就可再生一對(duì)小兔子。問(wèn)一對(duì)成熟的兔子在一年內(nèi)能繁殖成多少對(duì)兔子?10-
26、5:細(xì)胞分裂,每分裂一次要用3分鐘,30分鐘后有細(xì)胞2048個(gè)。問(wèn)開(kāi)始時(shí)有多少個(gè)細(xì)胞?Dim F(10) As Integer, i As IntegerF(10) = 2048For i = 9 To 0 Step -1 F(i) = F(i + 1) / 2Next iPrint F(0)10.4.2 遞歸,Private Sub Command1_Click()Print "開(kāi)始時(shí)的細(xì)胞數(shù):&q
27、uot;; f(0)End SubFunction f(n As Integer) As IntegerIf n = 10 Then f = 2048Else f = f(n + 1) / 2End IfEnd Function,f=f(n-1)*2,33,第11章 數(shù)列、級(jí)數(shù)求和及矩陣運(yùn)算問(wèn)題,11.1 數(shù)列問(wèn)題固定公式11-1:利用公式 k*k+k+17 生成一組兩位數(shù)的整數(shù)。遞推公式11-
28、2:利用初值 x1=15 以及公式 xi+1=(3*xi+153) mod 256產(chǎn)生一個(gè)10個(gè)數(shù)的數(shù)列。Dim x1 As Integer, x2 As IntegerDim count As Integerx1 = 15: Print x1For count = 2 To 10 x2 = (3 * x1 + 153) Mod 256 Print x2 x1 = x2Next count,Dim a(
29、1 To 10) As IntegerDim count As Integera(1) = 15: Print a(1)For count = 2 To 10 a(count) = (3 * a(count - 1) + 153) Mod 256 Print a(count)Next count,34,第11章 數(shù)列、級(jí)數(shù)求和及矩陣運(yùn)算問(wèn)題,11.2.1 級(jí)數(shù)求和確定通項(xiàng)確定求和結(jié)束條件11-3:求 c
30、os(x)=1-x2/2!+x4/4!-…+(-1)n+1x2(n-1)/[2(n-1)]!+… n=1,2,…… 直到級(jí)數(shù)的第n項(xiàng)的絕對(duì)值小于等于10-6為止。,,,Private Sub Command1_Click()Const x As Single = 3.14159 / 3Dim Sum As Single, N As Integer, T As SingleN = 1: T = 1Do Sum = Sum
31、+ T N = N + 1 T = -T T = T * x ^ 2 / (2 * (N - 1) * (2 * N - 3))Loop While Abs(T) >= 10 ^ -10Print SumEnd Sub,35,Private Sub Command1_Click()Const x As Single = 3.14159 / 3Dim Sum As Single, n As Inte
32、ger, T As Singlen = 1: T = 1Do Sum = Sum + T n = n + 1 T = (-1) ^ (n + 1) * x^ (2 * (n - 1)) /F(2 * (n - 1))Loop While Abs(T) >= 10 ^ -10Print SumEnd Sub
33、 q Function F(ByVal k As Integer) As DoubleDim i As IntegerF = 1For i = 2 To k F = F * iNext iEnd Function,cos(x)=1-x2/2!+x4/4!-…+(-1)n+1x2(n-1)/[2(n-1)]!+…,36,第11章 數(shù)列、級(jí)數(shù)求和及矩陣運(yùn)算問(wèn)題,11.2.2 連乘積11-4:
34、 到通項(xiàng)接近1時(shí)停止計(jì)算。,Private Sub Command1_Click()Dim Sum As Single, T As SingleSum = 2: T = Sqr(2)Do Sum = Sum * 2 / T T = Sqr(2 + T)Loop While Abs(2 / T - 1) >= 10 ^ -10Prin
35、t SumEnd Sub,37,第11章 數(shù)列、級(jí)數(shù)求和及矩陣運(yùn)算問(wèn)題,11.3.1 矩陣的生成和打印生成數(shù)組打印數(shù)組11.3.2 矩陣的行列交換11.3.3 矩陣的變換11-10:將一個(gè)4行4列矩陣進(jìn)行轉(zhuǎn)置11-11:求出一給定矩陣的旋轉(zhuǎn)矩陣。,,,38,第11章 數(shù)列、級(jí)數(shù)求和及矩陣運(yùn)算問(wèn)題,11.3.4 尋找某些特殊點(diǎn)11-12:求6*5數(shù)組的鞍點(diǎn),鞍點(diǎn)是指本行最大、本列最小的元素。11.3.5 特殊矩陣
36、按以下樣式輸出5行楊輝三角。 111 1 2 1 1 33 1 1 4 6 4 1,Private Sub Command1_Click()Dim A(5, 5) As Integer, I As Integer,
37、J As IntegerFor I = 1 To 5 A(I, 1) = 1 A(I, I) = 1Next IFor I = 3 To 5 For J = 2 To I - 1 A(I, J) = A(I - 1, J - 1) + A(I - 1, J) Next JNext IFor I = 1 To 5 Print Space(5 - I); For J
38、= 1 To I Print CStr(A(I, J)); " "; Next J PrintNext IEnd Sub,39,11.3.6 綜合例題,11-4:標(biāo)記出5*5方陣中每一行最小元素的位置。如果某一行有多個(gè)數(shù)值相等的最小元素,也要同時(shí)標(biāo)記出來(lái)。標(biāo)記方式為每一行的最小元素為0,其他元素為1。,Option ExplicitOption Base 1Private A(
39、5, 5) As IntegerPrivate Sub Form_click()Text1 = ""Dim I As Integer, J As IntegerRandomizeFor I = 1 To 5 For J = 1 To 5 A(I, J) = Int((20 - 10 + 1) * Rnd + 10) Text1.Text = Text1 & A
40、(I, J) & " " Next J Text1 = Text1 & vbCrLfNext IEnd Sub,Private Sub Command1_Click()Dim I As Integer, J As Integer, Min As IntegerFor I = 1 To 5 Min = A(I, 1) For J = 2 To 5
41、If A(I, J) < Min Then Min = A(I, J) Next J For J = 1 To 5 If A(I, J) = Min Then Text2 = Text2 & "0 " Else Text2 = Text2 & "1 " End If
42、 Next J Text2 = Text2 & vbCrLfNext IEnd Sub,40,11.3.6 綜合例題,11-15:找出5*5數(shù)組中最大元素和最小元素所在行,如果不在同一行則交換這兩行。,Option ExplicitOption Base 1Private A(5, 5) As IntegerPrivate Sub Form_click()Dim I As Integer, J As
43、IntegerRandomizeFor I = 1 To 5 For J = 1 To 5 A(I, J) = Int((99 - 10 + 1) * Rnd + 10) Text1.Text = Text1 & A(I, J) & " " Next J Text1 = Text1 & vbCrLfNext IEnd Sub,Pr
44、ivate Sub Command1_Click()Dim I As Integer, J As Integer, T As IntegerDim Min As Integer, Max As IntegerDim LMin As Integer, LMax As IntegerMin = A(1, 1): Max = A(1, 1)For I = 1 To 5 For J = 1 To 5 If A(
45、I, J) Max Then Max = A(I, J) LMax = I End If End If Next JNext IIf LMin LMax Then For I = 1 To 5 T = A(LMin, I) A(LMin, I) = A(LMax, I)
46、 A(LMax, I) = T Next IEnd IfFor I = 1 To 5 For J = 1 To 5 Text2 = Text2 & A(I, J) & " " Next J Text2 = Text2 & vbCrLfNext IEnd Sub,41,第12章 數(shù)組的移動(dòng)、排序及查找,12.1 移動(dòng)12-1:將一個(gè)
47、10個(gè)元素的數(shù)組A循環(huán)向右移動(dòng)一位。1 2 3 4 5 6 7 8 9 10→ 10 1 2 3 4 5 6 7 8 912-2:將一個(gè)10個(gè)元素的數(shù)組A循環(huán)向左移動(dòng)一位。12-3:將一個(gè)10個(gè)元素的數(shù)組A循環(huán)向右移動(dòng)三位。12-4:將一個(gè)4行4列數(shù)組的列循環(huán)右移一列。,42,第12章 數(shù)組的移動(dòng)、排序及查找,1
48、2.2 排序12.2.1 選擇法排序 12.2.2 冒泡法排序12.2.3 插入法排序12.2.4 合并排序12.2.5 拉鋸式排序法每一輪先把最小的元素從前到后送到最后面的位置,然后從后到前把最大的元素送到最前面的位置。,43,第12章 數(shù)組的移動(dòng)、排序及查找,12.3 查找12.3.1 順序查找 12.3.2 二分法查找,Option Base 1Private a(10) As IntegerPrivate S
49、ub Command1_Click()Dim N As Integer, Midd As Integer, Low As Integer, High As IntegerDim Flag As BooleanFor i = 1 To 10 a(i) = i * 10 + i Print a(i);Next iPrintFlag = FalseN = 120Low = 1: High = 10Do
50、 Midd = Int((Low + High) / 2) If a(Midd) = N Then Print CStr(N); " is in array "; CStr(Midd) Flag = True Exit Do Else If a(Midd) > N Then High = Midd - 1
51、 Else Low = Low + 1 End If End If Loop While Low <= HighIf Not Flag Then Print "Can't find the Number "; CStr(N); "!"End Sub,44,第13章 因數(shù)、最大公約數(shù)與素?cái)?shù)等問(wèn)題,13.1 整數(shù)的
52、因數(shù)計(jì)算問(wèn)題窮舉法求整數(shù)的所有因子動(dòng)態(tài)數(shù)組保存整數(shù)的所有因子整數(shù)的連乘積表達(dá)24=2×2×2×3,Private Sub Command1_Click()Dim i As Integer, N As IntegerN = InputBox("Please Input a number")i = 2Print CStr(N); "=";Do While
53、 i < N If N Mod i = 0 Then Print CStr(i); "*"; N = N \ i i = 2 Else i = i + 1 End IfLoopPrint CStr(N)End Sub,45,第13章 因數(shù)、最大公約數(shù)與素?cái)?shù)等問(wèn)題,13.2 最大公約數(shù)與最小公倍數(shù)問(wèn)題最大公約數(shù)的求法
54、窮舉法歐幾里德法遞歸法最小公倍數(shù)的求法窮舉法利用最大公約數(shù)求最小公倍數(shù),46,窮舉法 求最大公約數(shù),Private Sub Command1_Click()Dim R As Integer, M As Integer, N As Integer, T As IntegerM = InputBox("Please Input number A")N = InputBox("Please Inp
55、ut number B")'確認(rèn)M>NIf M < N Then T = M: M = N: N = TEnd IfFor R = 1 To N If M Mod R = 0 And N Mod R = 0 Then T = RNext RMsgBox ("最大公約數(shù)是:" & T)End Sub,47,歐幾里德法 求最大公約數(shù),Private S
56、ub Command1_Click()Dim R As Integer, M As Integer, N As Integer, T As IntegerM = InputBox("Please Input number A")N = InputBox("Please Input number B")'確認(rèn)M>NIf M 0 M = N N = R
57、 R = M Mod NLoopMsgBox ("最大公約數(shù)是:" & N)End Sub,48,遞歸法 求最大公約數(shù),Private Sub Command1_Click()Dim R As Integer, M As Integer, N As Integer, T As IntegerM = InputBox("Please Input number A")N = Inp
58、utBox("Please Input number B")'確認(rèn)M>NIf M < N Then T = M: M = N: N = TEnd IfMsgBox ("最大公約數(shù)是:" & GCD(M, N))End SubPrivate Function GCD(a As Integer, b As Integer) As IntegerIf a
59、 Mod b = 0 Then GCD = bElse GCD = GCD(b, a Mod b)End IfEnd Function,,49,第13章 因數(shù)、最大公約數(shù)與素?cái)?shù)等問(wèn)題,13.3 素?cái)?shù)問(wèn)題素?cái)?shù)判斷的基本方法找出給定范圍內(nèi)的素?cái)?shù)擴(kuò)展無(wú)暇素?cái)?shù):本身為素?cái)?shù),且其逆序數(shù)也是素?cái)?shù)(149)超級(jí)素?cái)?shù):一個(gè)素?cái)?shù)從低數(shù)到高位依次去掉一位數(shù)后仍然是素?cái)?shù)(2939)孿生素?cái)?shù):數(shù)值相差為2的兩個(gè)素?cái)?shù)(29,31
60、)分解質(zhì)因數(shù),50,第14章 整數(shù)拆分、進(jìn)制轉(zhuǎn)換,14.1 整數(shù)拆分轉(zhuǎn)換成字符型處理數(shù)值法處理整數(shù)拆分的應(yīng)用求一個(gè)整數(shù)的各位數(shù)字之和水仙花數(shù)逆序數(shù),51,求一個(gè)整數(shù)的各位數(shù)字之和,Private Sub Command1_Click()Dim N As Integer, I As Integer, Sum As IntegerN = InputBox("Please input a number:"
61、)For I = 1 To Len(CStr(N)) Sum = Sum + Mid(CStr(N), I, 1)Next IPrint "Sum="; SumEnd Sub,52,逆序數(shù),Private Sub Command1_Click()Dim M As Integer, I As Integer, N As IntegerM = InputBox("Please input a
62、 number:")Print M; "的逆序數(shù)是:";Do While M >= 1 N = N * 10 + M Mod 10 M = M \ 10LoopPrint NEnd Sub,53,第14章 整數(shù)拆分、進(jìn)制轉(zhuǎn)換,14.2 進(jìn)制轉(zhuǎn)換14.2.1 十進(jìn)制轉(zhuǎn)換為二進(jìn)制14.2.2 十進(jìn)制轉(zhuǎn)換為十六進(jìn)制14.2.3 二進(jìn)制轉(zhuǎn)換為十進(jìn)制14.2.4 十六進(jìn)制轉(zhuǎn)換為
63、十進(jìn)制14.2.5 二進(jìn)制轉(zhuǎn)換為八進(jìn)制,54,十進(jìn)制轉(zhuǎn)換為二進(jìn)制,Private Sub Command1_Click()Dim M As Integer, I As Integer, N As StringM = InputBox("Please input a number:")Do While M >= 1 N = CStr(M Mod 2) & N M = M \ 2L
64、oopPrint NEnd Sub,55,第15章 字符運(yùn)算及圓圈數(shù)問(wèn)題,15.1 字符運(yùn)算15.1.1 字符的替換例:將由大寫(xiě)字母組成的某字符串中的字符進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換規(guī)則如下:A→C,B →D……X →Z,Y →A,Z →B15.1.2 字符串的替換 例:將字符串x中出現(xiàn)的子串s統(tǒng)統(tǒng)替換成子串 s1,如圖,56,第15章 字符運(yùn)算及圓圈數(shù)問(wèn)題,15.1 字符運(yùn)算15.1.3 逆序、回文串例15-3:將一個(gè)字
65、符串逆轉(zhuǎn)。如“1234”轉(zhuǎn)為“4321”例15-4:判斷一個(gè)數(shù)是否為回文串15.1.4 統(tǒng)計(jì)例15-1:統(tǒng)計(jì)一段文本中英文字母出現(xiàn)的次數(shù)例15-2:統(tǒng)計(jì)一段文本中單詞的個(gè)數(shù),約定連續(xù)出現(xiàn)的英文字母為一個(gè)單詞。,Dim Char() As String, S As String, T As String, C As StringDim I As Integer, Flag As Boolean, Count As Inte
66、gerS = Text1: T = "": C = "": Count = 0For I = 1 To Len(S) C = Mid(S, I, 1) If C >= "a" And C = "A" And C <= "Z" Then T = T & C Flag =
67、 True Else If Flag Then Count = Count + 1 ReDim Preserve Char(Count) Char(Count) = T T = "" End If Flag = False End IfNextIf Fla
68、g Then Count = Count + 1 ReDim Preserve Char(Count) Char(Count) = TEnd If,57,第15章 字符運(yùn)算及圓圈數(shù)問(wèn)題,15.2 圓圈數(shù)問(wèn)題15.2.1 報(bào)數(shù)問(wèn)題例15-3:14人圍成一圈,從1開(kāi)始報(bào)數(shù),凡報(bào)到3的出列,接著繼續(xù)從1開(kāi)始報(bào)數(shù),直到全部出列為止,問(wèn)依次出列的順序。,Dim A(1 To 14) As IntegerDim I
69、 As Integer, Count As Integer, Js As IntegerFor I = 1 To 14 A(I) = 1Next ICount = 0: Js = 0: I = 0Do Do While Count 3 I = IIf(I = 14, 1, I + 1) Count = Count + A(I) Loop Print I;
70、A(I) = 0: Js = Js + 1: Count = 0Loop While Js < 14,58,第15章 字符運(yùn)算及圓圈數(shù)問(wèn)題,15.2 圓圈數(shù)問(wèn)題15.2.2 圓圈中的特殊點(diǎn)例15-4:將20個(gè)兩位正整數(shù)排成圓圈依次編號(hào)。找出其中的拐點(diǎn)元素(即指它比左右相鄰元素都大或都?。?,并輸出拐點(diǎn)元素的值及位置。,Dim A(1 To 20) As IntegerDim I As Integer, Count As I
71、ntegerDim Left As Integer, Right As IntegerFor I = 1 To 20 A(I) = Int((99 - 10 + 1) * Rnd + 10) Print A(I);Next IPrintFor Count = 1 To 20 Left = IIf(Count = 1, 20, Count - 1) Right = IIf(Count = 20,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《計(jì)算機(jī)vb程序設(shè)計(jì)》復(fù)習(xí)試題
- 計(jì)算機(jī)程序設(shè)計(jì)a復(fù)習(xí)試題答案
- 計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)
- 計(jì)算機(jī)程序設(shè)計(jì)a復(fù)習(xí)試12題答案
- 計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)vb語(yǔ)言程序設(shè)計(jì)
- 大學(xué)計(jì)算機(jī)c語(yǔ)言程序設(shè)計(jì)(程序設(shè)計(jì))
- 計(jì)算概論計(jì)算機(jī)文化、程序設(shè)計(jì)
- 計(jì)算概論計(jì)算機(jī)文化、程序設(shè)計(jì)
- 計(jì)算機(jī)程序設(shè)計(jì)與語(yǔ)言
- 程序設(shè)計(jì)及算法語(yǔ)言計(jì)算機(jī)程序設(shè)計(jì)
- 大學(xué)計(jì)算機(jī)c語(yǔ)言程序設(shè)計(jì)(程序改錯(cuò))
- 大學(xué)計(jì)算機(jī)c語(yǔ)言程序設(shè)計(jì)(程序填空)
- 曲阜師范大學(xué)計(jì)算機(jī)-《java程序設(shè)計(jì)》復(fù)習(xí)資料
- 《計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)》a卷答案
- 計(jì)算機(jī)程序設(shè)計(jì)員題庫(kù)
- 計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)復(fù)習(xí)參考題及答案完整
- 計(jì)算機(jī)程序設(shè)計(jì)c++考試大綱
- 計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)實(shí)踐報(bào)告
- 計(jì)算機(jī)程序設(shè)計(jì)技術(shù)證書(shū)考試大綱
- 計(jì)算機(jī)程序設(shè)計(jì)員題庫(kù)
評(píng)論
0/150
提交評(píng)論