收藏 分享(赏)

大学VB教学课件:第4章 程序设计的3种基本结构.ppt

上传人:dreamzhangning 文档编号:3361437 上传时间:2018-10-18 格式:PPT 页数:88 大小:737KB
下载 相关 举报
大学VB教学课件:第4章 程序设计的3种基本结构.ppt_第1页
第1页 / 共88页
大学VB教学课件:第4章 程序设计的3种基本结构.ppt_第2页
第2页 / 共88页
大学VB教学课件:第4章 程序设计的3种基本结构.ppt_第3页
第3页 / 共88页
大学VB教学课件:第4章 程序设计的3种基本结构.ppt_第4页
第4页 / 共88页
大学VB教学课件:第4章 程序设计的3种基本结构.ppt_第5页
第5页 / 共88页
点击查看更多>>
资源描述

1、第4章 程序设计的3种基本结构,VB采用事件驱动方法,但仍需要结构化程序设计方法,用控制结构控制程序执行的流程。 程序流程有三种最基本的结构:顺序结构、选择结构、循环结构。,引言,4.1 算法及算法的表示,算法-是解决问题而采取的方法和步骤的描述.,4.2 顺序结构程序,在VB中,采用OOP,程序的执行是事件驱动的,但就某个过程而言,过程本身代码的执行仍采用顺序结构,即按照语句代码出现的先后次序执行,一、几个常用语句 1、赋值语句Let,格式: Let| = 表达式 功能: 将表达式的值赋给变量或对象属性例:s = 0 Label1.BackColor = RGB(255,0,0),Let表示

2、赋值可以省略,注意事项,“=”赋值号与数学中的等号意义不同。例如:语句X=X+1表示将变量X的值加1后的结果值再赋给变量X,而不是表示两边的值相等.2) 赋值号左边必须是变量或对象属性.例:X = 1MyStr = “Good Morning”Command1.Caption=“确定”X+1=X (错误),3)变量名或对象属性名的类型应与表达式的类型相容.,例如: Dim A As Integer, B As Single, C As Double, S As String A = 100 S = “123.45“ A = S A=123 S = A S=“123” B = 12345.67

3、A = B A=12346 四舍五入后取整 C = 123456.789 B = C B=123456.8 单精度有效数字为7位 S = “abc” A = S,4)变量未赋值时,数值型变量的值为0,字符串变量的值为空串“”。,例4-1交换两个变量的值。设变量A中存放3,变量B中存放4,交换两个变量的值,使变量A中存放4,变量B中存放3。,2、注释语句注释语句是非执行语句,仅仅对相应位置上的代码起到注释作用格式1:Rem 注释内容 格式2:注释内容格式1中的关键字Rem和注释内容之间必须用空格隔开 格式2的注释语句在使用时较格式1更加灵活,可以不用加语句间的分隔符,直接出现在某行语句后面进行注

4、释,例:R=12.3 : Rem R 表示圆的半径S=3.14*R2 S表示圆的面积,3、暂停语句 Stop格式:StopStop常用于程序调试,用它来设置断点,当Stop语句执行时,会中断程序运行,并自动打开立即窗口,方便用户对程序代码进行检查和调试,4、卸载对象语句 Unload 格式:Unload Unload Form1 卸载窗体Form1 Unload Me 卸载当前窗体,5、结束语句 End格式:EndEnd语句不调用Unload、QueryUnload或任何其它Visual Basic代码,只是生硬地终止代码执行。6、响铃语句 Beep 格式:Beep,不管多么复杂的问题,一般在

5、解决时,都可分为三个步骤:输入数据、数据处理、输出结果1、使用文本框输入数据利用文本框接收用户通过键盘输入的内容,而用户输入的内容是保存在文本框的Text文本属性中,要获取Text文本属性的值即用户输入的内容,可通过赋值语句实现:A = Text1.Text,二、数据输入,例题4-1,例4-1输入长方体的长、宽和高,然后计算其体积和表面积。运行界面如图所示。,Text1,Text2,Text3,Text4,Text5,“计算”命令按钮Command1的Click事件的代码: Private Sub Command1_Click()Dim L As Single, W As Single, H

6、As SingleL = Val(Text1.Text)W = Val(Text2.Text)H = Val(Text3.Text)Text4.Text = L * W * HText5.Text = (L * W + L * H + W * H) * 2 End Sub “关闭”命令按钮Command2的Click事件代码: Private Sub Command2_Click()Unload Me End Sub,2、焦点与Tab键顺序,TabIndex属性:Tab键顺序 TabStop属性:焦点是否能停留在该控件上,TabIndex:0,TabIndex:1,TabIndex:2,Tab

