第4章程序控制结构课件.ppt

上传人:牧羊曲112 文档编号:2109202 上传时间:2023-01-11 格式:PPT 页数:63 大小:246.32KB
返回 下载 相关 举报
第4章程序控制结构课件.ppt_第1页
第1页 / 共63页
第4章程序控制结构课件.ppt_第2页
第2页 / 共63页
第4章程序控制结构课件.ppt_第3页
第3页 / 共63页
第4章程序控制结构课件.ppt_第4页
第4页 / 共63页
第4章程序控制结构课件.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《第4章程序控制结构课件.ppt》由会员分享,可在线阅读,更多相关《第4章程序控制结构课件.ppt(63页珍藏版)》请在三一办公上搜索。

1、Visual Basic程序设计,第四章 程序控制结构,Visual Basic程序设计第四章 程序控制结构,第4章 程序控制结构,程序示例,循环结构程序设计,选择结构程序设计,顺序结构程序设计,程序设计与算法,Visual Basic程序设计,第4章 程序控制结构程序示例循环结构程序设计选择结构程序设,4.1.1 程序的基本组成,程序的基本组成包括:输入、处理和输出三个部分。例如,需要用计算机编程求解一个三角形的面积。根据题目的要求可以确定:(1)程序的“输出”是三角形的面积值。(2)“处理”是求解三角形的面积。(3)如果用三条边长求三角形面积,则需要输入三角形的三条边长,如果用相邻的两条边

2、及其夹角求三角形面积,就需要输入两条边长及其对应的夹角。,Visual Basic程序设计,4.1.1 程序的基本组成 程序的基本组成,4.1 程序设计与算法,由于计算机只能执行算术运算和逻辑运算,所以其解决问题的方法、步骤和人们生活中解决问题的方法、步骤不同,必须考虑其特殊性。,Visual Basic程序设计,4.1 程序设计与算法 由于计算机只能,4.1.2 算法,1.算法的定义 从广义上讲,算法是解决某个问题或处理某个事件的方法和步骤。从狭义上讲,算法指用计算机解决某一问题的方法和步骤。算法可以分为两大类:一类是数值计算方法,主要是解决一般数学解析方法难以处理的一些数学问题,如求解超越

3、方程的根等;另一类是非数值计算方法,如排序、查找和求最大值最小值等。,Visual Basic程序设计,4.1.2 算法 1.算法的定义 Visual Basi,4.1.2 算法,2.算法的特征 算法具备以下五个特征:(1)确定性(2)可行性(3)有穷性(4)输入性(5)输出性,Visual Basic程序设计,4.1.2 算法2.算法的特征 Visual Basic程序,4.1.2 算法,3.算法的描述 算法本身可以采用不同的方法来描述。可以用自然语言(英语、汉语等)来描述;可以用伪代码来描述;可以用特定的图形来描述。,Visual Basic程序设计,4.1.2 算法3.算法的描述 Vis

4、ual Basic程,4.1.2 算法,4.算法和程序的区别 算法和程序的区别主要有三点:(1)一个程序不一定满足有穷性。(2)程序中的指令必须是机器可执行的,而算法中的指令则无此限制。(3)算法代表了对问题的解,而程序则是算法在计算机上的特定的实现。,Visual Basic程序设计,4.1.2 算法4.算法和程序的区别 Visual Bas,4.1.3 算法的基本结构,算法有三种基本结构:顺序结构 分支结构 循环结构。,Visual Basic程序设计,4.1.3 算法的基本结构 算法有三种基本结构:Vis,4.2 顺序结构,顺序结构的概念和执行流程 顺序结构是指按照语句书写的先后顺序依次

