第四部分算法基础及VB的基本语句课件.ppt

上传人(卖家):晟晟文业 文档编号:4469313 上传时间:2022-12-11 格式:PPT 页数:96 大小:469.80KB
下载 相关 举报
第四部分算法基础及VB的基本语句课件.ppt_第1页
第1页 / 共96页
第四部分算法基础及VB的基本语句课件.ppt_第2页
第2页 / 共96页
第四部分算法基础及VB的基本语句课件.ppt_第3页
第3页 / 共96页
第四部分算法基础及VB的基本语句课件.ppt_第4页
第4页 / 共96页
第四部分算法基础及VB的基本语句课件.ppt_第5页
第5页 / 共96页
点击查看更多>>
资源描述

1、第四章第四章 算法基础及算法基础及VBVB的基本语句的基本语句1 1、了解结构化程序设计的基本概念、了解结构化程序设计的基本概念2 2、掌握、掌握VB VB 程序设计中的常用语句程序设计中的常用语句3 3、掌握顺序、选择、和循环结构及相应的语句、掌握顺序、选择、和循环结构及相应的语句教学要求教学要求2教学内容教学内容4.1 4.1 算法及程序设计基础算法及程序设计基础4.2 4.2 赋值语句及赋值语句及InputBoxInputBox、MsgBoxMsgBox函数函数4.3 4.3 分支结构与分支结构语句分支结构与分支结构语句4.4 4.4 循环结构与循环结构语句循环结构与循环结构语句4.5

2、4.5 程序示例程序示例34.1 4.1 算法及程序设计基础算法及程序设计基础:l有人认为:有人认为:对数据的描述对数据的描述:指定所用数据的类型,作用域和数据的:指定所用数据的类型,作用域和数据的 组织形式,即数据结构(组织形式,即数据结构(data structure)。)。对操作的描述对操作的描述:即操作步骤,也就是算法(:即操作步骤,也就是算法(algorithm)。)。数据结构数据结构+算法算法=程序程序程序程序=算法算法+数据结构数据结构+程序设计方法程序设计方法+语言工具和环境语言工具和环境41 1、算法的概念、算法的概念l算法算法即解决某个问题或处理某件事的方法和步骤;即解决某

3、个问题或处理某件事的方法和步骤;“采用什么采用什么结构,使用什么语句以及如何安排这些语句结构,使用什么语句以及如何安排这些语句”。l算法分类:算法分类:数值计算算法数值计算算法非数值计算算法非数值计算算法l算法算法优劣优劣:正确性,效率,占用系统资源,便于理解,易于调试等。正确性,效率,占用系统资源,便于理解,易于调试等。51810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公约数即最大公约数求最大公约数求最大公约数 题目题目:求两个自然数的最大公约数:求两个自然数的最大公约数 分析分析:求最大公约数的常用方法是辗转相除法:求最大公约数的常用方法是辗转相除法(欧几里

4、德算法欧几里德算法)。2 2、算法示例、算法示例6 算法描述算法描述:S1 S1 输入两个自然数:输入两个自然数:M M,N N;S2 S2 求求M M除以除以N N的余数的余数R R;S3 S3 使使M=NM=N,即用,即用N N代换代换M M;S4 S4 使使N=RN=R,即用,即用R R代换代换N N;S5 S5 若若R0R0,则重复执行,则重复执行S2,S3,S4,S2,S3,S4,否则转至否则转至S6S6S6 S6 输出输出M M,M M即为即为M M,N N的最大公约数。的最大公约数。73 3、算法的特征、算法的特征2 确定性确定性2 可行性可行性2 有穷性有穷性2 输入性输入性2

5、 输出性输出性84 4、算法的描述、算法的描述 l程序流程图程序流程图求最大公约数求最大公约数9程序编码程序编码实现算法实现算法l算法仅提供解题思路,计算机不可直接执行。算法仅提供解题思路,计算机不可直接执行。l用某一程序设计语言所提供的语言成分,根据该语言的特用某一程序设计语言所提供的语言成分,根据该语言的特点,并利用该语言的各种工具和手段,遵照规定的语法规点,并利用该语言的各种工具和手段,遵照规定的语法规则去实现算法,得到原程序代码,计算机可识别并执行。则去实现算法,得到原程序代码,计算机可识别并执行。105.5.基本算法结构基本算法结构1 1).顺序结构顺序结构语句语句1语句语句2语句块