7、Stop:False,TabStop:False,3、输入框函数(Inputbox),格式:InputBox(,),说明::字符串表达式。在对话框内显示提示信息,提示用户输入的数据的范围、作用等。如果要显示多行信息,则可在各行行末用回车符Chr(13)、换行符Chr(10)、回车换行符的组合Chr(13)&Chr(10)或系统常量vbCrLf来换行。:字符串表达式,可选项。运行时该参数显示在对话框的标题栏中。如果省略,则在标题栏中显示当前的应用程序名。:字符串表达式,可选项。显示在对话框上的文本框中,在没有其他输入时作为缺省值。如果省略,则文本框为空。,例 4-2,例4-2 输入圆的半径,计算

8、其周长和面积。运行界面如图所示。,Private Sub Command1_Click()Dim R As Single, L As Single, S As SingleR = Val(InputBox(“圆的半径“, “请输入“, 0)L = 3.1416 * 2 * RS = 3.1416 * R * RText1.Text = LText2.Text = S End Sub,三、数据输出,在程序设计中对输入的数据进行加工后,往往需要将数据输出。在VB中,可以使用:文本框(Text)控件标签(Label)控件消息框(MsgBox)函数或语句Print方法,1、文本框 2、标签,3、消息框

9、函数(Msgbox),在windows中,如果操作有误,通常会在屏幕上显示一个对话框,提示用户进行选择,然后系统根据选择确定其后的操作。例如:VB提供的MsgBox函数可以实现此功能,它可以向用户传送信息,并可以接收用户在对话框上的选择,以此作为程序继续执行的依据。,格式:MsgBox(,),功能:在对话框中显示消息,等待用户单击按钮,并返回一个 整数告诉用户单击了哪个按钮。,说明::字符串表达式,用于指定显示在对话框中的信息,可以使用回车符Chr(13)、换行符Chr(10)或是回车与换行符的组合Chr(13)&Chr(10)进行换行。:数值型数据,是可选项,用来指定对话框中出现的按钮和图标

10、的种类及数量,该参数的值由三类数值相加产生,这三类数值分别表示按钮的类型、显示图标的种类及默认按钮的位置:字符串表达式,是可选项,它显示在对话框的标题栏中,如果省略,则在标题栏中显示应用程序名。,格式:MsgBox(,),“按钮类型”的设置值及含义,MsgBox函数的返回值,若不需要返回值,则可以使用MsgBox语句, 其格式为: MsgBox ,例:,Private Sub Command1_Click( )a= MsgBox(“提示信息”) End Sub,Private Sub Command1_Click( )a= MsgBox(“提示信息” & Chr(13) & “换行显示”) E

11、nd Sub,Private Sub Command1_Click( )a= MsgBox(“提示信息” , ,“标题”) End Sub,Private Sub Command1_Click( )a= MsgBox(“提示信息” ,1,“标题”) End Sub,显示“确定”、“取消”按钮,Private Sub Command1_Click( )a= MsgBox(“提示信息” ,1+16,“标题”) End Sub,Private Sub Command1_Click( )a= MsgBox(“提示信息” ,2+32+0,“标题”) End Sub,若不需要返回值,则可以使用MsgBox

12、语句直接输出, 其格式为: MsgBox , 例:Dim a, a1, a2a=“中华人民”a1=“共和国”a2= a & a1Msgbox “a2=” & a2, , “输出数据”,例4-3 对例4-1的“关闭”按钮作如下改进:单击该按钮时弹出一消息框,询问是否真的要关闭,单击“是”则关闭,单击“否”则不关闭。,Private Sub Command1_Click()If MsgBox(“真的要关闭吗?“, vbYesNo + vbQuestion, “确认“) = vbYes ThenUnload MeEnd If End Sub,4、使用Print方法输出数据,调用格式:对象名.Prin

13、t 输出项列表; | ,对象除了可以是窗体外,还可以是图片框(PictureBox)、Debug或打印机(Printer),若缺省对象名,表示将文本输出到当前窗体上 输出项列表:是由0个、1个或多个待输出的数值表达式或字符串表达式构成;当输出项是由多个项构成,则中间必须用逗号或分号分隔;若Print后什么都不跟,则表示输出一个空行例:Form1.Print 1, 2, 3 Print 1, 2, 3 Picture1.Print 1, 2, 3,;(分号)和,(逗号)分隔符:用于分隔前后两个输出项,并决定分隔符后的下一个输出项的输出位置分号(;)表示下一个输出项将以紧凑格式,紧跟着上一个输出项

14、输出,中间没有空格逗号(,)表示采用标准格式,下一个输出项将在下一个打印区(每隔14列开始一个打印区,每列的宽度是所有字符的平均宽度)的起始位置输出Print 1, 2, 3 Print “We”;“study”;“VB”,标准格式紧缩格式,Print 1, 2, 3 Print “We“, “study“, “VB5.0“ 运行结果1 2 3 We study VB,标准格式,Print各数据分别存储在各自的标准输出区内,数据之间留有一定的空格字符,数据划分非常明显(读取数据容易) 对于一个数值型数据,前面有一个符号位(对于正号,不显示但留有一个空格),数据后留有一个空格作为分隔符,Prin

15、t 1; 2; 3 Print “We“; “study“; “VB5.0“ 运行结果1 -2 3 WestudyVB,紧凑格式,Print各数据紧凑地显示,节省空间 对于一个数值型数据,前面有一个符号位(对于正号,不显示但留有一个空格),数据后留有一个空格作为分隔符 对于字符串数据,输出的各字符串数据间没有空格而连成一片,造成读取数据的困难,定位输出函数: Spc(n):可选的。在显示或打印列表中的下一个输出项前插入n个空格,从而实现对输出进行定位Tab(n):可选的。用来将输出定位在绝对n列号上,使用无参数的Tab()表示将输出定位在下一个打印区的起始位置,例 题用Print方法和定位函数

16、输出数据 Spc(n):下一个输出项前插入n个空格 Tab(n):输出定位在绝对n列号上,Private Sub Form_Click()Print Tab(8); “A“Print Tab(6); “B“; Spc(2); “B“Print Spc(3); “C“; Spc(2); “C“; Spc(2); “C“Print Tab(2); “D“; Spc(2); “D“; Spc(2); “D“; Spc(2); “D“ End Sub,4.3 选择结构程序设计,有些实际问题中,往往需要根据条件成立与否,决定程序的执行方向,在不同的条件下,进行不同的处理。使用顺序结构是无法解决这一问题的

17、,需要用选择结构。,单行结构条件语句 IfThenElse块结构条件语句 IfThenEndIf多分支选择语句 Select CaseEnd Select以上语句又统称为条件语句,其功能都是根据条件或表达式的值有选择地执行一组语句。,一、If语句,1、 单行结构的IfThenElse语句格式1:功能:如果成立,则执行,否则执行。,可以是关系表达式、逻辑表达式、数值表达式或字符串表达式。对于数值表达式,VB将0作为False、非0作为True处理;对于字符串表达式,VB只允许包含数字的字符串,当字符串中的数字值为0时,则认为是False,否则认为是True。和可以有多条语句,各语句之间用冒号隔开

18、。单行If语句必须在一行内写完。,If Then Else ,例4-4 输入一个数,求其绝对值。运行界面如图所示。,方法一: Private Sub Command1_Click()Dim X As Single, Y As SingleX = Val(Text1.Text)If X = 0 Then Y = X Else Y = -XText2.Text = Y End Sub,方法二:Private Sub Command1-Cliok()Dim X AS SingleX=Val(Text1.Text)If X0 Then X=-XText2.Text=XEnd Sub,单行结构条件语句可

19、以嵌套,也就是说,在或 中可以包含另外一个单行结构条件语句。例: 1 (X0)Y= 0 (X=0)-1 (X=0 THEN IF X0 THEN Y=1 ELSE Y=0 ELSE _ ELSE Y= -1,续行符,2、 块结构双分支条件语句IfThenElse语句,T,F,语句体2,功能:如果成立,则执行,否则执行。,格式1:If ThenElseEND If,Private Sub Command1_Click()Dim a As Single, b As Single, c As Single, x As Singlea = Val(Text1.Text)b = Val(Text2.Te

20、xt)c = Val(Text3.Text)If a = b Thenx = aElsex = bEnd IfIf x c Thenx = cEnd IfText4.Text = x End Sub,例4-5 :输入三个数,求其中最大数.,例4-6 输入三个不同数,将它们从大到小排序。,分析:,t=a a=b b=t,Label4.caption= “排序结果为” & Str(a) & Str(b) & Str(c),例4-6 输入三个不同数,将它们从大到小排序。,Private Sub Command1_Click()Dim a As Single, b As Single, c As Si

21、ngle, t As Singlea = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If a b Thent= aa = bb = tEnd IfIf a c Thent= aa = cc = tEnd IfIf b c Thent= bb = cc = tEnd IfLabel4.Caption = “排序结果为:“ & Str(a) & Str(b) & Str(c) End Sub,3、块结构多分支条件语句IfThenElseIf语句,格式: If Then ElseIf Then Elself Then Else EndI

22、f,功能:实现多分支选择,例4-7 求一元二次方程ax2+bx+c=0的根。,分析:,Private Sub Command1_Click() Dim a As Single, b As Single, c As Single, d As Single Dim x1 As Single, x2 As Single a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) d = b * b - 4 * a * c If d 0 ThenX1 = (-b + Sqr(d) / (2 * a)X2 = (-b - Sqr(d) / (2

23、 * a)Text4.Text = x1 保留两位小数Text5.Text = x2 ElseIf d = 0 Then 有重根X1 = -b / (2 * a)Text4.Text = x1Text5.Text = x1 Else 复根X1 = -b / (2 * a)X2 = Sqr(-d) / (2 * a)Text4.Text = x1 & “+“ & x2 & “i“ Text5.Text = x1 & “-“ & x2 & “i“ End If End Sub,If Then IfThen If Then ElseEnd If IfThen Else End If End If E

24、nd If,二、 If语句的嵌套,If语句的嵌套指的是在If或Else后的语句体中又包含If语句。,例如: IF X0 THENY=1ELSEIF X=0 THENY=0ELSEY=-1END IFEND IF,例4-8 某书店为了促销,采用购书打折扣的销售办法,每位顾客一次购书:在100元以上200元以下者,按九折优惠;在200元及以上300元以下者,按八五折优惠;在300元及以上者,按八折优惠;编写程序,输入购书款数,计算输出优惠价。,Private Sub Command1_Click()Dim X As Single, Y As SingleX = Val(Text1.Text)If

25、X = 100 ThenY = XElseIf X 200 ThenY = 0.9 * XElseIf X 300 ThenY = 0.85 * XElseY = 0.8 * XEnd IfEnd IfEnd IfText2.Text = Y End Sub,三、多分支条件选择语句(Select Case),格式:Select Case Case 表达式列表1Case 表达式列表2Case ElseEnd Select,功能:根据的值,按顺序匹配Case后的表达式表,如果匹配成功,则执行该Case下的语句组,然后转到End Select语句之后继续执行;如果的值与各表达式表都不匹配,则执行Ca

26、seElse之后的,再转到EndSelect语句之后继续执行。,可以是任何数值表达式或字符表达式,case的三种形式:1) , 如:Case l,3,52) TO 如:Case l0 TO 30Case “A” TO “Z”3) Is 如: Case Is=10以上三种方式可以同时出现在同一个Case语句之后,各项之间用逗号隔开。如:Case l,3,10 T0 20, Is0,Private Sub Command1_Click()Dim X AS Single ,Y AS SingleX=Val(Text1.Text)Select Case XCase Is = 100 Y=XCase I

