算法基础与基本语句.ppt

上传人:小飞机 文档编号:6596902 上传时间:2023-11-16 格式:PPT 页数:57 大小:385.50KB
返回 下载 相关 举报
算法基础与基本语句.ppt_第1页
第1页 / 共57页
算法基础与基本语句.ppt_第2页
第2页 / 共57页
算法基础与基本语句.ppt_第3页
第3页 / 共57页
算法基础与基本语句.ppt_第4页
第4页 / 共57页
算法基础与基本语句.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《算法基础与基本语句.ppt》由会员分享,可在线阅读,更多相关《算法基础与基本语句.ppt(57页珍藏版)》请在三一办公上搜索。

1、回顾,语句的基本成分:常量,变量,数组,记录函数,运算符,表达式VB解题过程:数学模型,确定算法 语句程序(设计,调试,使用),算法基础及VB的基本语句 第4章,算法及程序设计基础赋值语句及InputBox、MsgBox函数 分支结构与分支结构语句循环结构与循环结构语句程序示例小结,算法及程序设计基础,算法的特征算法的描述基本算法结构,4.1,算法的特征,确定性可行性有穷性输入性输出性,算法的描述,流程图。是使用规定的图形符号来描述算法的。流程图使用的图形符号见表4-1。图4-1和图4-2分别是两个算法示例的流程图。图框内的文字用于说明具体的操作内容。上例表现算法的五个特性,基本算法结构,“结

2、构化程序设计方法”的核心是规定了算法的三种基本结构:顺序结构、分支结构和循环结构。P58 三种基本结构的共同特点是:1)只有单一的入口和单一的出口;2)每个部分都可能被执行;3)结构内不存在永不终止的死循环。,赋值语句及InputBox、MsgBox函数,赋值语句InputBox函数MsgBox函数,4.2,习题:P81:第6,7,8题上机:P41实验5.1,5.2,赋值语句,赋值语句的形式不同数据类型数据的赋值图4-4 一个说明不同数据类型数据赋值方式的简单程序示例,4.2.1,赋值语句的形式,赋值语句的一般形式是:其中var表示某个变量名或属性名。先运算,后“赋值”。赋值语句可使变量或某个

3、对象的某属性获得一个新值。示例 赋值语句还可以获取一个对象的当前属性值。例如:pw=texpass.text,var=,赋值语句示例,x=This is”&“a flowernumber%=72+23 Lable1.Text=Filename is:Text.Font.Size=12 Y=(a+b)/2,思考:如何将A与B交换内容?,不同数据类型数据的赋值,有数值意义的字符串,OK!无数值意义的字符串出错!,字符,数值变量,True”true”;False”False”,逻辑值,字符变量,Ture:变量的值将为-1;False:变量的值为0,逻辑值,整型变量,值转换为字符型赋给变量,数值,字符

4、变量,先求值再转换为变量类型后再赋值,数值,数值变量,系统处理,表达式类型,变量类型,逻辑变量,数值,非0值转换为True赋变量,0则转换为False赋变量,图4-4 一个简单程序示例,InputBox函数,InputBox函数用来接受用户通过键盘输入的数据。InputBox函数应用示例 P61,4.2.2,N_student=inputbox(“请输入你的学号”,”程序示例”,230001),运行时,N_student的值为用户输入的学号值,MsgBox函数,MsgBox函数用于向用户发布提示信息,并要求用户作出必要的响应。MsgBox函数根据用户选择单击的按钮而返回不同的值MsgBox函数

5、有以下几种使用方法,4.2.3,MsgBox函数的几种使用方法,三种方法都可以获得如图所示画面。但第二、三种用法将得不到用户点击不同按钮的返回值(或没有返回值)。,Ans=msgbox(“非法数据!”,48,“提示信息”),print msgbox(“非法数据!”,48,“提示信息”),Msgbox“非法数据!”,48,“提示信息”,1,2,3,参数C1,C2,C3,C4见P62,分支结构与分支结构语句,分支结构是程序的基本算法结构之一。VB提供了实现分支结构的相关语句。If-Then-Else-End If 结构语句Select-Case-End Select 结构语句,4.3,习题:P81

6、 第2题上机:P43实验5.3到5.7,If-Then-Else-End If 结构语句,该结构语句的一般形式该结构的变形1该结构的变形2例4-1 已知三角形三个边的长度,设计求此三角形面积的程序 例4-2一个有多个分支的示例程序,4.3.1,If结构语句的一般形式,If e Then A组语句Else B组语句End If,If 结构的变形1,If 结构的变形2,例4-1 已知三角形三个边的长度,设计求此三角形面积的程序,算法流程图,当a+bc 且 a+cb 且 b+ca 时,三角形存在,其面积式中:p=(a+b+c)/2,例4-1 算法流程图,例4-2一个有多个分支的示例程序,程序代码,例