6、语句块结构化程序设计结构化程序设计11l2)选择结构)选择结构条件满足?块1块2TrueFalse结构化程序设计结构化程序设计12l3)循环结构)循环结构块块TrueFalse条件条件结构化程序设计结构化程序设计13三种基本结构的共同特点三种基本结构的共同特点l只有单一入口和单一出口;只有单一入口和单一出口;l结构中的每一部分都有被执行的可能;结构中的每一部分都有被执行的可能;l结构内不应出现永不终止的死循环。结构内不应出现永不终止的死循环。144.2 4.2 赋值语句及赋值语句及InputBoxInputBox、MsgBoxMsgBox函数函数4.2.1 赋值语句赋值语句4.2.2 Inpu

7、tBoxInputBox函数函数4.2.3 MsgBoxMsgBox函数函数154.2.1 赋值语句赋值语句 格式格式:=功能功能:先计算表达式的值,再将该值赋予左端的变量。:先计算表达式的值,再将该值赋予左端的变量。说明说明:-赋值号左端不仅可以是变量名,还可以是对象的属性;赋值号左端不仅可以是变量名,还可以是对象的属性;-表达式的类型和变量的类型要一致表达式的类型和变量的类型要一致 -赋值语句是按语句出现的先后顺序执行的(顺序结构)赋值语句是按语句出现的先后顺序执行的(顺序结构)举例举例:str1=Nice to meet you number%=72 Lable1.Caption=Fil

8、ename is:Text.FontSize=12 改变字号改变字号16使用下面的方法可以获取一个对象的属性值:使用下面的方法可以获取一个对象的属性值:var=object.Property 例如:例如:Label1.Caption=Text1.Text 式中,式中,varvar是变量名、是变量名、objectobject是对象名、是对象名、propertyproperty是该对是该对象的某个属性名。象的某个属性名。特别注意:特别注意:属性也存在数据类型,所以在获取对象的属性值时,属性也存在数据类型,所以在获取对象的属性值时,最好使用具有相同数据类型的变量。最好使用具有相同数据类型的变量。说明

9、说明 17注意:赋值号(注意:赋值号(=)与比较运算符()与比较运算符(=)不同)不同v 赋值是独立的一条语句;赋值是独立的一条语句;由运算符(由运算符(=)连结两个操作数的关系表达式是)连结两个操作数的关系表达式是语句的一部语句的一部分分,不可单独存在不可单独存在v 比较运算符不会改变操作数的值;比较运算符不会改变操作数的值;赋值语句会,改变赋值号左边的量,所以必须是可以被赋赋值语句会,改变赋值号左边的量,所以必须是可以被赋值的变量或属性值的变量或属性Dim x As Integer,y As Integer,z As Booleanx=3 :y=4:y=xz=x=yPrint x,y,z1

10、8Private Sub Form_Click()Dim a As Integer,b As Integer a=10 b=3*a Print a,bEnd SubPrivate Sub Form_Click()Dim a As Integer,b As Integer b=3*a a=10 Print a,bEnd Sub例:单击窗体,下列两段程序的执行结果分别是例:单击窗体,下列两段程序的执行结果分别是()()和和()()。提示:利用赋值语句给变量赋值后,在未有新的提示:利用赋值语句给变量赋值后,在未有新的赋值语句再次给它赋值前,变量值保持不变。赋值语句再次给它赋值前,变量值保持不变。19

11、例:交换两个变量的值。例:交换两个变量的值。Private Sub Form_Click()Dim a As Integer,b As Integer a=10:b=2 Print a,b 填入程序代码填入程序代码 Print a,bEnd Sub正确答案正确答案Dim Temp As IntegerTemp=a :a=b :b=Temp题目说明题目说明单击窗体程序执行结果为:单击窗体程序执行结果为:10 2 10 2 2 10 2 10 注意注意 变量变量a a和和b b为两个不定值的变为两个不定值的变量,因此不能直接用量,因此不能直接用 a=2 :b=10 a=2 :b=10语句来解决这个