27、s 200 Y=0.9*XCase Is 300 Y=0.85*XCase ElseY=0.8*XEnd SelectText2.Text = YEnd Sub,例4-8 方法二,四、 IIf函数,格式:IIf(条件表达式,条件为True时的值,条件为False 时的值),例:iif(ab,a,b):返回a、b中较大值,例:,Private Sub Command1_Click()If Text1.Text = “王刚“ ThenIf UCase(Text2.Text) = “ABCDE“ ThenMsgBox “口令正确!“ElseBeepMsgBox “口令错误!“EndEnd IfEls

28、eBeepMsgBox “用户名错误!“EndEnd IfPrintPrint Spc(20); “欢迎使用!“ End Sub,4.4 循环结构程序设计,学习重点和难点,循环的概念 循环的基本语句结构和流程 循环在常用算法中的应用,在解决实际问题中,经常要对某一处理过程反复执行多次,这就是循环。由两部分组成:循环体:即要重复执行的语句序列;循环控制部分:即用于规定循环的重复条件或重复次数,同时确定循环范围的语句。,引例,单击窗体,要求在窗体上显示6行星号 分析: 要求显示的信息是每行是由16个星号所构成的字符串,所以可以通过连续6次调用窗体的Print方法实现图形的显示,Private Su

29、b Form_Click()Print “*“Print “*“Print “*“Print “*“Print “*“Print “*“ End Sub,若要求显示10行或更多行这样的信息 若打印信息的行数要求是由用户决定 专门用于进行重复操作的语句结构,循环结构,Do-Loop循环结构 当型循环(While) 直到型循环(Until) While型循环结构 For-Next 循环结构,1. DoLoop循环语句,格式一 :前测式当型循环 Do While Exit Do Loop,格式二:前测式直到型循环 Do Until Exit Do Loop,格式三 :后测式当型循环 Do Exit

