书签 分享 收藏 举报 版权申诉 / 82
上传文档赚钱

类型流程控制语句.ppt

  • 上传人(卖家):hyngb9260
  • 文档编号:5725640
  • 上传时间:2023-05-05
  • 格式:PPT
  • 页数:82
  • 大小:541.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《流程控制语句.ppt》由用户(hyngb9260)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    流程 控制 语句
    资源描述:

    1、陕西铁路工程职业技术学院陕西铁路工程职业技术学院第三章第三章 VB程序语句与控制结构程序语句与控制结构 3.1 数据的输入与输出数据的输入与输出 3.2 顺序结构顺序结构 3.3 选择结构选择结构 3.4 循环结构循环结构 3.5 辅助控制语句辅助控制语句 3.6巩固和提高巩固和提高 陕西铁路工程职业技术学院.数据的输入与输出数据的输入与输出VB的输入输出有多种形式,常用的输入方式有:键盘输入数据的函数InputBox以及文本框等控件。常用的输出方式有:Print方法、MsgBox函数和过程以及图形框、文本框、标签等控件。陕西铁路工程职业技术学院图3-3 313 Print 方法方法 Prin

    2、t方法常用于在屏幕上输出信息。在本书第一章1.4.1节中已有介绍。陕西铁路工程职业技术学院例如,执行如下代码:a=10:b=15 c$=“欢迎使用Visual Basic”Print“数值表达式a+b的值为:”;a+b PrintPrint “字符串变量c$的值为:”;c$运行结果如下:数值表达式a+b的值为:25 字符串变量c$的值为:欢迎使用Visual Basic陕西铁路工程职业技术学院 【注意】当Tab(i)中i的值小于当前位置的值时,重新定位在下一行的i列。例如,执行以下语句:Print tab(5);“abcdefg”;tab(8);“1234567”运行结果如下:abcdefg

    3、1234567陕西铁路工程职业技术学院3.2 3.2 顺序结构顺序结构 顺序结构就是程序的各语句按出现的先后次序执行。在Visual Basic中顺序结构的语句主要有赋值语句、输入语句、输出语句等。3.2.1 3.2.1 赋值语句赋值语句 赋值语句是程序设计中最基本的语句,也是为变量和事件的属性赋值的最主要的方法。赋值语句的一般形式为:变量名=表达式 或对象名.属性=表达式陕西铁路工程职业技术学院 赋值语句的作用:先计算右边表达式的值,然后赋给左边的变量或控件属性。例如:sum=100 把数值常量100赋给变量sum aver=sum/10 将表达式sum/10的值赋给变量averText1.

    4、Text=”Hello!”为文本框显示字符串 Text1.Text=”清除文本框的内容 【注意】(1)表达式可以是任何类型的表达式,一般应与变量名的类型一致,当表达式的类型与变量的类型不一致时,作如下处理:陕西铁路工程职业技术学院若左边是字符型变量,将右边非字符型转换成左边的类型。若左边是数值型变量,右边表达式为数字字符串时,自动转换成数值类型赋给左边变量。若右边表达式有非数字字符时,则出现类型不匹配错误。若左边是逻辑型变量,右边是数值型表达式,非0转换为True,0转换为False;反之,将逻辑型表达式的值赋给数值型变量时,True转换为-1,False转换为0。不管表达式的值是什么类型,都

    5、可以直接赋给一个变体类型的变量。陕西铁路工程职业技术学院(2)赋值号与关系运算符等于都用“=”表示,但系统不会产生混淆,会根据所处的位置自动判断是何种意义的符号。也就是在条件表达式中出现的是等号,否则是赋值号。例如:赋值语句a=b与b=a是两个结果不相同的赋值语句,而在关系表达式中a=b与b=a两种表示方法是等价的。(3)赋值号左边只能是变量,不能是常量、符号常量、表达式。下列语句均为错误的赋值语句:5=x+y 左边是常量 vbcrlf=34 左边是符号常量x+y=5 左边是表达式 陕西铁路工程职业技术学院(4)不能在一条赋值语句中,同时给多个变量赋值。例如:要对x,y,z三个变量值赋初值1,

    6、如下书写语法上没错,但结果不正确:Dim x%,y%,z%x=y=z=1 执行该语句前x,y,z的变量值默认是0,Visual Basic在编译时,将右边两个“=”作为关系运算符处理,先进行y=z比较,结果为TrueTrue(-1);接着TrueTrue=1比较结果FalseFalse(0);最后将FalseFalse赋值给x,因此最后三个变量中的值仍为0。正确书写应分别使用三个赋值语句完成。陕西铁路工程职业技术学院(5)如下赋值语句形式很常用:sum=sum+x表示将变量sum、x中的值相加后再赋给sum,与循环结构结合使用,起到累加作用。n=n+1表示将变量n的值加1后再赋给n,与循环结构

    7、结合使用,起到计数器的作用。【例3.43.4】输入某位同学的三门课程的成绩,求它们的平均分。程序代码如下:陕西铁路工程职业技术学院Private Sub Form_Click()Dim s1!,s2!,s3!,aver!s1=InputBox(“输入第一门课程的成绩”)s2=InputBox(“输入第二门课程的成绩”)s3=InputBox(“输入第三门课程的成绩”)aver=(s1+s2+s3)/3 print“aver=”;averEnd Sub陕西铁路工程职业技术学院3.33.3选择结构选择结构在人们所处理的问题中,常常需要根据某些给定的条件是否满足来决定所执行的操作。选择结构就是对给定

    8、条件进行判断,从而选择执行不同分支,一般可由条件语句来完成。VB中的条件语句包括If语句和Select语句。陕西铁路工程职业技术学院3.3.1 If3.3.1 If条件语句条件语句 1 1ififThenThen语句语句语句格式:(1)If Then(2)If Then End If语句功能:当的值为True或非零时,执行Then后面的语句(或语句块),否则不做任何操作,实现单分支选择结构。其流程如图3-5。陕西铁路工程职业技术学院图3-5 说明:(1)表达式一般为关系表达式或逻辑表达式,也可为算术表达式。例如:If n=0 Then End If 年龄=35 and 职称=”讲师”Then

    9、n=n+1 If x-5 Then print“x5”表达式语句块TF陕西铁路工程职业技术学院(2)格式(1)中的是单行语句,若要执行多条语句,语句间用冒号分隔,且必须在一行上。格式(2)中的可以是一条或多条语句。例如,语句If xy Then x=x-5:y=y+5也可写成 If xy Then x=x-5 y=y+5 End If陕西铁路工程职业技术学院【例3.53.5】输入x的值,并输出其绝对值。程序代码如下:Private Sub Command1_Click()Dim x!x=InputBox(请输入一个数)If x0 Then x=-xPrint 绝对值是:;x End Sub2

    10、2IfIfThenThenElseElse语句语句 语句格式:(1)If Then Else 陕西铁路工程职业技术学院(2)If Then Else End If语句功能:当的值为True或非零时,执行Then后面的语句(语句块),否则执行Else后面的语句(或语句块),实现双分支选择结构。其流程如图3-6。图3-6表 达式语句块1语句块2TF陕西铁路工程职业技术学院 例如:输入一个整数,判断其奇偶性。程序代码如下:Private Sub Form_Click()Dim x as integer x=InputBox(“请输入一个整数”)If x mod 2=0 Then Print x;”是

    11、偶数”Else Print x;”是奇数”End if End Sub3 3IfIfThenThenElseIfElseIf语句语句 语句格式:陕西铁路工程职业技术学院 If Then ElseIf Then Else End If 语句功能:根据不同的表达式值确定执行哪个语句块,实现多分支选择结构。其流程如图3-7。陕西铁路工程职业技术学院图3-7使用说明:先计算的值,若为真,则执行,并跳过其他分支语句执行If语句的后续语句(即End If后面的语句);若为假,则计算的值,依此类推,直到找到一个为真的条件时,才执行相应的语句块,然后执行End If后面的语句。格式中的Else是可选项,表示若

    12、无任何表达式值为真时,则执行;表达式1表达式2表达式n语句块1语句块2语句块n语句块n+1FFFTTT陕西铁路工程职业技术学院 若无Else选项,且所有条件表达式值都不为真,则不执行If语句中的任何语句块。【注意】当If语句内有多个表达式的值为真时,只执行第一个为真的表达式后的语句块。【例3.63.6】在文本框中输入若干字符,统计其中字母字符、数字字符以及其他字符的个数,并显示结果。程序代码如下:Dim countX%,countY%,countZ%Private Sub Text1_KeyPress(KeyAscii As Integer)陕西铁路工程职业技术学院 Dim c$C$=chr(

    13、KeyAscii)If Ucase(c)=”A”And Ucase(c)=”0”And c=”9”Then countY=county+1 Else countZ=countZ+1 End If If KeyAscii=13 Then Print“字母字符有”;countX;”个”Print“数字字符有”;countY;”个”Print“其他字符有”;countZ;”个”End If End Sub 陕西铁路工程职业技术学院3.3.2 Select Case3.3.2 Select Case语句语句Select Case语句是多分支结构的另一种表示形式,它可使程序代码更加简单、清晰、易读。语句

    14、格式:Select Case Case Case Case Else End Select陕西铁路工程职业技术学院语句功能:根据条件表达式的值转向相应的语句块,实现多路分支。其流程如图3-8。图3-8表达式列表1表达式列表2表达式列表n语句块1语句块2语句块n语句块n+1TTTFFF陕西铁路工程职业技术学院使用说明:先求出条件表达式的值,然后从上到下跟各个Case子句中的表达式列表进行匹配,如果找到了相匹配的值,则执行该子句下的语句块。若有多个Case子句的值与条件表达式的值相匹配,则只执行第一个与之匹配的Case子句后面的语句块。如果没有任何Case子句中的表达式列表与之匹配,则执行Case

    15、 Else子句中的语句块。格式说明:(1)条件表达式可以是数值表达式或字符串表达式,一般为变量。(2)表达式列表用来描述条件表达式的可能取值情况,可以由多个表达式组成,表达式与表达式之间要用“,”隔开,必须与条件表达式的数据类型相同且有确定的值。表达式列表有以下三种形式:陕西铁路工程职业技术学院 表达式或由逗号分隔的多个表达式 例如:Case“A”Case 1,2,3 Case a,b To 例如:Case-10 to 10 Case“A”to“F”Case a to bIs 例如:Is=a+b陕西铁路工程职业技术学院【例3.73.7】某商店进行购物打折优惠活动促销,根据每位顾客一次性购物的消

    16、费额给予不同的折扣,具体方法如下:(1)购物1000元以上的九五折优惠,(2)购物2000元以上的九折优惠,(3)购物3000元以上的八五折优惠,(4)购物5000元以上的八折优惠。程序代码如下:Private Sub Command1_Click()Dim x As Single,y As Single x=InputBox(请输入购物金额:)Select Case x Case Is 1000 Print 不优惠 y=x 陕西铁路工程职业技术学院 Case Is 2000 Print 九五折优惠 y=0.95*x Case Is 3000 Print 九折优惠 y=0.9*x Case I

    17、s=5000 Print 八折优惠 y=0.8*x End Select Print 优惠后应收款额为:;y End Sub陕西铁路工程职业技术学院3.3.3 3.3.3 选择结构的嵌套选择结构的嵌套将一个选择结构放在另一个选择结构内,称为选择结构的嵌套。If语句的多分支格式实际上是一种If结构的嵌套形式。选择结构的嵌套既可以是同一种结构的嵌套,也可以是不同结构之间的嵌套。例如可以在If结构中又包含If语句,或在If结构中包含Select语句等形式。例如:若x大于0,则y等于1;若x小于0,则y等于-1;否则,y等于0。语句如下:If x0 Then y=1 Else If x0 s=sqr(

    18、disc)Print“x1=”;(-b+s)/(2*a)Print“x2=”;(-b-s)/(2*a)Case Is=0 Print“The root is:”Print“x=”;-b/(2*a)Case Else Print“No real root.”End Select End If End Sub陕西铁路工程职业技术学院3.3.4 3.3.4 条件函数条件函数 1 1IIFIIF函数函数使用IIf函数也可以实现简单的双分支选择结构。语句格式:result=IIFresult=IIF(条件表达式条件表达式,1,2)语句说明:(1)“result”是函数的返回值:当条件表达式为真时,函数返

    19、回的值,当条件表达式为假时,函数返回的值。陕西铁路工程职业技术学院(2)和可以是任何表达式。例如:语句If xy Then max=x Else max=Y也可写成:Max=IIf(xy,x,y)2 2Choose()Choose()函数函数 使用Choose函数也可以实现简单的多分支选择结构。语句格式:result=Choose(result=Choose(整数表达式,选项列表整数表达式,选项列表)语句说明:Choose函数根据整数表达式的值来决定返回选项列表中的某个值。若整数表达式值是1,则Choose函数会返回列表中的第1个选项。若整数表达式值是2,则会返回列表中的第2个选项,以此类推。

    20、陕西铁路工程职业技术学院若整数表达式的值小于 1 或大于列出的选项数目时,Choose函数返回Null。例如:c=Choose(x,”red”,”green”,”blue”)当x值为1时,返回“red”;当x值为2时,返回“green”;当x值为3时,返回“blue”;当x不在1-3之间,函数返回Null。3 3、SwitchSwitch函数函数Switch函数称开关函数,计算一个条件表达式列表,并返回与该表中一个等于True的条件表达式相联系的一个表达式的值。语句格式:Result=Switch(Result=Switch(,2)语句说明:语句说明:当条件表达式当条件表达式1 1为为True

    21、True时时,返回表达式返回表达式1 1的值;当条件表达式的值;当条件表达式2 2为为TrueTrue时时,返返回表达式回表达式2 2的值,依此类推。的值,依此类推。例如:例如:y=switch(x0,1,x=0,0,x0,1,x=0,0,x0,-1)陕西铁路工程职业技术学院3.4 3.4 循环结构循环结构 在实际应用中,经常遇到一些需要反复多次处理的问题,例如求若干个数之和、之积等。重复执行某一程序块称作循环。Visual Basic提供了多种不同风格的循环结构语句,包括Do Loop、While Wend,For Next,For Each Next等,其中最常用的是For Next语句和

    22、Do Loop语句。陕西铁路工程职业技术学院3.4.1 3.4.1 计数循环计数循环 For循环又称计数循环,常用于循环次数预知的场合。语句格式如下:For =To Step Next Next 说明:(1)参数、和 都是数值型。(2)内是一系列VB合法的语句,构成循环体。陕西铁路工程职业技术学院 (3)步长为可选参数,如果没有指定,则默认值为1。步长可以为正,也可以为负。若为正,则初值应小于或等于终值;若为负,则初值应大于或等于终值,这样才能保证执行循环体内的语句;若为0,循环永远不能结束(即出现死循环)。(4)该语句的执行过程如图3-9所示:把“初值”赋给“循环变量”,仅被赋值一次。检查循

    23、环变量的值是否超过终值,若是就结束循环,执行Next后的下一语句;否则执行一次循环体。执行Next语句,循环变量的值增加一个步长,转继续循环。陕西铁路工程职业技术学院图3-9循环变量=初值循环变量超过终值?执行循环体循环变量=循环变量+步长TF陕西铁路工程职业技术学院【例3.93.9】求1到100的和。Private Sub Command1_Click()Dim i As Integer,sum As Integer sum=0 For i=1 To 100 sum=sum+i Next i Print sum End Sub思考:若要将上例的求和问题改为求积,如求10!,应如何编写代码?陕

    24、西铁路工程职业技术学院 【注意】(1)一般在循环体内不要修改循环变量的值,否则会影响原有的循环控制状况。例如以下程序段:For i=1 To 5 If i Mod 2=0 Then i=i+1 Print i;Next i 程序执行打印结果为:1 3 5循环体执行了3次,若没有第二行,程序应执行5次。陕西铁路工程职业技术学院(2)如果在循环体中没有给循环变量赋值,则循环的次数可以从For语句中指定的参数直接计算出来:循环次数=Int(循环终值-循环初值)/步长)+1 例如:For i=1 To 10 Step 3 Print i;Next i 循环次数=int(10-1)/3)+1=4 【例3

    25、.103.10】求Fibonacci数列的前30个数。这个数列有如下特点:前两个数为1,从第三个数开始,其值是前两个数的和,即:陕西铁路工程职业技术学院 F1=1(n=1)F2=1(n=2)Fn=Fn1+Fn2(n3)程序如下:Private Sub Command1_Click()Dim i As Integer Dim f1 As Long,f2 As Long,fn As Long f1=1 f2=1 Print f1,Print f2,For i=3 To 30 f1,f2已知,从第三个数开始计算 陕西铁路工程职业技术学院 fn=f1+f2 f1=f2 f2=fn 更改f1,f2的值

    26、Print fn,If i Mod 4=0 Then Print 打印4个数后换行打印 Next End Sub 运行结果如图3-10:图3-10陕西铁路工程职业技术学院3.4.2 3.4.2 条件型循环条件型循环条件型循环是根据某个条件决定循环的次数。常用的循环结构有:While循环结构及Do循环结构。1 1 WhileWhile循环结构循环结构While循环结构用WhileWend语句来实现,语句格式如下:While While WendWend 陕西铁路工程职业技术学院 语句说明:(1)“条件表达式”可以是关系表达式、逻辑表达式或数值表达式。如果是数值表达式,值为0被作为False,非零

    27、值则为True。(2)语句的执行过程是:先计算条件表达式的值,若为True,则执行循环中的语句块,遇到Wend语句时返回While语句继续判断条件表达式的值,若仍为真,则继续执行语句块,重复上述过程直到条件表达式的值为False,则退出循环结构,执行Wend语句的后续语句。循环环执行过程如图3-11。(3)如果条件一开始就不成立,则语句块一次也不会被执行。陕西铁路工程职业技术学院图3-11 例如,用While循环语句改写例3.9,程序代码如下:Private Sub Command1_Click()Dim i As Integer,sum As Integer sum=0:i=1 While

    28、i=100 sum=sum+i i=i+1 Wend Print sum End Sub表达式语句块FT陕西铁路工程职业技术学院 2 2 DoDo循环结构循环结构Do循环结构的形式较灵活,可分为以下几种:(1)先判断条件的DoLoop循环 格式一:Do WhileDo While Loop Loop 语句执行过程:先计算条件表达式的值,若为True,则执行语句块中的语句;若为False则退出循环结构。循环环执行过程如图3-12。格式二:Do UntilDo Until Loop Loop 陕西铁路工程职业技术学院语句执行过程和格式一基本相同,唯一不同的是,它在条件表达式为False时重复执行语

    29、句块,直到条件为True时退出循环结构。循环环执行过程如图3-13。图3-12 图3-13 表达式语句块FT表达式语句块TF陕西铁路工程职业技术学院【例3.113.11】将10000元存入银行,按3.25%的利率,试问多长时间就会连本带利翻一番。程序代码如下:Private Sub Form_Click()Dim year%,money!,original!,interest!original=10000 money=original Interest=3.25/100 Do While money2*original year=year+1 money=money+interest*mone

    30、y Loop Print“In”;year;”years,youll have”;money End Sub 请读者自己使用格式二改写上述程序。陕西铁路工程职业技术学院(2)后判断条件的DoLoop循环 格式三:Do Do Loop While Loop While 语句执行过程:首先执行语句块中语句,然后计算条件表达式,如果条件表达式值为True,则继续执行语句块,否则退出循环结构。循环体至少执行一次。循环执行过程如3-14。格式四:Do Do Loop Until Loop Until 陕西铁路工程职业技术学院格式四的执行过程和格式三基本一样,也是先执行后判断。唯一不同的是,它在条件表达式

    31、值为假时重复执行语句块,直到条件表达式值为真时退出循环结构。循环环执行过程如图3-15。图3-14 图3-15【例3.12】用辗转相除法求两正整数m,n的最大公约数。求最大公约数的算法如下:语句块表达式TF语句块表达式FT陕西铁路工程职业技术学院 (1)对于已知两数m,n,使得mn;(2)m除以n得余数r;(3)令m n,n r;(4)若r0,转到(2)继续执行,直到r=0求得最大公约数为m,环结束。程序代码如下:Private Sub Form_Click()Dim m%,n%m=InputBox(输入m)n=InputBox(输入n)陕西铁路工程职业技术学院 If mn t=m m=n n

    32、=t End If m1=m n1=n Do r=m Mod n m=n n=r Loop while(r 0)Print m1;,;n1;的最大公约数为;m End Sub 陕西铁路工程职业技术学院(3)无条件循环 格式:Do Loop 重复执行循环体,循环不会停止,除非在循环体中有Exit Do语句或在执行时按下Ctrl+Break键。例如:Private Sub Form_Click()s=0i=0 Do i=i+1 s=s+i If s=3000 Then Exit Do Loop Print i,s End Sub陕西铁路工程职业技术学院3.4.3 3.4.3 循环结构的嵌套循环结构

    33、的嵌套 在一个循环语句的循环体内又包含另一个循环语句,称为循环的嵌套。循环的嵌套既可以是同一种循环结构的嵌套,也可以是不同循环结构之间的嵌套。例如,可以在For循环中包含另一个For循环,也可以在Do循环中包含一个For循环。【例3.133.13】输出3-100之间的素数。素数,就是一个大于2且只能被1和本身整除的整数。判断某数m是否为素数的算法是:对于m从i=2,3,m-1判别m能否被i整除,只要有一个能整除,m就不是素数,否则m是素数。陕西铁路工程职业技术学院 程序代码如下:Private Sub Form_Click()Dim m%,i%,k%,Flag As Boolean For m

    34、=3 To 100 Flag=True For i=2 To m-1 If(m mod i)=0 Then Flag=False Next i If Flag Then k=k+1 If(k Mod 10)=0 Then Print m Else Print m;每行显示10个 End If Next m End Sub实际上m不可能被大于m的数整除,因此为减少循环次数,可将内循环语句改为:For i=2 To int(sqr(m)循环次数就会大大减少。陕西铁路工程职业技术学院 【注意】(1)内外循环不能交叉。例如,以下程序段是错误的:For i=1 to 10 For i=1 to 10 F

    35、or j=1 to 10 应改为:For j=1 to 10 Next i Next j Next j Next i(2)两个并列的循环结构的循环变量可以同名,但嵌套结构中的内循环变量不能与外循环变量同名。陕西铁路工程职业技术学院3.53.5辅助控制语句辅助控制语句 3.5.1 End 3.5.1 End语句语句 End语句的作用是使程序结束运行,它可以放在任何事件过程中。语句格式如下:EndEnd 在过程、函数、分支等的结束部分都用到以End开头的语句,这些语句一般只结束某个过程或语句块。如End Sub、End If、End Function等。3.5.2 With3.5.2 With语句

    36、语句 语句格式:陕西铁路工程职业技术学院With End With语句功能:用于对单个对象或用户自定义类型变量执行一系列语句,而不需重复地给出对象名或用户自定义类型变量名。使用说明:(1)语句格式中,是指单个对象或用户自定义类型变量。(2)该语句可以嵌套。(3)属性前面的“.”不能省略。例如,设置标签对象MyObject的各项属性。陕西铁路工程职业技术学院 With MyObject .BorderStyle=1 .Height=1000 .Width=2000 With.Font .Bold=True .Size=12 End With End With陕西铁路工程职业技术学院3.5.3 G

    37、oto3.5.3 Goto语句语句语句格式:Goto 标号|行号语句功能:无条件转到标号或行号指定的语句。例如,以下程序代码求1-50的奇数和:Dim i%,s%s=0 i=1 re:If i 0.00001)pi=pi+t n=n+2 分母的值每次加2 陕西铁路工程职业技术学院 s=-s 数据项符号的正负交替变化 t=s/n 计算数据项的值 Loop pi=pi*4 Print pi End Sub【例3.16】求1!+2!+n!,n由键盘输入。【分析】该题先求阶乘,再将阶乘值累加。循环次数由用户输入确定(即n的值)。Private Sub Form_Click()Dim s as doub

    38、le,t as double,n as integer s=0 t=1 n=val(InputBox(“请输入n的值”)陕西铁路工程职业技术学院 For i=1 to n t=t*i 求i!s=s+t Next i Print“1!+2!+”;n;”!=”;s End Sub 3.6.2 求最大值与最小值求若干数的最大值(最小值),其算法思想是:先取第一个数作为最大值(最小值)的初值,然后依次将下一个数和它比较,若比它大(小),将该数替换为最大值(最小值)。陕西铁路工程职业技术学院 【例3.17】产生10个1-100之间的随机整数,输出它们的最大值。【分析】用变量max保存最大值,其初值为第一

    39、个数,然后依次将max与下一个数比较,若该数比max大,则修改max的值为该数。Private Sub Form_Click()Dim i%,x%,max%Randomize Print“10个随机整数:”x=int(Rnd*100)+1 Print x;Next i Print Print“最大值为:”;max End Sub 陕西铁路工程职业技术学院 3.6.3 3.6.3 穷举法穷举法 穷举的基本思想是:对要解决的问题的所有可能情况一一检查,从中找到符合要求的答案。【例3.18】求100-999之间的所有“水仙花数”。“水仙花数”是一个三位数,其各位数字的立方和等于该数本身。例如:153

    40、=13+53+33,153是一个水仙花数。【分析】采用穷举法对指定范围内的每一个数进行判断它是否为水仙花数。判断一个数是否为水仙花数的关键是如何将此数的各位数字分离出来。如对于数据153,可采用下面的方法分离其各位数字:陕西铁路工程职业技术学院(1)int(153/100),得到百位数字1。(2)int(153-1*100)/10),得到十位数字5。(3)153-1*100-5*10,得到个位数字3。程序代码如下:Private Sub Form_Click()Dim i%,a%,b%,c%For i=100 to 999 a=int(i/100)b=int(i-a*100)/10)c=i-a

    41、*100-b*10 If i=a*a*a+b*b*b+c*c*c Then Print i;Next i End Sub 运行结果如下:153 370 371 407陕西铁路工程职业技术学院【例3.19】百钱买百鸡问题:我国古代数学家张丘建在算经中提出了“百鸡问题”:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”【分析】设母鸡、公鸡、小鸡各为x,y,z只,则可以用下面的方程表示:x+y+z=100 x*3+y*5+z/3=100根据题目所述条件,x可能值为0-33中的整数;y可能值为0-19中的整数;z可能值为0-100中的整数。y的取值范围最小,为提高

    42、程序效率,先考虑对y的值进行穷举测试。陕西铁路工程职业技术学院 程序代码如下:Private Sub Form_Click()Dim x%,y%,z%For y=0 To 19 For x=33 To 0 step-1 z=100-x-y If x*3+y*5+z/3=100 Then Print x,y,z Next x Next y End Sub 运行结果如下:2507518478118814 1284陕西铁路工程职业技术学院 3.6.4 迭代法迭代法 “迭代法”是指重复执行一组工作,每次执行这组工作时,都从旧值递推出新值,并用新值代替旧值。【例3.20】已知某球从100米高度自由落下,

    43、落地后反弹,每次弹起的高度都是上次高度的一半。求小球第10次落地后反弹的高度和球所经过的路程。【分析】用变量h保存下落的高度,变量r保存反弹的高度,变量s保存小球经过的路程。h的初值为100,反弹高度r=h/2。弹起一次,小球经过的路程为r+h。陕西铁路工程职业技术学院 Private Sub Form_Click()Dim h as single,r as single,s as single h=100 s=0 For i=1 to 10 r=h/2 s=s+r+h h=r Next i Print“h=”;h,“s=”;s End Sub陕西铁路工程职业技术学院习习 题题 三三1、指出下

    44、列语句中的错误。(1)c*2=d+2(2)If x10 Then x=x+10 Else If x=10 Then X=0 End If(3)If-1x0 and y0 Print“x0,y0”Case x0 Print“x0”陕西铁路工程职业技术学院Case x0 and y0,y0”Case Else Print“x0,y0”End Select(5)Do While x=10 s=s+x x=x+1 End Do2、阅读下列程序段,分析其运行结果。(1)Dim x As Integer,n As Integer x=1 n=0 Do While x 28 x=x*3 n=n+1 Loop

    45、 Print x,n陕西铁路工程职业技术学院 Print x,n(2)Dim Check,Counter Check=True Counter=0 Do Do While Counter 20 Counter=Counter+1 If Counter=10 Then Check=False Exit Do End If Loop Loop Until Check=False Print Counter,Check(3)Dim i As Integer,sum As Integer sum=0 For i=2 To 10 If i Mod 2 0 And i Mod 3=0 Then sum=s

    46、um+i陕西铁路工程职业技术学院End If Next i Print sum(4)s=2 For i=3.2 To 4.9 Step 0.8 s=s+1 Next I Print i,s3、交换两个变量的值,写出相应的语句。4、编写将华氏温度转换为摄氏温度的程序,转换公式如下:C=5/9*(F-32)其中C为摄氏温度,F为华氏温度。5、编程:给定一个年份,判断它是否为闰年,闰年的条件是:能被4整除但不能被100整除,或者能被400整除。6、编程:输入三角形的三边,判断是否能构成三角形,若能计算三角形的面积。7、编程计算下面的分段函数。陕西铁路工程职业技术学院7、编程计算下面的分段函数。2x+

    47、3 x10y=x2+5 10208、某航空公司规定:在旅游旺季7-9月,如果订票超过20张,优惠票价的15%;订票20张以下优惠票价的5%;在旅游淡季1-4月、11月、12月,如果订票超过20张,优惠票价的30%;订票20张以下优惠票价的20%。编程实现票价的计算。9、输入某位学生的百分制成绩,要求输出成绩的等级:假设90分以上为A等,80-89分为B等,70-79分为C等,60-69为D等,60分以下为E等。10、我国有13亿人口,以年平均增长率0.5%计算,多少年后我国人口就会增长到15亿。1 1、编程输出九九乘法表。12、输入一个整数,对其进行因数分解。如:126=2*3*3*7。陕西铁路工程职业技术学院13、编程计算S=1+22+333+4444+nn。其中n9。n个n14、用近似公式求自然对数的底e的值,e1+1/1!+1/2!+1/n!,直到1/n!小于10。15、小猴吃桃:有一堆桃,小猴当天吃了一半多一个。第二天吃了剩下的桃子的一半多一个。以后每天都是吃剩下的桃子的一半多一个。到第10天小猴要吃时只剩下一个了。问原来那堆桃有多少个?-5

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:流程控制语句.ppt
    链接地址:https://www.163wenku.com/p-5725640.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库