5、执行每条语句。顺序结构主要是由变量定义语句、赋值语句、输入输出语句和一些命令语句等构成。,Visual Basic程序设计,4.2 顺序结构 顺序结构的概念和执行流程 Visua,4.2 顺序结构,如以下顺序结构程序段:Private Sub Command1_Click()Dim x As Integer,y As Integer,z As Integer 变量定义 x=Val(Text1.Text)数据的输入 y=Val(Text2.Text)数据的输入 z=x+y 数据的处理 Text3.Text=z 数据的输出End Sub,Visual Basic程序设计,4.2 顺序结构如以下顺序

6、结构程序段:Visual Bas,4.2 顺序结构,该程序段自上而下依次执行各条语句。整个程序只有一个入口和一个出口。程序中主要包含四部分内容:(1)变量的定义;(2)数据的输入;(3)数据的处理;(4)数据的输出。,Visual Basic程序设计,4.2 顺序结构 该程序段自上而下依次执,1.输入函数InputBox,InputBox函数用来接收通过键盘输入的数据。InputBox函数的语法格式如下:v=InputBox(Propmt,Title,Default,x,y,Helpfile,Context)v:用于接收在InputBox函数中输入的数据。Propmt:对话框中显示的提示信息。

7、Title:对话框的标题。Default:显示在用户编辑框中的缺省值。x,y:用于确定对话框在屏幕上显示时的位置。Helpfile,Context:是帮助文件名和帮助主题号。,Visual Basic程序设计,1.输入函数InputBox InputBox,1.输入函数InputBox,例如x=InputBox(“请输入一个数字!”,“程序示例”,10),显示如图所示的对话框。,Visual Basic程序设计,1.输入函数InputBox 例如x=,2.消息框函数MsgBox,MsgBox函数用于向用户发布提示信息,并要求用户做出响应。MsgBox函数语法格式如下:v=MsgBox(Prop

8、mt,Button,Title,Helpfile,Context)Propmt:对话框中显示的提示信息。Button:定义信息框按钮的个数、类型和信息框中的图标。Title:信息框的标题。Helpfile,Context:Helpfile是帮助文件名,Context是帮助主题号。V:用于接收MsgBox函数返回的一个值。,Visual Basic程序设计,2.消息框函数MsgBox MsgBox函数用于向用户发,2.消息框函数MsgBox,例如:x=MsgBox(非法数据!,1+48+0,提示信息!),Visual Basic程序设计,2.消息框函数MsgBox 例如:x,4.3选择结构程序设

9、计,本节要点 选择结构先对条件进行测试,根据测试的结果选择执行对应的分支语句。1.If条件语句 2.IIf函数3.Select Case结构 4.选择结构应用示例,Visual Basic程序设计,4.3选择结构程序设计本节要点 Visual Basic程序,4.3.1 If条件语句,1.单分支If语句 说明:条件可以是:关系表达式、逻辑表达式或算数表达式。格式(1)中“语句组”可以是一条或几条语句。格式(3)不换行书写,仅一行,没有End If。If和End If必须成对使用,除非是格式(2)。,格式(2):If 条件 Then 语句,格式(1):If 条件 Then 语句组End If,V