30、Do Loop While,格式四:后测式直到型循环 DoExit Do Loop Until,DoLoop循环结构的四种格式,当型循环(While) 格式1 Do While 循环条件 循环体 Loop,格式2 Do 循环体 Loop While 循环条件,True,循环条件,循环体,False,循环条件,循环体,True,False,直到型循环(Until) 格式1 Do Until 循环条件 循环体 Loop,格式2Do循环体Loop Until 循环条件,False,循环条件,循环体,True,循环条件,循环体,False,True,例:求1+2+3+100,方法一:Private S

31、ub Command1-Click()Dim s AS Single,i AS Singles = 0 :i = 1Do While i = 100s = s + i i = i + 1LoopText1.Text=sEnd Sub,方法二:Private Sub Command1-Click()Dim s AS Single,i AS Singles = 0 :i = 1Do s = s + i i = i + 1Loop While i = 100Text1.Text=sEnd Sub,方法三:Private Sub Command1-Click()Dim s AS Single,i AS

32、 Singles = 0 :i = 1Do Until i 100s = s + i i = i + 1LoopText1.Text=sEnd Sub,方法四:Private Sub Command1-Click()Dim s AS Single,i AS Singles = 0 :i = 1Dos = s + i i = i + 1Loop Until i 100Text1.Text=sEnd Sub,While和Until的区别: While表示当条件成立时执行循环体, Until则是在条件不成立时执行循环体。,前测式和后测式的区别: 前测式先对进行判断,后执行循环体,如果第一次条件就不成