12、问题。语句来解决这个问题。一旦利用赋值语句给变量赋一旦利用赋值语句给变量赋新值,会覆盖原值,所以不能新值,会覆盖原值,所以不能直接用直接用 a=b :b=a a=b :b=a语句来解决这个问题。语句来解决这个问题。20例:求一元一次方程例:求一元一次方程x+5=0 x+5=0的解。的解。Private Sub Form_Click()Dim x As Integer 3*x+5=0 Print“x=”;xEnd SubPrivate Sub Form_Click()Dim x As Integerx=(0-)/3 -Print“x=”;xEnd Sub 语句语句是该例题的算法。是该例题的算法。

13、错误程序错误程序正确程序正确程序总结:总结:利用程序设计语言处理问题,我们首先要知道的是利用程序设计语言处理问题,我们首先要知道的是怎么解怎么解决问题决问题,其次要知道怎么将解决问题的方法,其次要知道怎么将解决问题的方法用程序设计语言用程序设计语言来表达来表达。214.2.2 InputBox4.2.2 InputBox函数函数 格式格式:InputBox$(,)功能功能:弹出对话框,用户输入数据后回车或单击弹出对话框,用户输入数据后回车或单击“确定确定”按钮后,按钮后,将输入内容赋值给相应的变量;按将输入内容赋值给相应的变量;按ESCESC键或单击键或单击“取消取消”按钮,按钮,返回返回空串

