



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 程序设计基础教学目的及要求:使学生掌握顺序结构、分支结构、循环结构的语法规则和具体应用,程序调试的步骤和方法。重点与难点:1、熟练掌握表达式、赋值语句及逻辑表达式等的书写约定2、掌握InputBox和MsgBox函数的用法3、掌握单分支和多分支条件语句4、熟练掌握For语句和While语句的使用5、难点是多重循环的程序设计主要外语词汇:context 、prompt、msgbox、inputbox授课内容:1、三种基本结构:顺序结构、选择结构、循环结构2、流程图:(1)传统的流程图 (2)N-S流程图第一节 顺序结构程序设计特点:按书写时的顺序依次执行。一、VB中的语句及书写约定:1、
2、自动语法检测2、格式化处理3、续行符:下划线,一条语句写在多行上。 下划线与其前面的字符之间至少要有一个空格。4、复合语句行:冒号,多条语句写在一行上。二、赋值语句:1、可以给一个变量或某一个对象的属性赋值。格式1:变量名 = 表达式格式2:对象名.属性名 = 属性值若省略对象名,则默认是当前窗体。方向性:从右向左赋值。2、最终的结果是最后一次的赋值。3、数据类型要匹配,注意相容现象:(1)逻辑型 -> 数值型:True -> -1,False -> 0数值型 -> 逻辑型:非0 -> True,0 -> False(2)实型 -> 整型:四舍五入原则
3、,不是去尾原则整型 -> 实型:扩展小数位数4、不管表达式是什么数据类型,都可以赋给一个Variant变量。5、系统提供的默认初始值:(1)数值型:0 (2)货币型:0 (3)字符型:空字符串(4)逻辑型:False (5)日期型:0:00:00(6)可变型:Empty (7)对象型:Nothing6、不能连续赋值:例:Dim a As Integer,b As Integer,c As Integera=b=c=1 错误a=1: b=1:c=1 正确7、交换两个变量中的数据:例:a=b:b=a 错误 t=a:a=b:b=t 正确,t是中间变量注意:VB中的数字和只包含数字的字符串可以方
4、便地互换类型,例:(1)隐式转换:Private Sub Command1_Click( ) Dim x As Integer,y As String y = “100.23” :x = y 隐式转换 Print xEnd Sub(2)显式转换字符型 -> 数值型:利用Val函数:Private Sub Command1_Click( ) Dim x As Integer Text1.Text = “100.23”x = Val(Text1.Text) 显式转换 Print xEnd Sub(3)显式转换数值型 -> 字符型:利用Str函数:Private Sub Command1
5、_Click( ) Dim x As Integer x = 100.23Text1.Text = Str(x) 显式转换 Print Text1.TextEnd Sub三、注释、暂停、结束语句:1、注释语句:非执行语句(1)格式1:Rem 注释语句(2)格式2:注释语句(常用)(3)块注释:视图-> 工具栏 -> 编辑 -> 设置注释块、解除注释块2、暂停语句:格式:Stop暂停程序的运行,但不关闭所有已打开的文件,相当于在程序代码中设置断点,主要用于调试程序。3、结束语句:格式:End停止程序的运行,关闭所有已打开的文件。还可以用来结束一些模块的操作。例:Private
6、Sub Command2_Click( )EndEnd Sub四、输入函数InputBox:在一对话框中显示提示,等待用户输入内容,并返回包含文本框内容的字符串。1、格式:InputBox (prompt , title , default , xpos, ypos , helpfile, context )(1)prompt:对话框的消息提示文字。(2)title:对话框的标题,标题省略取默认值“工程1”。(3)default:文本框的默认输入信息。2、InputBox函数的返回值是字符型的。3、每运行一次InputBox函数只能给一个变量赋值。总结:输入数据的方法:1、在程序代码中直接指定
7、: 优点:代码简单缺点:缺少灵活性2、利用TextBox文本框输入数据: 优点:可以输入任意值缺点:要添加多个文本框,界面复杂3、利用InputBox函数输入数据: 优点:界面简单,可以输入任意值缺点:代码复杂,参数较多五、消息函数和语句MsgBox:在一对话框中显示消息,等待用户单击按钮,并返回包含文本框内容的字符串。1、MsgBox函数:(1)格式:MsgBox (prompt , buttons , title , helpfile, context )prompt:对话框的消息提示文字。buttons:a) 组合值,每组只能取一个数字,数字间用“+”连接。b) 进行相加(只有唯一的分解
8、方式)。c) 使用VB常数。(表4-1)d) 方式a)和方式c)可以结合起来使用。e)把“+”换成“Or”例:3 + 32 + 035vbYesNoCancel + vbQuestion + vbDefaultButton1vbYesNoCancel + 32 + vbDefaultButton1title:对话框的标题,标题省略取默认值“工程1”。(2)MsgBox函数的返回值是整型的:1-7(表4-2)例:Private Sub Form_Load( ) Dim a As Integer Show a=MsgBox("请你选择:",3+32+0,"Button
9、s参数组合举例") If a=6 Then Unload Form1 Form2.Show End If If a=7 Then Unload Form1 Form3.Show End If If a=2 Then End End IfEnd Sub2、MsgBox语句:仅仅用于显示一些简单的信息而不需要返回值。格式:MsgBox prompt , buttons , title , helpfile, context参数含义:同上不用写小括号,没有返回值,可以单独作为一个语句来使用。六、数据输出:Print方法的缺省输出:从窗体的第1行第1列开始输出。1、Tab函数:格式:Tab(
10、n),参数n是绝对列数值。(1)Tab函数与表达式之间用分号分隔。(2)如果当前行的打印位置大于n,则Tab将打印位置移动到下一行的第n列上。(3)如果n小于1,则Tab将打印位置移动到该行的第1列。(4)如果n大于输出行的宽度,则Tab函数用以下公式计算下一个打印位置:n Mod 行宽。2、Spc函数:格式:Spc(n),参数n是相对列数值。(1)Spc函数与表达式之间用分号分隔。(2)如果n小于输出行的宽度,则下一个打印位置将紧接在数个已打印的空白之后。(3)如果n大于输出行的宽度,则Spc函数用以下公式计算下一个打印位置:当前打印位置+(n Mod 行宽)。3、Space函数:格式:Sp
11、ace(n),输出n个空格注:Spc函数与Space函数作用相同,但Space函数可以使用字符串运算符&和+。总结:输出行的控制:Print后面不跟表达式,只输出一行空行。 输出列的控制:用Tab、Spc或Space函数调整。七、输出到打印机:1、直接输出:格式:Printer.Print 表达式只能打印文本信息,不能打印图形图像信息。(1)Page属性:用来设置页码,默认缺省值为1。(2)NewPage方法:强制打印机跳到下一页打印。(3)EndDoc方法:用来结束文件的打印。2、窗体输出:格式:窗体.PrintForm既将信息输出到窗体,又将信息输出到打印机。预览作用(1)窗体.A
12、utoRedraw=True(2)可以打印窗体上的文本、任何可见的控件及图形信息。附:方法与函数的区别:(1)方法可以单独作为语句使用,函数不可以。(2)方法没有返回值,函数有返回值。(3)方法的格式:对象.方法 参数列表 函数的调用格式:函数名(参数列表)(4)方法是隶属于某一个对象的,函数存在于VB自带的函数库。第二节 选择结构程序设计特点:根据指定的条件进行判断,根据判断的结果在两条分支或多条分支路径中选取其中的一条执行。一、行If语句:单行形式,双分支结构格式1:If 条件 Then 语句组1格式2:If 条件 Then 语句组1 Else 语句组2语句组中的多个语句之间用冒号分隔。二
13、、块If语句:多行形式,双分支结构格式3:If 条件 Then 格式4:If 条件 Then语句组1 语句组1 End If Else 语句组2 End If1、Else必须单独一行。2、IfEnd If必须成对出现。行If语句中不需要End If。3、最好采用缩进形式。4、如果语句组1、语句组2中含有多条语句时,最好使用块If语句。三、If语句的嵌套:多分支结构四、ElseIf语句:多分支结构格式:If 条件1 Then 语句组1ElseIf 条件2 Then 语句组2ElseIf 条件n Then 语句组nElse 语句组n+1End If1、VB首先测试条件1,如果它为False,VB就
14、测试条件2,依次类推,直到找到一个为True的条件。此时,VB就会执行相应的语句组,然后执行End If后面的语句。2、不能交叉嵌套,只能完全嵌套。3、可以使用任意数量的ElseIf语句。4、只有一个End If与If相对应。例题4-5:方法一:If cj >= 0 And cj < 60 Then Print "不及格"Else If cj >= 60 And cj < 75 Then Print "及格" Else If cj >= 75 And cj < 90 Then Print "良好"
15、Else If cj >= 90 And cj <= 100 Then Print "优秀" End If End If End IfEnd If方法二:If cj >= 90 And cj <= 100 Then Print "优秀"Else If cj >= 75 Then Print "良好" Else If cj >= 60 Then Print "及格" Else Print "不及格" End If End IfEnd If方法三:If cj &g
16、t;= 90 And cj <= 100 Then Print "优秀"ElseIf cj >= 75 Then Print "良好"ElseIf cj >= 60 Then Print "及格"Else Print "不及格"End If方法四:Select Case cjCase 90 To 100 Print “优秀”Case 75 To 89 Print “良好”Case 60 To 74 Print “及格” Case Else Print “不及格”End Select五、多条件选择语
17、句Select Case:多分支结构格式:Select Case 测试表达式 Case 表达式1 语句组1 Case 表达式2 语句组2 Case 表达式n 语句组n Case Else语句组n+1 End Select改进:Select Case 测试表达式 复合语句 Case 表达式1:语句组1 Case 表达式2:语句组2 Case 表达式n:语句组n Case Else :语句组n+1 End Select1、测试表达式只能是数值型或字符型。2、测试表达式只计算一次,然后VB将表达式的值与结构中的每个Case的值进行比较,如果相等,就执行与该Case相关联的语句组。3、如果不止一个Ca
18、se与测试表达式相匹配,则只对第一个匹配的Case执行与之相关联的语句组。4、表达式n的可能形式:(1)表达式1,表达式2,表达式3 无大小顺序。(2)表达式1 To 表达式2 包括表达式1和表达式2在内。(3)Is<关系运算符><表达式>只能是简单的条件,不能用逻辑运算符将两个或多个条件组合在一起。以上三种形式可以混合使用。六、条件判断函数IIf:双分支结构格式:IIf(条件,表达式1,表达式2)1、当条件为真时,函数返回值是表达式1的值;当条件为假时,函数返回值是表达式2的值。例:Print IIf(cj>=60,“通过”,“不通过”)2、IIf函数可以嵌套使
19、用。 例:Print IIf(a<0,-1,IIf(a=0,0,1)总结:1、行If语句:双分支结构2、块If语句:双分支结构3、If语句的嵌套:多分支结构4、ElseIf语句:多分支结构5、多条件选择语句Select Case:多分支结构6、条件判断函数IIf:双分支结构第三节 循环结构程序设计1、特点:根据给定条件是否满足决定是否继续执行循环体中的操作。注:避免出现“死循环”。 当程序运行了“死循环”的结构,必须按Ctrl+Break中断。2、三种循环结构:(1)ForNext (2)WhileWend (3)DoLoop3、循环方式:(1)计数法 (2)标志法一、For循环结构:格
20、式:For 循环变量=初值 To 终值 Step 步长 循环体 Next 循环变量1、缺省步长时,默认是1。步长可以为正值或为负值。2、先判断条件,后执行循环体。 注:若循环体执行n次,则条件将被判断n+1次。3、Exit For语句的作用:提前退出循环体,结束循环结构。4、空循环的作用:延时。5、For循环一般用在已知循环次数的情况。6、多重循环:不能交叉嵌套,只能完全嵌套。各层次的循环变量名不能相同。7、多重循环可以共用一个Next语句,但此时循环变量名不能省略,并且先内循环变量,后外循环变量。例:For i=1 To 10 For j=1 To 15 For k=1 To 20 循环体
21、Next k Next j Next i二、当型循环WhileWend结构:格式:While 条件 循环体 Wend1、先判断条件,后执行循环体。注:若循环体执行n次,则条件将被判断n+1次。2、循环体内一定要有改变条件的语句,否则就会导致“死循环”。3、多重循环:不能交叉嵌套,只能完全嵌套。例题4-11:求两个数的最大公约数。(1)该程序算法:(2)Private Sub Text1_KeyPress( KeyAscii As Integer) If KeyAscii=13 Then Text2.SetFocusEnd Sub注:CommandButton的Default属性默认是False
22、,该属性设置为True时,说明该按钮是缺省按钮,按回车键就相当于单击了该按钮。两者不能相互冲突。三、DoLoop循环结构:先判断后执行先执行后判断当型循环Do While 条件循环体Loop与WhileWend结构相同Do循环体Loop While 条件直到型循环Do Untill 条件循环体LoopDo循环体Loop Untill 条件1、既可以是当型循环,也可以是直到型循环。2、While与Untill后面的“条件”总是相反的。3、既可以先判断后执行:若循环体执行n次,则条件将被判断n+1次。也可以先执行后判断: 若循环体执行n次,则条件将被判断n次。4、Exit Do语句的作用:提前退出
23、循环体,结束循环结构。总结:提前退出循环体的方法:(1)ForNext :用Exit For语句(2)WhileWend(3)DoLoop :用Exit Do语句Page 79:i=1 Do While i<=99 s=s+i If s>2000 Then Exit DoEnd If i=i+2 Loop例题4-10:方法一:用For循环结构For i=1 To 9 For j=1 To i Print Tab(j*8);j & "×" & i & "=" & j*i; Next j PrintNext i方法二:用WhileWend循环结构i=1While i<=9 j=1 While j<=i Print Tab(j*8);j & "×" & i & "=" & j*i; j=j+1 Wend Print i=i+1Wend方法三:用DoLoop循环结构i=1Do While i<=9 j=1 Do While j<=i Print Tab(j*8);j & "×" & i & &qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业书画采购合同范例
- 代理美国买房合同范例
- 代工生产合同范例范例
- 外语考试听说读写全攻略及试题及答案
- 中级会计考试解析试题及答案
- 产品独家销售合同范例
- 公司经营托管合同范例
- 22025年护师考试重要考点及试题答案
- 中级会计模拟考试班内容及答案
- 串珠材料采购合同范例
- 大学生器乐训练基础知到章节答案智慧树2023年丽水学院
- 城镇燃气设施运行维护和抢修安全技术规程范本
- 企业数字化转型的国外研究现状共3篇
- T-GDWCA 0033-2018 耳机线材标准规范
- NB/T 10533-2021采煤沉陷区治理技术规范
- 无形资产转让协议书(2篇)
- GB/T 37356-2019色漆和清漆涂层目视评定的光照条件和方法
- GB/T 262-2010石油产品和烃类溶剂苯胺点和混合苯胺点测定法
- GB/T 22720.1-2017旋转电机电压型变频器供电的旋转电机无局部放电(Ⅰ型)电气绝缘结构的鉴别和质量控制试验
- GA/T 1068-2015刑事案件命名规则
- 机柜间主体施工方案
评论
0/150
提交评论