33、立循环体一次也不执行 后测式先执行循环体,后对进行判断,循环体至少执行一次。,Exit Do语句:用于退出循环体,执行Loop语句之后的语句。 该语句一般放在某条件结构中,用于表示当某种条件成立时,强行退出循环,引例,单击窗体,要求在窗体上显示6行星号 分析: 要求重复6次输出一行由16个星号所构成的字符串,因此,循环条件就是输出的行数6,重复执行的循环体就是Print “*“,Private Sub Form_Click()Dim i As Integer 定义计数器变量i来记录目前已输出的行数i = 0Do While i 6 当输出行数未达到6行,反复执行下面语句Print “*“i =

34、 i + 1 每输出一行信息,计数器i累加1Loop 返回到Do While行 End Sub,练习:用其他几种DOLOOP语句改写程序,引例,单击窗体,要求在窗体上显示n行星号 分析: 要求输出的16个星号的行数由用户决定 InputBox,Private Sub Form_Click()n = Val(InputBox(“请输入行数:“) 接收用户输入的行数i = 0Do While i n 当输出行数没有达到n行,就反复输出Print “*“i = i + 1 每输出一行信息,计数器i累加1Loop 返回到Do While行 End Sub,例4-10 求1+2+3+n3000的最小n值

35、。,Private Sub Command1_Click()Dim s As Integer, n As Integers = 0n = 0Do While s = 3000n = n + 1s = s + nLoopText1.Text = n End Sub,Private Sub Command1_Click()Dim s AS Integer,n AS Integers = 0 :n = 0Do Until S 3000n = n + 1s = s + nLoopText1.Text=nEnd Sub,例4-11 求两个正整数的最小公倍数。,Private Sub Command1_C

36、lick()Dim m As Integer, n As Integer, r As Integer, t As IntegerDim a As Integer, b As Integerm = Val(Text1.Text)n = Val(Text2.Text)a = m: b = nIf m 0Label3.Caption = “最小公倍数:“ & (a * b / m) End Sub,2、 While型循环控制语句,格式:While 循环条件 循环体 Wend这种结构使用完全类似于Do-Loop的当型循环(格式1),表示当循环条件为True时,反复执行循环体,直到循环条件为False为

37、止 一般,现在常用Do-Loop结构化与适应性更强的当型循环格式替换这种格式,3、 For-Next 循环结构语句,格式:For 循环控制变量 = 初值 To 终值 Step 步长 循环体 Next 循环控制变量 循环控制变量也称为“循环变量”、“控制变量”或“循环计数器”,它必须为数值型变量,但不能是下标变量或记录元素 初值、终值和步长也必须是数值表达式。其中步长是指每次循环变量的增量,一般当初值终值,则步长应取负值。仅当步长为1时,Step 步长可以省略,For 循环控制变量 = 初值 To 终值 Step 步长 循环体 Next 循环控制变量,For-Next循环结构语句的执行流程图 循

38、环次数的一般计算公式:Int(终值-初值)/步长)+1 事先已知循环次数,则可使用For-Next循环结构语句计数循环,True,For I=2 to 18 step 3c=c+1Next I计算循环次数,1,2,2,5,3,8,4,11,5,14,6,17,20,c=18For I=2 to c step 3c=c+1Next I上述代码段中虽然变量c在循环体内改变,但根据For循环执行流程,循环控制变量I的终值依旧为18,并未改变,因此循环次数=6,1,2,2,5,3,8,4,11,5,14,6,17,20,18,19,20,21,22,23,24,当循环变量在循环体内被重新赋值,则会影响