14、空串。22 说明说明(1 1)promptprompt:必选项。对话框中的提示信息。:必选项。对话框中的提示信息。(2 2)titletitle:可选。对话框的标题。省略则为应用程序名。:可选。对话框的标题。省略则为应用程序名。(3 3)defaultdefault:可选。显示在用户编辑框中的缺省值,省略为空。:可选。显示在用户编辑框中的缺省值,省略为空。(4 4)x,y:x,y:可选。指定对话框的显示位置,省略则居中。可选。指定对话框的显示位置,省略则居中。例:例:i=InputBox(“i=InputBox(“输入数组元素输入数组元素”+Chr(10)+“”+Chr(10)+“第一个元素为

15、第一个元素为:”:”,程序示例程序示例,100)100)缺省值缺省值标题标题提示字符串提示字符串23例:用例:用InputBox函数输入出生日期,计算年龄。函数输入出生日期,计算年龄。Option ExplicitOption ExplicitPrivate Sub Form_Click()Private Sub Form_Click()Dim BirthDay As Date,Age As Integer Dim BirthDay As Date,Age As Integer BirthDay=InputBox(BirthDay=InputBox(输入出生日期输入出生日期,计算年龄计算年龄)

16、Age=Year(Date)-Year(BirthDay)Age=Year(Date)-Year(BirthDay)Print Print 你今年:你今年:;Age;Age;岁岁 End SubEnd Sub24如果赋值号左端的变量为数值型或日期型等非字符型变量,如果赋值号左端的变量为数值型或日期型等非字符型变量,输入字符数据输入字符数据 单击单击“取消取消”按钮按钮 不输入直接按回车不输入直接按回车键,则系统都会提示出错:键,则系统都会提示出错:Dim x As Integerx=InputBox(输入数组元素输入数组元素+Chr(10)+第一个元素为:第一个元素为:,示例示例,10,100

17、,100)注意注意 254.2.3 MsgBox4.2.3 MsgBox函数函数格式格式:MsgBox(Prompt,Button,Title,HelpFile,Context)功能功能:向用户发布提示信息,并要求用户作出必要的响应。:向用户发布提示信息,并要求用户作出必要的响应。说明说明:(1 1)Prompt:Prompt:必选项。字符串表达式,对话框中的提示信息。必选项。字符串表达式,对话框中的提示信息。(2 2)Button:Button:指定显示按钮的数目及形式,使用的图标样式,指定显示按钮的数目及形式,使用的图标样式,这是一个由这是一个由4 4个数值常量组成的式子,形式为个数值常量

18、组成的式子,形式为c1+c2+c3+c4c1+c2+c3+c4,用,用于决定信息框中按钮的个数和类型以及出现在信息框中的图标于决定信息框中按钮的个数和类型以及出现在信息框中的图标类型,各个参量的可选值及其功能类型,各个参量的可选值及其功能;详见详见P.62P.62表表4.24.2 (3 3)Title:Title:对话框标题栏的显示信息。对话框标题栏的显示信息。26MsgBox MsgBox 需要重新来一次需要重新来一次?,2+32+256+4096,?,2+32+256+4096,询问询问 MsgBox MsgBox 数据非法,请重输!数据非法,请重输!,1+16+0+4096,1+16+0

19、+4096,警告警告 举举 例例27方法一方法一:发布提示信息,无须用户响应,在程序中作为独立语发布提示信息,无须用户响应,在程序中作为独立语句存在句存在,不加括号;不加括号;例:例:MsgBox 非法数据!非法数据!,警告警告如果省略其中参数,如果省略其中参数,逗号不能省略逗号不能省略MsgBox函数的用法函数的用法方法二方法二:需要用户响应,和普通函数调用方法相同。需要用户响应,和普通函数调用方法相同。例:例:Response=MsgBox(真的删除该项吗?真的删除该项吗?,4+48,提示信息提示信息)If Response=vbYes Then Else End If284.3 4.3

20、分支结构与分支结构语句分支结构与分支结构语句4.3.1 If-Then-Else-End If语句语句4.3.2 Select-Case-End Select语句语句291、If-Then-Else语句语句格式格式1:If Then Else End If4.3.1 If-Then-Else-End If4.3.1 If-Then-Else-End If语句语句逻辑变量、关系表达逻辑变量、关系表达式、逻辑表达式式、逻辑表达式B组语句组语句条件?条件?不成立不成立成立成立A组语句组语句 逻辑框图逻辑框图:功能功能:如果条件成立,则执行如果条件成立,则执行A A组语句,组语句,否则执行否则执行B

21、B组语句。组语句。说明说明:IfIf和和End IfEnd If语句成对出现,缺一不可;语句成对出现,缺一不可;ElseElse和和B组语句组语句部分可以省略部分可以省略,当条件不成立时当条件不成立时,直接执行直接执行End IfEnd If的的后继语句;后继语句;30Private Sub cmdCalculate_Click()Dim x as Single x=Val(text1.text)If x=0 Then Text2.text=Str(Sqr(x)Else Text2.text=数据小于数据小于0,错误!,错误!End IfEnd SubPrivate Sub cmdExit_C

22、lick()EndEnd SubPrivate Sub cmdClear_Click()Text1.Text=Text2.Text=Text1.SetFocusEnd Sub例:从键盘输入一个数,求它的平方根。例:从键盘输入一个数,求它的平方根。缩格输入缩格输入31例:计算分段函数例:计算分段函数y y的值。的值。0672025xxxexyxPrivate Sub cmdCalculate_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x=0 Then y=2*Sqr(x+7)-6 Else y=5*x+Exp(x)-2 End

23、If Text2.Text=Str(y)End SubcmdCalculate32 格式格式22:单行:单行If-Then-ElseIf-Then-Else语句语句 If If Then Then Else Else 2 说明说明:(1 1)在)在A组语句组语句和和B组语句组语句都只有一个语句时,可使用该格式;都只有一个语句时,可使用该格式;(2 2)End IfEnd If语句省略。语句省略。例:上例可改写为以下程序段。例:上例可改写为以下程序段。Private Sub cmdCalculate_Click()Dim y As Single,x As Single x=Val(Text1.T

24、ext)If x=0 Then y=2*Sqr(x+7)-6 Else y=5*x+Exp(x)-2 Text2.Text=Str(y)End Sub33条件满足条件满足?块块1TrueFalse 格式格式33:If Then End If格式格式4:4:If Then 逻辑框图逻辑框图342.2.嵌套的嵌套的IfIf结构结构 在在If语句的语句的“语句块语句块”中包含另一个中包含另一个If语句,叫做嵌套的语句,叫做嵌套的If结构。结构。If Then 外层外层 If Then 内层内层 Else If then Else 最内层最内层 End IfElse If Then End IfEnd

25、 If用于解决有多用于解决有多种情况的问题种情况的问题35开始开始边长边长0?是否能组成三角形是否能组成三角形计算计算输出输出出错信息出错信息结束结束是是否否是是否否例:输入三角形的三边例:输入三角形的三边a a、b b、c c,求三角形的面积,求三角形的面积P 64 例例4-1a0 and b0 and c0a+bc and b+ca and a+cb36Private Sub cmdCalculate_Click()Dim a As Single,b As Single,c As Single,p As Single,s As Single a=Val(Text1.Text)b=Val(T

26、ext2.Text)c=Val(Text3.Text)If (1)Then If a+bc And b+ca And c+ab Then p=(a+b+c)/2 s=Sqr(p*(p-a)*(p-b)*(p-c)Text4.Text=Str(s)Else Text4.Text=“不能构成三角形不能构成三角形”End If Else Text4.Text=“边长不能小于边长不能小于0 0”End IfEnd Sub计算公式:计算公式:其中:其中:)()(cpbpappS2cbapa0 And b0 And c037例:计算分段函数例:计算分段函数y y的值。的值。55xlnxx054x3x0 x

27、5x1y2Private Sub cmdCalculate_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x0 Then y=1/(x-5)Else If x5 Then y=3*x2+4*x+5 Else y=Log(x)End If End If Text2.Text=Str(y)End Sub0538例:输入分数并判断等级分。计算规则如下:例:输入分数并判断等级分。计算规则如下:分数分数 100-90 89-80 79-70 69-60 60 100-90 89-80 79-70 69-60 =90 And Score=80

28、 Then Degree=B Else If Score=70 Then Degree=C Else If Score=60 Then Degree=D Else Degree=E End If End If End If End If Text2.Text=Degree End IfEnd Sub缺点:缺点:嵌套层次过多,结构嵌套层次过多,结构不清晰,容易出错不清晰,容易出错。从文本框取数据从文本框取数据向文本框放数据向文本框放数据393 3、多分支、多分支If-Then-ElseIfIf-Then-ElseIf语句语句 格式格式:IfIf Then Then ElseIf ElseIf T

29、hen Then ElseIf ElseIf Thenn Then Else Else End If End If 功能功能:-对条件自上而下依次判断对条件自上而下依次判断,若条件若条件i i成立成立,则执行相应的则执行相应的Ai组语句组语句;-若所有条件都不成立,则执行若所有条件都不成立,则执行An+1组语句组语句。-无论执行了哪个语句块,都将执行无论执行了哪个语句块,都将执行End IfEnd If的后继语句。的后继语句。条件条件1条件条件2假假假假真真真真语句块语句块1语句块语句块2条件条件 n真真假假语句块语句块n语句块语句块n+140(1 1)该语句结构可以解决多分支问题,只有一个)

30、该语句结构可以解决多分支问题,只有一个End End IfIf语句,语句,避免避免IfIf语句嵌套层数过多的情况;语句嵌套层数过多的情况;(2 2)ElseElse语句可以省略;语句可以省略;(3 3)该结构是一个单出口的结构,即该结构是一个单出口的结构,即只会执行只会执行一组语句一组语句,若,若条件中有两个成立,则按语句的顺序执行前面的条件中有两个成立,则按语句的顺序执行前面的一组语句。一组语句。说说 明明41Private Sub Text1_KeyPress(KeyAscii As Integer)Dim Score As Integer,Degree As String If KeyA

31、scii=13 Then Score=Val(Text1.Text)If Score=90 And Score=80 Then Degree=B ElseIf Score=70 Then Degree=C ElseIf Score=60 Then Degree=D Else Degree=E End If Text2.Text=Degree End IfEnd Sub特点:特点:结构清晰。结构清晰。将上例用将上例用If-Then-ElseIfIf-Then-ElseIf语句改写:语句改写:90Score=80?42格式格式:Select Case Case Case Case Case Els

32、e End Select 功能功能:计算测试表达式的值,自计算测试表达式的值,自上而下检查测试条件上而下检查测试条件;若表达式的值符合测试若表达式的值符合测试 i i,则执行相应的语句块则执行相应的语句块 i i;若所有条件都不成立,则若所有条件都不成立,则执行语句块执行语句块n+1n+1。无论执行了。无论执行了哪个语句块,都将执行哪个语句块,都将执行End End SelectSelect的后继语句。的后继语句。4.3.2 4.3.2 多分支多分支Select-Case-End SelectSelect-Case-End Select语句语句43(1 1)测试表达式可以是算术表达式或字符表达

33、式;)测试表达式可以是算术表达式或字符表达式;(2 2)测试条件有四种形式:)测试条件有四种形式:v 常量,如常量,如2 2、3 3、“A”“A”等等v 闭区间闭区间,如,如3 3 ToTo 78 78、“B”“B”ToTo“H”“H”等等v 开区间,如开区间,如IsIs2020、IsIs“P”“P”等等v 以上三种形式的组合,以以上三种形式的组合,以逗号间隔逗号间隔,条件组合是,条件组合是或或的关系,的关系,不能表示与的关系不能表示与的关系 (3 3)Case ElseCase Else语句部分可以省略;语句部分可以省略;(4 4)以)以End SelectEnd Select语句结束;语句