7、4-2 程序代码,Private Sub Command1_Click()Dim x As Integer x=Val(Text1.Text)If x 1 Then Text2.Text=“这是小于1的数”ElseIf x=10 Then Text2.Text=“这是1到10之间的数”Else Text2.Text=”这是大于10的数”End IfEnd Sub,Select-Case-End Select 结构语句,实现多分支结构的另一种方法。例4-2的程序代码也可使用本结构语句实现,4.3.2,Select Case e Case c1 A组语句 Case c2 B组语句.Case Els

8、e n组语句 End Select,e称为测试表达式;c1,c2,.是测试项,(1)具体取值:如:3、5、7.2等(当测试表达式是算术表达式时);(2)连续的数据范围:如:8 To 20;B To H等;(3)满足某个判决条件:如:Is20;Is=P等。,例4-2使用本结构语句实现,Private Sub Command1_Click()Dim x As Integer x=Val(text1.Text)Select Case x Case Is 1 Text2.text=这是小于1的数 Case 1 To 10 Text2.Text=这是1到10之间的数 Case Else Text2.Te

9、xt=这是大于10的数 End SelectEnd Sub,循环结构与循环结构语句,循环结构是程序的基本算法结构。所谓循环,就是重复地执行某些操作。当型循环和直到型循的不同执行方式Do-Loop循环结构语句For-Next循环结构语句循环嵌套,4.4,习题:P81 第3,4,5,9题上机:P47实验6.1到6.6,回顾(3.30),赋值语句的兼容(P60)IF语句的多态(举例)Elseif语句的迷惑(举例)多路分支语句 select case的妙用DO语句的2种结构、2种控制语句关于FOR语句,当型循环和直到型循的不同执行方式,当型循环的不同执行方式直到型循环的不同执行方式,Do-Loop循环

10、结构语句,Do-Loop循环结构语句的四种形式 Exit Do语句 例4-3 求两个自然数的最大公约数程序,4.4.1,1.Do While e 2.Do.Exit Do Exit Do.Loop Loop While e3.Do Until e 4.Do.Exit Do Exit Do.Loop Loop Until e,回顾(4.27)补课问题,赋值语句的兼容(P60)IF语句的多态(举例)Elseif语句的迷惑(举例)多路分支语句 select case的妙用DO语句的2种结构、2种控制语句关于EXIT DO语句,Exit Do语句,循环体中,执行到Exit Do语句时,就会直接退出本层

11、循环,转而执行Loop语句的下一条语句。最常用的形式是与If-Then语句相结合,即:If e Then Exit Do表示:如果条件e被满足,则执行Exit Do语句直接退出本层循环。举例:P81 第3题,例4-3 求两个自然数的最大公约数程序,在程序中加入对数据的合法性进行检验的部分;数据类型可选用长整型。使用Mod运算符时,切记应前后各加一个空格 程序代码,最小公倍数?,For-Next循环结构语句,如果事先已知循环次数,则可使用For-Next 循环结构语句。它的一般形式是:For-Next循环结构语句的执行方式注意例4-4 例4-5,4.4.2,For-Next循环结构语句的执行方式

