版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 2 3.1 3 3种基本的控制结构种基本的控制结构 学习了什么是表达式,学习了什么是表达式, 那么如何对表达式进行有效地组织呢?那么如何对表达式进行有效地组织呢? 必须依靠三大基本结构:必须依靠三大基本结构: 顺序结构顺序结构 选择结构选择结构 循环结构循环结构 利用这三种结构相互嵌套可以构造出各种复杂程序!利用这三种结构相互嵌套可以构造出各种复杂程序! 嵌套结构(结构中包含结构)嵌套结构(结构中包含结构) 2021-5- 语句一语句一 语句二语句二 表达式表达式 语句一语句一语句二语句二 表达式表达式 语句语句 真假 真真 假假 顺序顺序 结构结构 选择选择 结构结构 循环循环 结构结构
2、三种基本结构流程图三种基本结构流程图 4 顺序结构顺序结构 赋值语句赋值语句 输入输出语句输入输出语句 选择结构选择结构 条件语句条件语句 双分支结构双分支结构 多分支结构多分支结构 单分支结构单分支结构 情况语句情况语句 循环结构循环结构 ForNext Do WhileLoop DoLoop Do Loop While Do UntilLoop Do Loop Until WhileWend 5 赋值语句:赋值语句:是程序中最常用的语句,其功能是先计算出赋值号是程序中最常用的语句,其功能是先计算出赋值号 右边表达式的值右边表达式的值( (必要时转换为相同类型数据必要时转换为相同类型数据)
3、),再将值赋给赋,再将值赋给赋 值号左边的变量。值号左边的变量。 赋值语句的形式为:赋值语句的形式为: 变量名表达式变量名表达式 或或 对象名对象名. .属性名表达式属性名表达式 注意注意赋值语句的阅读顺序赋值语句的阅读顺序:从右至左从右至左 x = 100 x = 100* *8 8 Text1.Text = Text1.Text = “welcome towelcome to” 功能:在窗体上功能:在窗体上(对象是窗体对象是窗体)打印内容,内容的默认位置在打印内容,内容的默认位置在 窗体的左上角。窗体的左上角。 Private Sub Form_Click() Print 温州医学院温州医
4、学院 End Sub Private Sub Form_Click() Print 温州医学院温州医学院 Print 欢迎你!欢迎你! End Sub Private Sub Form_Click() Print 温州医学院温州医学院 Print Print 欢迎你!欢迎你! End Sub 13 注意:无注意:无“;”或或“,” 表示输出后下一个输出位置表示输出后下一个输出位置 换行换行 Private Sub Form_Click() Print 温州医学院温州医学院; Print 欢迎你!欢迎你! End Sub (紧凑格式紧凑格式) Private Sub Form_Click() P
5、rint 温州医学院温州医学院; 欢迎你!欢迎你! End Sub Private Sub Form_Click() Print 温州医学院温州医学院, Print 欢迎你!欢迎你! End Sub (宽松格式宽松格式) Private Sub Form_Click() Print 温州医学院温州医学院, 欢迎你!欢迎你! End Sub 注意:符号必须是注意:符号必须是 英文输入状态!英文输入状态! 14 如何精确地控制打印内容的格式?如何精确地控制打印内容的格式? 用用Spc(n)、Tab(n)两个内部函数可以满足要求两个内部函数可以满足要求 Spc(n):输出:输出n个空格个空格 Tab
6、(n):在第:在第n列开始输出列开始输出 Private Sub Form_Click() Print 1234567890123456789 Print good; Spc(3); afternoon Print Tab(8); good; Tab(16); afternoon End Sub 15 特别说明特别说明:刚才所演示的都是打印字符串,:刚才所演示的都是打印字符串, 当打印的是数值时,会有明显的不同。当打印的是数值时,会有明显的不同。 Private Sub Form_Click() Print 1234567890123456789 Print 1000 Print 1000 P
7、rint Trim(1000) Print -1000 End Sub 如果打印的是数值类型,则会自动在前后加上空格,称如果打印的是数值类型,则会自动在前后加上空格,称 为为前导空格前导空格和和后置空格后置空格。 16 MsgBoxMsgBox函数的使用方法:函数的使用方法: =MsgBox(=MsgBox(, ,对话框标题,对话框标题 ) 2 2、输出语句、输出语句MsgBoxMsgBox函数函数 Private Sub Form_Click()Private Sub Form_Click() Dim I as Integer, length as Integer, width as Int
8、eger Dim I as Integer, length as Integer, width as Integer Dim s as Long Dim s as Long length = length = InputBoxInputBox(请输入长方形的长请输入长方形的长:, :, 求长方形的面积求长方形的面积, 10), 10) width = width = InputBoxInputBox(请输入长方形的宽:请输入长方形的宽:, , 求长方形的面积求长方形的面积, 10), 10) s = length s = length * * width width i = i = MsgBo
9、x(MsgBox(长方形的长:长方形的长: 第二次单击时以楷体显第二次单击时以楷体显 示示;第三次显示时以宋体显示第三次显示时以宋体显示;第四次单击则清除窗体上的第四次单击则清除窗体上的 信息信息,重复重复. 2021-5- If Then ElseIf Then ElseIf Then End If 注意:注意:ElseIf ElseIf 不要写成不要写成Else Else IfIf,末尾的,末尾的End IfEnd If不要忘记。不要忘记。 另外一种多分支选择结构形式另外一种多分支选择结构形式 27 情况选择结构用于多路选择情况选择结构用于多路选择,根据根据测试表达式测试表达式的不同取值决
10、定执行该结构的哪一个的不同取值决定执行该结构的哪一个 分支。测试表达式可以为数值、字符等类型,常用的一般为整型或字符串类型。分支。测试表达式可以为数值、字符等类型,常用的一般为整型或字符串类型。 28 2021-5- 2021-5- 31 Private Sub Form_Click() Dim Chinese%, Math%, English% Chinese = InputBox(语文语文) Math = InputBox(数学数学) English = InputBox(英语英语) Select Case (chinese + math + english) / 3 Case Is =
11、60 Print 及格及格 Case Is 60 Print 不及格不及格 End Select End Sub 注意:注意:Select Case 后不能出现多个表达式后不能出现多个表达式 测试表达式测试表达式 32 计算机为什么能够大大提高人们的工作效率?计算机为什么能够大大提高人们的工作效率? 一个很重要的原因就是它能够不知疲倦地进行一个很重要的原因就是它能够不知疲倦地进行 循环运算,而且结果精确。循环运算,而且结果精确。( (比如:编程实现比如:编程实现1 1 到到100100的累积和的累积和) 33 语法: 例例: For x=1 To 100 Step 1 限定范围及步长限定范围及
12、步长 sum=sum+x ; 累加累加 Next x 进入下次循环进入下次循环 2021-5- 例例: For x=2 To 13 Step 3 限定范围及步长限定范围及步长 Print x ; 输出输出x的值的值 Next x 进入下次循环进入下次循环 例例: For x=1 To 99 Step 2 限定范围及步长限定范围及步长 s=s+x 连加连加 Next x 进入下次循环进入下次循环 2021-5- For i= 1 to 10 setp 1 If i=7 Then Exit For Next i 2021-5- 37 Private Sub Form_Click() For x =
13、 13 To 1 Step -3 Print x; If x = 7 Then Exit For End If Next x Print Print x End Sub 例子:例子: 38 例子:例子: Private Sub Form_Click() Print 12345 Dim i As Integer For i = 1 To 5 Print Tab(i); String(6 - i, T) Next i End Sub 2021-5- 40 语法格式:语法格式: 功能:当条件为真功能:当条件为真(True)时执行循环体时执行循环体 While/Wend结构的特点是:先判断条件、后执行
14、循环体,结构的特点是:先判断条件、后执行循环体, 常用于编制某些循环次数预先未知的程序。常用于编制某些循环次数预先未知的程序。 2021-5- Private Sub Command1_Click() Dim i As Integer, fh As Integer Dim y As Double, n As Integer n = InputBox(输入输入n, ) y = 0 fh = -1 i = 1 While i = n fh = -fh y = y + fh / i i = i + 1 Wend Label1.Caption = y End Sub 42 Do While i101
15、sum=sum+i i=i+1 Loop Dim i As Integer, sum As Integer i = 1: sum = 0 Print sum 先判断条先判断条 件,后执件,后执 行循环体行循环体 43 Dim i As Integer, sum As Integer i = 1: sum = 0 Print sum Do sum=sum+i i=i+1 Loop While i100 sum=sum+i i=i+1 Loop 45 Dim i As Integer, sum As Integer i = 1: sum = 0 Print sum Do sum=sum+i i=i
16、+1 Loop Until i100 46 Do While i100 sum=sum+i i=i+1 Loop Do sum=sum+i i=i+1 Loop While i100 四四 种种 形形 式:式: 2021-5- Do While i50 Then Exit do Loop 2021-5- 49 单一的循环结构功能较弱,如果将循环结构与单一的循环结构功能较弱,如果将循环结构与 分支结构进行分支结构进行嵌套嵌套,或者,或者多重循环多重循环结构进行嵌套,结构进行嵌套, 就能就能实现复杂的功能实现复杂的功能。 50 For A =1 To 10 For B=1 To 20 Next B
17、 Next A For A =1 To 10 If B=10 then End If Next A 要注意嵌套层次的对应关系要注意嵌套层次的对应关系 51 Private Sub Form_Click() Dim i As Integer, j As Integer Dim star As String star=“#” For i = 1 To 6 For j = i To 6 Form1.Print star; Next j Form1.Print Next i End Sub 注意对应关系注意对应关系 2021-5- 2021-5- 54 3.5 数组及其应用数组及其应用 假设有假设有1
18、00个学生的成绩需要输入计算机,按照个学生的成绩需要输入计算机,按照 前面的说法,就需要声明前面的说法,就需要声明100个变量来分别存储成绩,个变量来分别存储成绩, 显然这是极不合适的。但若使用数组,就可以轻松地显然这是极不合适的。但若使用数组,就可以轻松地 解决此类大数据量的问题。解决此类大数据量的问题。 数组的定义:数组的定义:数组是指数组是指相同类型相同类型数据的数据的有序有序集合,由集合,由 一个变量名一个变量名来引用。数组中的每一个来引用。数组中的每一个元素元素都可以通过都可以通过 一个数值一个数值下标下标访问。访问。 55 3.5 数组数组 数组可分为两种类型:数组可分为两种类型:
19、 静态静态(定长定长)数组、动态数组、动态(可变长可变长)数组数组 1 1、 定长数组及声明(定长数组及声明(必须先声明,再使用必须先声明,再使用) 数组名数组名( (下标下标) ) As As 类型类型 下标:下标: 下界下界 ToTo上界上界 注:注:必须为常量,若省略,则表示必须为常量,若省略,则表示 下界为下界为0 0或者或者1 1 数组大小(总的元素个数):数组大小(总的元素个数): 上界下界上界下界1 1 例例: Dim mark(1 to 100) As Integer 1是下标的下界100是下标的上界数组元素的数据类型 56 可以利用此语句设置数组中下标中的下界的缺省值。可以利
20、用此语句设置数组中下标中的下界的缺省值。 Option Base 0|1 的用法的用法 Option Base 1 Dim a(8) As Integer a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(0) a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) Option Base 0 Dim a(8) As Integer 57 Option Base 0|1 的用法的用法 注意:注意: (1)在模块的通用声明段设置,并只在此模块起)在模块的通用声明段设置,并只在此模块起 作用。作用。 (2)参数只能为)参数只能为0或或1。
21、(具体应写成具体应写成Option Base 0或或Option Base 1) (3)程序中没有写明此条语句的话,数组下界的缺)程序中没有写明此条语句的话,数组下界的缺 省值依然为省值依然为0。 2021-5- 2021-5- 60 多维数组多维数组 如: Dim a(2,3) As Integer (共3*4个元素) 如: Dim a(8) As Integer a(0) a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) 一维数组:一维数组: 二维数组二维数组: 61 多维数组多维数组 例:例: Dim a(1 to 3, 1 to4) As Integer
22、Dim s(2,5) As Single 多维数组的语法形式:多维数组的语法形式: 数组名数组名( (下标下标1 1,下标,下标2 2,) As ) As 类型类型 2021-5- 2021-5- 64 数组的大小在声明时并没有给出,而要根据后续程序数组的大小在声明时并没有给出,而要根据后续程序 的需要来重新定义数组的大小。的需要来重新定义数组的大小。 2021-5- 建议用建议用 这个方这个方 式,请式,请 大家修大家修 改改P73 nInputBox(“请输入数组请输入数组 元素个数元素个数”) ReDim a(n) As Integer 或者或者 66 关键字关键字Preserve加与不
23、加的区别:(加与不加的区别:(书上没有书上没有) (1)如果没有如果没有Preserve,重新确定数组大小时,会,重新确定数组大小时,会 把原来数组里的内容全部清空为把原来数组里的内容全部清空为0。 (2) 如果加了如果加了Preserve,重新确定数组大小时,会,重新确定数组大小时,会 保留原来数组里的全部内容。保留原来数组里的全部内容。 67 Option Explicit Private Sub Form_Click() Dim mark( ) As Integer ReDim mark(6) mark(1) = 23 mark(2) = 56 mark(3) = 77 ReDim Pr
24、eserve mark(8) Print mark(3) End Sub 68 算法是指解决问题的一种方法或者一个过程,算法是指解决问题的一种方法或者一个过程, 而程序是指使用某种计算机语言对一种算法的具体而程序是指使用某种计算机语言对一种算法的具体 实现。实现。 打个小比喻: 算法VB语言 工具方法 问题 69 累加与累乘累加与累乘 一般需要依靠循环结构来实现累加与累乘算法一般需要依靠循环结构来实现累加与累乘算法 Sum=0 For i=1 To 100 Sum=Sum+i Next i Print Sum 累加就是在原来的累加就是在原来的 和的基础上一次又一次和的基础上一次又一次 的再加上
25、一个数的再加上一个数 1+2+3+100 F=1 For i=1 To 100 F=F*i Next i Print F 累乘又叫连乘是在累乘又叫连乘是在 原来积的基础上一次又原来积的基础上一次又 一次地再乘上一个数一次地再乘上一个数 123100 70 例:例:求自然对数求自然对数e e的近似值的近似值, , 要求其误差小于要求其误差小于0.000010.00001,近似公式为,近似公式为: : m 1i0i i! 1 1 i! 1 . ! 1 . 3! 1 !2 1 1! 1 1e i 算法分析:累加问题算法分析:累加问题 归纳出其通项:归纳出其通项:an1/n! 71 穷举法穷举法 “穷
26、举法穷举法”也称为也称为“枚举法枚举法”或或“试凑法试凑法”, 即即 对可能出现的各种情况逐一进行测试,判断是否满足对可能出现的各种情况逐一进行测试,判断是否满足 条件,从中找出那些满足条件的结果作为问题的解。条件,从中找出那些满足条件的结果作为问题的解。 例如用计算机破译密码、探寻路径等。例如用计算机破译密码、探寻路径等。 这是一种最这是一种最“笨笨”的方法,一般采用循环来实现。的方法,一般采用循环来实现。 72 Private Sub Form_Click() Dim A As Integer, B As Integer, C As Integer, D As Integer Dim S1 As Integer, S2 As Integer, S3 As Integer For A = 1 To 9 For B = 0 To 9 For C = 1 To 9 For D = 0 To 9 S1 = A * 1000 + B * 100 + C * 10 + D S2 = C * 100 + D * 10 + C S3 = A * 100 + B * 10 + C If S1 - S2 = S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Windows Server 2022活动目录管理实践( 第2版 微课版)-课件项目24 提升林域的功能级别、部署多元密码策略
- 2023-2024学年广西玉林市玉州第二实验学校八年级(上)段考数学试卷(10月份)
- 沪科版八年级数学上册专项素养综合练(八)构造全等三角形的方法课件
- 全国赛课一等奖英语七年级上册(人教2024年新编)《Unit 2 SectionA Pronunciation》课件
- 中图版初中地理七年级上册第一章第三节等高线地形图中山体部位地判别
- 四川省内江市2024年中考化学真题(含答案)
- 化 学自然界的水单元复习题-2024-2025学年九年级化学人教版(2024)上册
- 甘肃省临夏自治州康乐中学2024-2025学年高二上学期第一次月考物理试卷
- 上海市交通大学附属中学2024-2025学年上学期七年级数学期中卷(无答案)
- 八年级生物期中模拟卷【测试范围:人教版2024第一单元及第二单元第一章】(考试版A4)(河南专用)
- 宾馆电器安装合同模板
- 江苏省扬州市(2024年-2025年小学四年级语文)人教版期中考试(上学期)试卷及答案
- 2024年应急管理部所属事业单位第二次招聘考试笔试高频500题难、易错点模拟试题附带答案详解
- 财务英文词汇大全
- 2024-2030年中国维生素原料药市场产销需求与前景趋势预测报告
- 《药品管理法》知识考试题库300题(含答案)
- 2024至2030年中国食材配送行业经营形势及投资价值评估报告
- 2024水利云播五大员考试题库及答案
- 2024河南郑州热力集团限公司招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 空气源热泵机房系统施工安全生产保证措施
- 新苏教版六年级上册《科学》全一册全部课件(含19课时)
评论
0/150
提交评论