34、结束;(5 5)该结构是一个单出口的结构,即该结构是一个单出口的结构,即只会执行一个语句块只会执行一个语句块,若条,若条件中有两个成立,则按语句的顺序执行前面的语句块。件中有两个成立,则按语句的顺序执行前面的语句块。说说 明明44例:将上例用例:将上例用Select CaseSelect Case语句改写。语句改写。Private Sub Text1_KeyPress(KeyAscii As Integer)Dim Score As Integer,Degree As String If KeyAscii=13 Then Score=Val(Text1.Text)Select Case Sco

35、re Case 90 To 100 Degree=A Case 80 To 89 Degree=B Case 70 To 79 Degree=C Case 60 To 69 Degree=D Case Is60 Degree=E End Select Text2.Text=Degree End IfEnd Sub45练习:练习:键盘输入三个数,将它们从大到小依次排列输出。键盘输入三个数,将它们从大到小依次排列输出。Private Sub Form_Click()Dim a As Integer,b As Integer,c As Integer,temp As Integer a=InputB

36、ox(输入输入a,顺序输出顺序输出)b=InputBox(输入输入b,顺序输出顺序输出)c=InputBox(输入输入c,顺序输出顺序输出)If a b Then temp=a a=b b=temp End If If a c Then Print a,b,c Else Print a,c,b End IfEnd Sub保证保证a为为a,b两数中的大值两数中的大值46分支结构的适用情况分支结构的适用情况l验证用户输入数据的合法性验证用户输入数据的合法性l分段函数计算分段函数计算l用于区分等级用于区分等级l其他须根据条件不同执行不同操作的情况其他须根据条件不同执行不同操作的情况474.4 4.4