12、,1.计算e1、e2和e3的值;2.给v赋初值;(1与2只做一次)3.判v的值是否超过e2,如果未超过,则执行循 环体;如果超过了,则退出循环。4.做完循环体后,到Next语句,v增加一个步长;转3:判别操作。,注意,循环参数e1、e2和e3中包含的变量如果在循环体内被改变,不会影响循环的执行次数;但循环控制变量若在循环体内被重新赋值,则循环次数有可能发生变化(举例 P82:#4)若使用非整型数做循环控制变量和循环参数,那么循环次数就有可能发生意想不到的变化。,例4-4求1到10这十个数的和与连乘积,求若干个数之和或连乘积,可采用“累加”或“累乘”法。累加法是设置一个存放和数的变量,称为“累加

13、器”,初始值为0,累加过程通过循环实现;累乘的算法设置的是“累乘器”,初始值为1,在循环体内,乘数应与累乘器相乘。设置适当的数据类型。程序代码,FOR语句的特例,关于正常情况下的循环次数关于正常情况下循环结束后循环变量的值EXIT FOR语句非正常情况下:循环变量的值!举例:P81#3#4,循环嵌套,无论是Do-Loop循环,还是For-Next循环,都可以在大循环中套小循环。注意:小循环一定要完整地被包含在大循环之内。Private Sub Form_Click()For i=1 To 9 For j=1 To 9 Print i;*;j;=;i*j;Next j Print Next iE

14、nd Sub 例4-6一个模拟摇奖的程序,4.4.3,小结,VB的基本语法规则VB的基本元素(常量,变量,函数,运算符,各种表达式)结构化程序的三种结构(顺序,分支,循环)如何设计算法?如何用VB实现算法?,例4-5大写字母逆序输出的程序,回顾几组函数:Len(),Mid(),Left(),Right(),Chr,Asc()本例利用Mid函数可以从字符串中提取出单个字符如何控制循环过程?(使用Len函数);如何处理?(采用连接运算)如何逆序输出?(程序设计技巧之一)程序代码,例4-6一个模拟摇奖的程序,设有100个人中签,要从中找出中奖人。由机器自动随机产生1000个1到100间的数据,第10

15、00个随机数据即为中奖人的号码。如何产生1100之间的随机整数。可用以下公式:Int(上限-下限lb+1)*Rnd)+下限 调用 Rnd 之前,可先使用无参数的 Randomize 语句初始化随机数生成器程序代码,程序示例,例4-7 一个简易函数计算器程序(P74)例4-8 个人收入调节税应用程序(P77)例4-9牛顿迭代法程序设计(P78)例4-10 原码转换成反码的程序(P79),4.5,例4-7一个简易函数计算器程序,预处理:考虑在文本框中没有输入数据;输入的数据超出函数的定义域时的出错处理。程序中使用的IsNumeric(s)函数用于检测自变量s是否是一个可转换成数值的数字串,如果是,

16、则返回逻辑值True,否则返回False。程序代码,Private Sub cmd1_Click()If Text1.Text=Then MsgBox 请输入X值!,48+vbOKOnly,程序示例 Text1.SetFocus ElseIf IsNumeric(Text1.Text)Then X=Val(Text1.Text)求函数 Label2.Caption=“Exp(X)=:”换门牌 Text2.Text=Str(Exp(X)送结果 Else MsgBox 输入数据错误!,48+vbOKOnly,程序示例 Text1.Text=”End IfEnd Sub,exp,效果?,初始界面,M

17、sgBox“请输入X值!”,48+vbOKOnly,程序示例,显示结果,按月收入额计个人收入调节税的计税公式式中,pay为纳税人的月收入。程序代码,例4-8个人收入调节税应用程序,Private Sub Command1_Click()Dim tax As Single,pay As Single pay=Text1.Text If Check1.Value=1 or pay=1000 Then tax=0 ElseIf pay=1500 Then tax=(pay-1000)*0.05 ElseIf pay=2000 Then tax=25+(pay-1500)*0.1.Else什么情况下执

18、行?tax=700+(pay-4500)*0.4 End If Text2.Text=taxEnd Sub,思考:1、判断顺序2、if-then-elseif的结合?3、改成select case语句?,例4-9利用牛顿迭代法求方程根,xex-1=0 at:x0=0.5=10-7 算法说明 P78程序代码 P79,Option ExplicitPrivate Sub cmd1_Click()Dim x As Single,x1 As Single,Eps As Single x=InputBox(输入初始值x:,牛顿迭代法)Eps=InputBox(输入允许误差Eps:,牛顿迭代法)Do x1

19、=x总把新符换旧符 x=x1-(x1*Exp(x1)-1)/(Exp(x1)*(x1+1)Loop Until Abs(x-x1)=Eps Text1.Text=Str(x)End Sub,例4-10 原码转换成反码的程序,Mid函数的另外一个功能:可以用在赋值语句中:其功能是用指定的字符替换字符串中指定位置的内容。例 s=“abcdef”mid(s,4,3)=“xyz”s的结果为“abcxyz”程序代码,Private Sub Command1_Click()Dim Source As String,I As Integer Source=Text1.Text If Mid(Source,1,1)1 Then Text2.Text=正数没有补码 Else For I=2 To Len(Source)If Mid(Source,I,1)=1 Then Mid(Source,I,1)=0 Else Mid(Source,I,1)=1 End If Next I Text2.Text=Source End IfEnd Sub,Mid函数的新作用,本章小结,算法及程序设计基础赋值语句及InputBox、MsgBox函数 分支结构与分支结构语句循环结构与循环结构语句程序示例习题(P81-P83第10-13题)上机(P41-P55)(5月16日交),END,2002年4月7日,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号