10、isual Basic程序设计,4.3.1 If条件语句1.单分支If语句格式(2):格式(,4.3.1 If条件语句,1.单分支If语句 执行规则:条件为真则执行“语句”或“语句组”,否则,不执行“语句”或“语句组”,直接执行If后面的语句。例4.1根据百分制成绩提示考试是否通过。,If score=60 Then Print 祝贺你考试通过!End IfPrint 继续努力!,score=60If score=60 Then Print 祝贺你考试通过!Print 继续努力!,Visual Basic程序设计,4.3.1 If条件语句1.单分支If语句条件语组TFIf,4.3.1 If条件

11、语句,格式:If 条件 Then 语句组1 Else 语句组2 End If,执行规则:条件为真执行语句组1,If语句执行结束,否则,执行语句组2,If语句执行结束。,2.双分支If语句,Visual Basic程序设计,4.3.1 If条件语句格式:If 条件 Then 条件语,4.3.1 If条件语句,2.双分支If语句例4.2 求x和y的最大值,If x y Then Print 最大值是:,x Else Print 最大值是:,y End If,单分支和双分支If语句用于解决两种情况的问题。,Visual Basic程序设计,4.3.1 If条件语句2.双分支If语句 If x y,4

12、.3.1 If条件语句,2.双分支If语句例4.3 计算分段函数:程序代码:If x=0 Then y=(-x+Sqr(x3-3*x+7)/2Else y=Log(x)+1End If,Visual Basic程序设计,4.3.1 If条件语句2.双分支If语句 Visual B,4.3.1 If条件语句,2.双分支If语句,例4.4 计算分段函数。,程序代码:If x=0 ThenElse y=Log(x)+1EndIf,双分支If的Then中又包含一个If语句。,If x0 Then y=(-x+Sqr(x3-3*x+7)/2Else y=0 EndIf,Visual Basic程序设计,

13、4.3.1 If条件语句2.双分支If语句例4.4 计算分段,4.3.1 If条件语句,2.双分支If语句 在If语句的Then或Else中又包含If语句,称为If结构嵌套。注意:注意If嵌套结构的程序书写规范,最好采用层层缩进的方式。除非采用If结构的缩写格式,否则,有几个If语句,就有几个End If语句与之配对。,嵌套的结构比较复杂!,Visual Basic程序设计,4.3.1 If条件语句2.双分支If语句嵌套的结构比较复杂,4.3.1 If条件语句,3.多分支If语句,格式:If 条件1 Then 语句组1 ElseIf 条件2 Then 语句组2 ElseIf 条件n Then

14、语句组n Else 语句组n+1 End If,执行规则:首先判断条件1,条件1成立,执行语句组1,If语句执行结束,否则再判断条件2依此类推。n个条件都不成立,则执行语句组n+1,n+1个语句组仅执行一个。,注意:(1)在书写时要注意ElseIf之间不能有空格;(2)条件的书写是有顺序的,如有多个分支同时满足条件,只执行第一个与之匹配的语句组。,Visual Basic程序设计,4.3.1 If条件语句3.多分支If语句格式:If 条件1,4.3.1 If条件语句,3.多分支If语句,多分支If语句用于解决三种及以上情况的问题。把例4.4用多分支If语句处理。,程序代码:If x0 Then

15、 y=(-x+Sqr(x3-3*x+7)/2ElseIf x=0 Then y=0Else y=Log(x)+1End If,Visual Basic程序设计,4.3.1 If条件语句3.多分支If语句 多分支If语,4.3.1 If条件语句,3.多分支If语句,例4.5 编写一个按月收入额计算个人收入调节税的程序。计算方法如下:,Visual Basic程序设计,4.3.1 If条件语句3.多分支If语句例4.5 编写一个,4.3.2 条件函数IIf函数,格式:变量=IIf(表达式1,表达式2,表达式3)IIf函数根据条件的成立与否,返回不同表达式的结果。如果表达式1的值为真,函数值是表达式

16、2的值,否则函数值是表达式3的值。例4.6 将两个变量x和y中的最大值放入max。,If语句:If x y Then max=xElse max=yEnd If,IIf函数:max=IIf(x y,x,y),Visual Basic程序设计,4.3.2 条件函数IIf函数格式:变量=IIf(表达式1,,4.3.3 Select Case 语句,Select Case 测试表达式 Case 测试项1 语句组1 Case 测试项2 语句组2 Case 测试项n 语句组n Case Else 语句组n+1End Select,说明:(1)测试表达式的值应是数字或字符型。(2)测试项的取值必须与测试表

17、达式的值类型相同,常用形式为:具体取值,用逗号隔开如:1,5,9连续的范围:界1 TO 界2如:12 To 20 满足某个条件:Is运算符 如:Is10三种形式可组合使用,用逗号隔开。,Select Case语句执行过程 先计算测试表达式的结果,按顺序判断结果与Case语句后的测试项是否匹配,如果匹配,则执行相应的语句组,否则继续判断,如果表达式结果与所有的测试项都不匹配,则执行Case Else后的语句组(如果有的话)。,Visual Basic程序设计,4.3.3 Select Case 语句Select Cas,4.3.3 Select Case 语句,例4.7 百分制成绩转换成三级制成

18、绩。成绩大于等于90的为优秀,小于90大于等于60为及格,否则为不及格。,Select Case方法:Mark=Val(Text1.Text)Select Case Mark Case is=90 Print 优 Case 60 to 90 Print 通过 Case Else Print 未通过End Select,多分支If方法:Mark=Val(Text1.Text)If mark=90 then Print 优ElseIf mark=60 then Print 通过Else Print 未通过End If,Select Case 语句和多分支If语句都是处理多分支问题。,Visual

19、Basic程序设计,4.3.3 Select Case 语句例4.7 百分制成绩,4.3.4 选择结构应用示例,例4.8 编写一个加油站计费程序 从“种类”中选择油品种类,界面上的说明文字将随之改变,并将“数量”文本框设为焦点;在数量文本框中输入需购的油品数量后,单击“计算”按钮,在“总价”文本框显示所购油品种类应付的金额。已知汽油单价:90号 7.21元/升93号 7.41元/升97号 7.80元/升,Visual Basic程序设计,4.3.4 选择结构应用示例例4.8 编写一个加油站计费程序,4.3 分支结构总结,单分支If语句双分支If语句If语句的嵌套多分支If语句IIF函数Sele

20、ct Case 语句,Visual Basic程序设计,4.3 分支结构总结单分支If语句 Visual Basic,4.4 循环结构,循环:是在指定的条件下多次重复执行一组语句。,1.ForNext,2.DoLoop,3.循环嵌套,Visual Basic程序设计,4.4 循环结构循环:是在指定的条件下多次重复执行一组语句。,4.4 循环结构,4.4.1 For循环结构 说明:初值、终值和步长可以为正整数,也可以为小数。步长可以为正值,也可以为负值。Exit For用于退出For循环。循环的执行次数=Int(终值-初值)/步长)+1,For 循环变量=初值 To 终值 Step 步长 Exi

21、t For Next 循环变量,步长省略,默认为1,循环体,可以省略,Visual Basic程序设计,4.4 循环结构4.4.1 For循环结构For 循环变量,4.4 循环结构,4.4.1 For循环结构 执行过程(初值小于终值,步长为正值)(1)将初值赋给循环变量(仅执行一次)(2)判断循环变量值是否小于等于终值(3)若是则执行循环体(4)循环变量增加一个步长(5)重复(2)(4)步骤(6)否则,结束循环,Visual Basic程序设计,4.4 循环结构4.4.1 For循环结构循环变量赋初值循,4.4 循环结构,4.4.1 For循环结构执行过程(初值大于终值,步长为负值)(1)将初

22、值赋给循环变量(仅执行一次)(2)判断循环变量值是否大于等于终值(3)若是则执行循环体(4)循环变量增加一个步长(5)重复(2)(4)步骤(6)否则,结束循环,Visual Basic程序设计,4.4 循环结构4.4.1 For循环结构循环变量赋初值循,4.4 循环结构,例4.9 读程序写结果,程序代码:s=0 For i=1 To 10 step 1 s=s+i Next i Print i,s,可以省略,该算法是累加求和:累加求和的做法是定义一个变量(如s),作为累加器使用,一般初值为0,再定义一个变量(如i)用来保存加数。,第1次:i=1,1=10,s=0+1=1,执行Next,i为2,

23、第2次:i=2,2=10,s=1+2=3,执行Next,i为3,第10次:i=10,10=10,s=45+10=55 执行Next,i为11,第10次循环结束后:1110为假,循环结束。,Visual Basic程序设计,4.4 循环结构例4.9 读程序写结果程序代码:可以省略该,4.4 循环结构,思考:求奇数和1+3+5+99?两种方法:1)求和前用if语句对i做判断,如果i是奇数对i求和。2)设置步长为2,则i的取值全部为奇数。,方法1:S=0For i=1 To 99 If i Mod 2=0 Then s=s+i EndIfNext,方法2:S=0For i=1 To 100 step

24、 2 s=s+iNext,Visual Basic程序设计,4.4 循环结构思考:求奇数和1+3+5+99?方法,4.4 循环结构,例4.10 求1/2+2/3+20/21 该问题也是求和,是按规律求和,累加器第i次加ai=i/(i+1),ai称为通项。,程序代码:s=0 For i=1 To 20 Next i Print i,s,说明:通项求和一般是先计算通项,然后把通项加到累加器。,计算通项,t=i/(i+1),s=s+t,Visual Basic程序设计,4.4 循环结构例4.10 求1/2+2/3+20/2,4.4 循环结构,例4.11 求积:1*2*3*10分析:把求和s=s+i改

25、成s=s*i。注意:(1)把s的初值改为1;(2)s定义成Long 类型,整型可能不够用。,程序代码:Dim i As integer,s As Long s=1 For i=1 To 10 s=s*i Next i Print i,s,Visual Basic程序设计,4.4 循环结构例4.11 求积:1*2*3*10 程,4.4 循环结构,例4.12 输入一个正整数,求各个位上数字之和。如输入4532,输出各个位上的数字之和14,(1)输入正整数k(2)求它是几位数(3)用For循环:1,位数和步长(4)取k的末位数(Mod),求和(5)使k去掉末位数()(6)重复(4)和(5),直到结束

26、(7)在Text2中显示结果,分析:要求各个位数的和,必须把各个位上的数分离出来。,Visual Basic程序设计,4.4 循环结构 例4.12 输入一个正整数,求各个,4.4 循环结构,总 结,思考:我国现有人口13亿,按人口年增长率0.8%计算,多少年后我国人口超过26亿?能否用For循环解决该问题?,初值、终值、步长必须是数值型,步长为正,初值终值;缺省默认为1;在已知循环次数时使用For循环,循环次数=Int(终值-初值)/步长)+1;组成循环体的语句块可以是一条或多条语句;Exit For表示当遇到该语句时,退出循环体,执行Next后面的语句;在循环体内对循环变量可多次引用,但在循

27、环过程中一般不改变 其值,否则影响结果;退出循环后,循环变量保持退出时的值。,Visual Basic程序设计,4.4 循环结构 总 结思考:我国现有人口13亿,4.4 循环结构,4.4.2 DoLoop循环结构,(1)Do While Exit Do Loop,(2)D0 Exit Do Loop While,(3)Do Until Exit Do Loop,(4)Do Exit Do Loop Until,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构(1)D,4.4 循环结构,4.4.2 DoLoop循环结构格式 Do While 循环体 Exit D

28、o 循环体 Loop,先判断,后执行:先判断循环条件,若为真,执行循环体,然后再判断循环条件。否则,跳出循环体,执行Loop之后的语句。,注意:1.执行Exit Do,直接跳出循环体,执行DoLoop后面的语句。2.如果循环条件初始为假,则循环体一次都不执行。,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构,4.4 循环结构,4.4.2 DoLoop循环结构对例4.9 1+2+3+4+10,DoLoop方法:s=0:i=1Do While i=10 s=s+i i=i+1Loop,For循环实现的程序功能,也可以用Doloop循环实现。,For方法:s=0F

29、or i=1 To 10 s=s+iNext I,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构DoLo,4.4 循环结构,4.4.2 DoLoop循环结构,格式(2)Do 循环体 Exit Do 循环体 Loop While,执行规则:先执行循环体,再判断循环条件。,注意:不管“循环条件”开始为真还是为假,循环体至少执行一次。,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构 格式,4.4 循环结构,4.4.2 DoLoop循环结构 对例4.9 1+2+3+4+10,程序代码:s=0:i=1Do While i=10 s=

30、s+i i=i+1Loop,程序代码:s=0:i=1Do s=s+i i=i+1Loop While i=10,可以看出:两种While循环可以实现相同的功能。,将i先赋值为11,执行结果如何?,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构程序代码,4.4 循环结构,4.4.2 DoLoop循环结构例4.13 我国现有人口13亿,按人口年增长率0.8%计算,多少年后我国人口超过26亿?,分析:可以看出,该问题是循环问题,但循环次数不确定,不能用For循环。计算公式:26=13*(1+0.008)n;,程序代码:P=13:n=0Do n=n+1 p=p*(1

31、+0.008)Loop While p=26Print n,可以看出:(1)循环次数不确定的循环只能用While循环;(2)For循环都可以转换成While循环,但Wile循环不一定都能用For循环实现。,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构分析:可,4.4 循环结构,4.4.2 DoLoop循环结构,Do While 循环体 Loop,D0 循环体 Loop While,区别:(1)执行顺序不同:形式一:先判断,后执行循环体;形式二:先执行循环体,后判断。(2)执行次数不同(特殊情况下):形式一:条件不满足,循环体可能一次也不执行 形式二:不论条

32、件如何,至少执行一次,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构 Do,4.4 循环结构,例4.14 用辗转相除法求两自然数m、n的最大公约数和最小公倍数。,最大公约数:已知两数m、n;m Mod n的值为r;mn,nr;若r0,则重复,否则,循环结束,m为所求的最大公约数。最小公倍数:原两个数相乘,再除以最大公约数。,程序代码:Dim m As Integer,n As Integerm=Text1.Text:n=Text2.Textm1=m:n1=nDo Loop while r0Text3.Text=mText4.Text=m1*n1/m,r=m

33、Mod n,m=n,n=r,能否把while r0放到Do后面?,Visual Basic程序设计,4.4 循环结构例4.14 用辗转相除法求两自然数m、n的,4.4 循环结构,4.4.2 DoLoop循环结构,格式:Do Until 循环体 Loop,While条件与Until条件的区别:While条件是当条件满足时执行循环体,Until条件是当条件满足时结束循环体的执行。,格式(4):Do 循环体 Loop Until,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构 格式,4.4 循环结构,4.4.2 DoLoop循环结构 对例4-9求1+2+3+4+1

34、0,i=1Do While i=10 s=s+i i=i+1LoopPrint i,s,i=1Do Until i10 s=s+i i=i+1LoopPrint i,s,While循环和Until循环可以实现相同的功能。,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构i=1i,4.4 循环结构,4.4.2 DoLoop循环结构,几种形式比较:,Do While 循环体 Loop(While),Do Until 循环体 Loop(Until),区别:While 条件为真时执行循环体,否则退出循环。Until 条件为假时执行循环体,否则退出循环。,关系:whil

35、e和Until可以相互转换,但循环条件取反。,Visual Basic程序设计,4.4 循环结构4.4.2 DoLoop循环结构几种形式,4.4 循环结构,例4.15 输入一个正整数n,求最大的k,使得1*1+2*2+k*kn成立。,分析:由于循环次数不确定,不能用For循环,只能用DoLoop循环。(1)输入n的值。(2)判断累加和sn?。(3)若是,s加下一个数的平方值。(4)重复(2)、(3)。(5)若否,结束循环。(6)由text2输出最后一个累加数k。,程序代码:n=Val(Text1.Text)s=0:k=1 Do While s n k=k+1 s=s+k*k Loop Text

36、2.Text=k-1,Visual Basic程序设计,4.4 循环结构例4.15 输入一个正整数n,求最大的k,,4.4 循环结构,4.4.3 循环的嵌套循环的嵌套:在一个循环体内又包含了一个完整的循环结构。例4.16 打印乘法表。注意:(1)内、外循环变量不能同名。(2)外循环必须完全包含内循环,不能出现交叉。,Visual Basic程序设计,4.4 循环结构4.4.3 循环的嵌套 程序代码:Vi,4.4 循环结构,例4.17 计算1!+2!+5!程序代码:s=0 For i=1 To 5 s=s+t Next Print s,t=1For j=1 To i t=t*jNext,Visu

37、al Basic程序设计,4.4 循环结构例4.17 计算1!+2!+5!t,4.4 循环结构总结,1.ForNext语句2.DoLoop 语句3.循环的嵌套,Visual Basic程序设计,4.4 循环结构总结1.ForNext语句 Visual,4.5 程序示例,例4.18 从一个由字母、数字组成的字符串中找出所有大写字母并逆序输出。,方法2:Private Sub Command1_Click()For i=Len(Text1.Text)To 1 Step-1 t=Mid(Text1.Text,i,1)If t=A And t=Z Then Text2.Text=Text2.Text+

38、t End If NextEnd Sub,方法1:Private Sub Command1_Click()For i=1 To Len(Text1.Text)t=Mid(Text1.Text,i,1)If t=A And t=Z Then Text2.Text=t+Text2.Text End If NextEnd Sub,分析:字符串逆序连接有两种方法:一种正序取倒序连接;另一种是倒序取正序连接。,Visual Basic程序设计,4.5 程序示例例4.18 从一个由字母、数字组成的字符串,4.5 程序示例,例4.19 随机生成100个两位数,统计其中小于等于40、大于40小于70和大于等于

39、70的数的个数。,程序代码:For i=1 To 100 x=Int(Rnd*90)+10 If x=40 Then ElseIf x70 Then Else End If Next i,分析:该题目属于统计问题。可以设计三个计数器c1,c2和c3分别统计三种情况的数据,三种情况用多分支If处理。,c3=c3+1,c1=c1+1,c2=c2+1,Visual Basic程序设计,4.5 程序示例 例4.19 随机生成100个两位数,4.5 程序示例,例4.20 判断一个正整数n是否是完数,即一个数恰好等于它的因子之和,如:28124714。,分析:(1)判断1到n-1之间的数能否整除n,如能整

40、除则是n的一个因子,累加到s里。(2)判断s和n是否相等,如果相等则n是完数。,程序代码:s=1For I=2 To n-1 If n Mod I=0 Then s=s+INext IIf n=s Then Print n&是完数!,思考:如何打印一个正整数n的所有质因子?如36的质因子有2,2,3,3。,Visual Basic程序设计,4.5 程序示例 例4.20 判断一个正整数n是否是完数,4.5 程序示例,例4.21 利用级数和求cos(x)函数的近似值(误差小于10-6)。,分析:应用前面的累加和连乘的知识想到用循环计算各项之和,初值=0找到后项与前项的关系:,Visual Basi

41、c程序设计,4.5 程序示例例4.21 利用级数和求cos(x)函数的,4.5 程序示例,例4.22 求所有的水仙花数。水仙花数是指一个3位数,其各个数字的立方和等于数字本身。方法1:可以把所有三位数的个位、十分位和百分位取出来验证。,程序代码1:For i=100 To 999 s=Mid(i,3,1)3+Mid(i,2,1)3+Mid(i,1,1)3 If s=i Then Print iNext i,Visual Basic程序设计,4.5 程序示例例4.22 求所有的水仙花数。水仙花数是指,4.5 程序示例,方法2:可以用穷举法列举个位、十分位和百分位所有可能。,程序代码2:For a=1 To 9 For b=0 To 9 For c=0 To 9 If a*100+b*10+c=a 3+b 3+c 3 Then Print a*100+b*10+c End If Next NextNext,Visual Basic程序设计,4.5 程序示例方法2:可以用穷举法列举个位、十分位和百分,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号