37、 循环结构与循环结构语句循环结构与循环结构语句4.4.1 Do-loop循环结构语句循环结构语句(条件循环)(条件循环)4.4.2 For-Next 循环结构语句循环结构语句(计数循环)(计数循环)4.4.3 循环嵌套循环嵌套48 由一定的条件控制,反复执行某个程序段的程序结构称由一定的条件控制,反复执行某个程序段的程序结构称为为循环结构循环结构。用于解决一些需要重复进行某些操作的问题。用于解决一些需要重复进行某些操作的问题。循环要素:循环要素:&循环控制条件循环控制条件 条件或逻辑表达式条件或逻辑表达式&循环体循环体 重复执行的语句块重复执行的语句块&为防止死循环,在循环体内必须要有对应语句

38、,为防止死循环,在循环体内必须要有对应语句,使得循环控制条件会不满足,结束循环运行。使得循环控制条件会不满足,结束循环运行。基本概念基本概念49例:在窗体上打印例:在窗体上打印10行行“Hello”。循环控制条件循环控制条件 是否已打印了是否已打印了1010行行 循环体循环体在窗体上打印一行在窗体上打印一行“Hello”“Hello”提示:要设立一个变量,用于记录已打印的行数,每打提示:要设立一个变量,用于记录已打印的行数,每打印一行,计数变量要加印一行,计数变量要加1 1,循环控制条件即计数变量小于等于,循环控制条件即计数变量小于等于101050一、一、“当型当型”循环循环条件成立时,执行循

