第4章算法基础与基本语句

上传人:小** 文档编号:71588972 上传时间:2019-01-21 格式:PPT 页数:57 大小:495.50KB
返回 下载 相关 举报
第4章算法基础与基本语句_第1页
第1页 / 共57页
第4章算法基础与基本语句_第2页
第2页 / 共57页
第4章算法基础与基本语句_第3页
第3页 / 共57页
第4章算法基础与基本语句_第4页
第4页 / 共57页
第4章算法基础与基本语句_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《第4章算法基础与基本语句》由会员分享,可在线阅读,更多相关《第4章算法基础与基本语句(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 flower“ number% = 72+23 Lable1.Text = “Filename is:“ Text.Font.Size = 12 Y = (a + b )/2,思考:如何将A与B交换内容?,不同数据类型数据的赋值,有数值意义的字符串,OK! 无数值意义的字符串出错!,字符,数值变量,True”true”;False”False”,逻辑值,

4、字符变量,Ture:变量的值将为-1; False:变量的值为0,逻辑值,整型变量,值转换为字符型赋给变量,数值,字符变量,先求值再转换为变量类型后再赋值,数值,数值变量,系统处理,表达式类型,变量类型,逻辑变量,数值,非0值转换为True赋变量, 0则转换为False赋变量,图4-4 一个简单程序示例,InputBox函数,InputBox函数 用来接受用户通过键盘输入的数据。 InputBox函数应用示例 P61,4.2.2,N_student=inputbox(“请输入你的学号”,”程序示例”,230001),运行时,N_student的值为用户输入的学号值,MsgBox函数,MsgBo

5、x函数用于向用户发布提示信息,并要求用户作出必要的响应。 MsgBox函数根据用户选择单击的按钮而返回不同的值 MsgBox函数有以下几种使用方法,4.2.3,MsgBox函数的几种使用方法,三种方法都可以获得如图所示画面。 但第二、三种用法将得不到用户点击不同按钮的返回值(或没有返回值)。,Ans=msgbox(“非法数据!”,48,“提示信息”),print msgbox(“非法数据!”,48,“提示信息”),Msgbox “非法数据!”,48,“提示信息”,1,2,3,参数C1,C2,C3,C4见P62,分支结构与分支结构语句,分支结构是程序的基本算法结构之一。VB提供了实现分支结构的相

6、关语句。 If-Then-Else-End If 结构语句 Select-Case-End Select 结构语句,4.3,习题: P81 第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

7、 且 a+cb 且 b+ca 时,三角形存在,其面积 式中: p=(a+b+c)/2,例4-1 算法流程图,例4-2一个有多个分支的示例程序,程序代码,例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 If End Sub,Select-Case-End Select 结构

8、语句,实现多分支结构的另一种方法。 例4-2的程序代码也可使用本结构语句实现,4.3.2,Select Case e Case c1 A组语句 Case c2 B组语句 . Case Else 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(text

9、1.Text) Select Case x Case Is 1 Text2.text = “这是小于1的数“ Case 1 To 10 Text2.Text = “这是1到10之间的数“ Case Else Text2.Text = “这是大于10的数“ End Select End Sub,循环结构与循环结构语句,循环结构是程序的基本算法结构。所谓循环,就是重复地执行某些操作。 当型循环和直到型循的不同执行方式 Do-Loop循环结构语句 For-Next循环结构语句 循环嵌套,4.4,习题: P81 第3,4,5,9题 上机:P47实验6.1到6.6,回顾(3.30),赋值语句的兼容(P6

10、0) IF语句的多态(举例) Elseif语句的迷惑(举例) 多路分支语句 select case的妙用 DO语句的2种结构、2种控制语句 关于FOR语句,当型循环和直到型循的不同执行方式,当型循环的不同执行方式 直到型循环的不同执行方式,Do-Loop循环结构语句,Do-Loop循环结构语句的四种形式 Exit Do语句 例4-3 求两个自然数的最大公约数程序,4.4.1,1.Do While e 2. Do . . Exit Do Exit Do . . Loop Loop While e 3.Do Until e 4.Do . . Exit Do Exit Do . . Loop Loo

11、p Until e,回顾(4.27)补课问题,赋值语句的兼容(P60) IF语句的多态(举例) Elseif语句的迷惑(举例) 多路分支语句 select case的妙用 DO语句的2种结构、2种控制语句 关于EXIT DO语句,Exit Do语句,循环体中,执行到Exit Do语句时,就会直接退出本层循环,转而执行Loop语句的下一条语句。 最常用的形式是与If-Then语句相结合, 即: If e Then Exit Do 表示:如果条件e被满足,则执行Exit Do语句直接退出本层循环。 举例:P81 第3题,例4-3 求两个自然数的最大公约数程序,在程序中加入对数据的合法性进行检验的部

12、分; 数据类型可选用长整型。 使用Mod运算符时,切记应前后各加一个空格 程序代码,最小公倍数?,For-Next循环结构语句,如果事先已知循环次数,则可使用For-Next 循环结构语句。它的一般形式是: For-Next循环结构语句的执行方式 注意 例4-4 例4-5,4.4.2,For-Next循环结构语句的执行方式,1.计算e1、e2和e3的值; 2.给v赋初值;(1与2只做一次) 3.判v的值是否超过e2,如果未超过,则执行循 环体;如果超过了,则退出循环。 4.做完循环体后,到Next语句,v增加一个步长;转3:判别操作。,注意,循环参数e1、e2和e3中包含的变量如果在循环体内被

13、改变,不会影响循环的执行次数;但循环控制变量若在循环体内被重新赋值,则循环次数有可能发生变化(举例 P82:#4) 若使用非整型数做循环控制变量和循环参数,那么循环次数就有可能发生意想不到的变化。,例4-4求1到10这十个数的和与连乘积,求若干个数之和或连乘积,可采用“累加”或“累乘”法。 累加法是设置一个存放和数的变量,称为“累加器”,初始值为0,累加过程通过循环实现; 累乘的算法设置的是“累乘器”,初始值为1,在循环体内,乘数应与累乘器相乘。设置适当的数据类型。 程序代码,FOR语句的特例,关于正常情况下的循环次数 关于正常情况下循环结束后循环变量的值 EXIT FOR语句 非正常情况下:

14、循环变量的值! 举例: 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 i End Sub 例4-6一个模拟摇奖的程序,4.4.3,小结,VB的基本语法规则 VB的基本元素(常量,变量,函数,运算符,各种表达式) 结构化程序的三种结构(顺序,分支,循环) 如何设计算法? 如何用VB实现算法

15、?,例4-5大写字母逆序输出的程序,回顾几组函数: Len(), Mid(),Left(),Right(), Chr,Asc() 本例利用Mid函数可以从字符串中提取出单个字符 如何控制循环过程?(使用Len函数); 如何处理?(采用连接运算) 如何逆序输出?(程序设计技巧之一) 程序代码,例4-6一个模拟摇奖的程序,设有100个人中签,要从中找出中奖人。由机器自动随机产生1000个1到100间的数据,第1000个随机数据即为中奖人的号码。 如何产生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是否是一个可转换成数值的数字串,如果是,则返回逻辑值True,否则返回False。 程序代码,Private Sub cmd1_Click() If Text1.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号