39、和改变循环次数,c=18For I=2 to 18 step 3c=c+1I=I+2Next I上面循环体中,循环控制变量I被改变,所以此时会影响循环次数,循环次数=4,1,2,2,4,3,9,4,14,19,18,19,20,21,22,7,12,17,22,4、 循环嵌套,Do While 循环条件 循环体 Loop,在一个循环的循环体中又包含另外一个循环,For i = 1 To 9For j = 1 To 9Print i; “*“; j; “=“; i * j;Next jPrint Next i,例题4-14,打印乘法“九九表” 分析:9*9的二维表,用双重循环。,Private

40、Sub Form_Click()FontSize = 12Print Tab(25); “九九表“PrintPrint “ *“;For i = 1 To 9Print Tab(i * 6); i;Next iPrintFor j = 1 To 9Print j; For k = 1 To jm = j * kPrint Tab(k * 6); m; Next kPrintNext j End Sub,内层与外层循环不得交叉。 如:For x For xFor y For y Next y Next xNext x Next y正确 错误 内层与外层循环的循环变量名不得相同For a = 1

41、To 10For a = 5 To 10Print aNext aNext a错误,注意:,例4-15 用下列近似式计算Sin(x)的近似值:Sin(x),Private Sub Command1_Click()Dim x As Single, y As Single, n As Integer, f As long x = Val(Text1.Text)n = Val(Text2.Text)y = x : s = 1For i = 1 To nf = 1: p = 1For j = 1 To 2 * i + 1f = f * jp = p * xNext js = -sy = y + s *

42、 p / fNext iText3.Text = yEnd Sub,思考题:素数问题,素数就是大家在数学中熟知的质数,即一个大于1且只能被1和它本身整除的整数 输入一个正整数,判断该正整数是否为素数 分析: 从素数的定义出发:既然素数除了1和它本身之外,不能被任何数整除,那么就把待判断的数X依次与除了1和它本身之外的其他所有的数进行除,看是否有整除的情况;若有,表示X不是素数,否则就是素数。除数的范围i从2开始到X-1(因为一个数不可能能整除比它自身大的数),由于要对这个范围内的每一个数都进行相同的重复除操作,所以使用循环,输入一个正整数,判断该正整数是否为素数,For i = 2 To x

43、- 1如果能被某个数据整除,x就不是素数,直接提前结束循环If x Mod i = 0 Then Exit For Next i If i x-1,即说明x是素数MsgBox CStr(x) & “是素数“ End If,For i = 2 To x - 1如果能被某个数据整除,x就不是素数直接提前结束循环If x Mod i = 0 Then Exit For Next i If i x-1,即说明x是素数MsgBox CStr(x) & “是素数“ End If,输入一个正整数,判断该正整数是否为素数,实际上数学上已经证明:x不可能被大于x/2的数整除,也不可能被大于 的数整除,因此上述代码可以进一步优化,减少循环判断的次数,例:输出100200间全部素数,For x=100 to 200For i = 2 To x - 1If x Mod i = 0 Then Exit ForNext Iif ix-1 then print x; Next x,改进:每行输出5个 For x=100 to 200For i = 2 To x - 1If x Mod i = 0 Then n=n+1:Exit ForNext Iif ix-1 then print x;if n mod 5=0 then print Next x,谢谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报