39、环体条件成立时,执行循环体条件?条件?循环体循环体成立成立循环循环的后继语句的后继语句不成立不成立条件?条件?循环体循环体不成立不成立循环循环的后继语句的后继语句成立成立图图2 2:先执行一次循环体,然后再判断条件,决定是否继续执行循:先执行一次循环体,然后再判断条件,决定是否继续执行循环,此结构环,此结构至少执行一次循环体至少执行一次循环体。图图 1图图 2图图1 1:先判断条件,当条件成立则执行循环体,否则执行循环结构:先判断条件,当条件成立则执行循环体,否则执行循环结构的后续语句。的后续语句。51二、二、“直到型直到型”循环循环条件不成立时,执行循环体条件不成立时,执行循环体条件?条件?

40、循环体循环体不成立不成立循环循环的后继语句的后继语句成立成立条件?条件?循环体循环体成立成立循环循环的后继语句的后继语句不成立不成立图图3 3:先判断条件,条件不成立则执行循环体,直到条件不成立,:先判断条件,条件不成立则执行循环体,直到条件不成立,执行循环结构的后续语句。执行循环结构的后续语句。图图 3图图 4图图4 4:先执行一次循环体,再判断条件,决定是否继续执行循环。:先执行一次循环体,再判断条件,决定是否继续执行循环。52 4.4.1 Do-Loop 4.4.1 Do-Loop 循环结构语句循环结构语句格式一格式一 Do While Loop条件?条件?循环体循环体成立成立Loop的

41、后继语句的后继语句不成立不成立执行步骤:执行步骤:1 判断条件是否成立。如果条件判断条件是否成立。如果条件不成立,转向第不成立,转向第4步步2 执行循环体;执行循环体;3 转向执行第转向执行第1步;步;4 执行执行Loop语句的后继语句。语句的后继语句。当型循环当型循环53Private Sub Form_click()Private Sub Form_click()Dim i as integer Dim i as integer i=0 i=0 Do While i10 Do While i10 print “hello”print “hello”i=i+1 i=i+1 Loop Loop

42、End SubEnd Sub上例的实现:上例的实现:缩格缩格54例例 求求S=1+2+3+4+100Private Sub Form_click()Dim n as Integer,s as Long n=1 s=0 Do While n=100 s=s+n n=n+1 Loop Print“1+2+3+100=”;sEnd Sub实现累加实现累加55格式二格式二:Do Loop While 条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 执行循环体;执行循环体;2 判断条件是否成立。如果条判断条件是否成立。如果条件成立,转向第件成立,转向第 1

43、 步步3 条件不成立,则结束循环,条件不成立,则结束循环,执行执行Loop语句的后继语句。语句的后继语句。当型循环当型循环56格式三格式三 Do Until Loop条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 判断条件是否成立。如果条判断条件是否成立。如果条件成立,转向第件成立,转向第4步步2 执行循环体;执行循环体;3 转向执行第转向执行第 1 步;步;4 执行执行Loop语句的后继语句。语句的后继语句。直到型循环直到型循环57格式四格式四 Do Loop Until 条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立

44、执行步骤:执行步骤:1 执行循环体;执行循环体;2 判断条件是否成立。如果条判断条件是否成立。如果条件不成立,转向第件不成立,转向第 1 步,若条步,若条件成立,则执行件成立,则执行 第第3步步 3 执行执行Loop语句的后继语句。语句的后继语句。直到型循环直到型循环58(1 1)While While 短语总是在条件成立时,继续进行循环;条件短语总是在条件成立时,继续进行循环;条件不成立时,结束循环。因此用于不成立时,结束循环。因此用于“当型当型”循环;循环;(2 2)Until Until 短语总是在条件不成立时,执行循环体;条件短语总是在条件不成立时,执行循环体;条件成立时,则结束循环。

45、因此称为成立时,则结束循环。因此称为“直到型直到型”循环;循环;(3 3)上述两条短语是可以相互转换的。)上述两条短语是可以相互转换的。总总 结结 Do While i=10 print “hello”i=i+1 Loop59格式五(特殊形式)格式五(特殊形式):Do Loop执行过程:反复执行循环体。执行过程:反复执行循环体。该结构称为该结构称为“死循环死循环“,在循环体,在循环体内必须通过内必须通过 Exit Do 语句强制退出语句强制退出循环体。循环体。Exit Do语句一般与语句一般与If-then语句结合语句结合使用,即当满足某一条件时,才强使用,即当满足某一条件时,才强制退出循环。

46、制退出循环。If Then Exit Do循环体循环体Loop后续语句后续语句 Do print “hello”i=i+1 If i=10 then Exit Do Loop60(1 1)DoDo和和LoopLoop为循环结构关键字,必须成对出现,缺一不可;为循环结构关键字,必须成对出现,缺一不可;(2 2)循环体为可执行语句组成)循环体为可执行语句组成,可以嵌套分支结构和循环结构;可以嵌套分支结构和循环结构;(3 3)语句)语句 Exit Do Exit Do 用于无条件退出循环,可在任意用于无条件退出循环,可在任意Do-LoopDo-Loop语语句结构的循环体中出现。句结构的循环体中出现。

47、(4 4)使用循环结构,一定要避免死循环的出现。)使用循环结构,一定要避免死循环的出现。Do-Loop Do-Loop语句使用说明语句使用说明61 算法算法分析分析:求最大公约数的常用方法是:求最大公约数的常用方法是 辗转相除法。辗转相除法。例:求两个数的最大公约数。例:求两个数的最大公约数。P 68 例例4-31810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公约数即最大公约数62 在该例中,我们使用了三个变量,分别表示被除数(在该例中,我们使用了三个变量,分别表示被除数(m m)、)、除数(除数(n n)及余数()及余数(r r)。)。Do r=m Mod n

48、 m=n n=rLoop Until r=0最大公约数是(最大公约数是()?)?63 由于输入的数据由于输入的数据M M和和N N要求是自然数,在程序中应加入对要求是自然数,在程序中应加入对数据的合法性进行检验的部分;数据的合法性进行检验的部分;考虑到程序的应用范围,数据类型可选用长整型。考虑到程序的应用范围,数据类型可选用长整型。问题分析及界面设计问题分析及界面设计64Private Sub Command1_Click()Dim m As Long,n As Long,r As Long m=Val(Text1.Text)取数据取数据M n=Val(Text2.Text)取数据取数据N I

49、f m Int(m)Or m 1 Or n Int(n)Or n 1 Then Text3.Text=数据错误!数据错误!Else Do 求最大公约数求最大公约数 r=m Mod n m=n n=r Loop Until r=0 Text3.Text=CStr(m)输出最大公约数输出最大公约数 End If End Sub Private Sub Command2_Click()Text1.Text=Text2.Text=Text3.Text=End Sub Private Sub Command3_Click()End End Sub检验数据检验数据合法性合法性Mod 前后加空格前后加空格6

50、5例:将十进制数转换成二进制。例:将十进制数转换成二进制。算法分析算法分析:十进制向二进制转换,十进制向二进制转换,采取的是除采取的是除2 2取余法。取余法。4522221112122252101001高位高位低位低位(45)10=(101101)2解决这类问题必须考虑的是如下几点:解决这类问题必须考虑的是如下几点:(1 1)需要重复运行的操作)需要重复运行的操作除除2 2取余取余(2 2)终止循环的条件)终止循环的条件商为商为0 0a=0?a Mod 2a=a2F结束循环结束循环T66注意:注意:在循环控制条件中必须出现变量,且该变量在循环体中一定在循环控制条件中必须出现变量,且该变量在循环

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第四部分算法基础及VB的基本语句课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|