顺序结构程序设计.pps_第1页
顺序结构程序设计.pps_第2页
顺序结构程序设计.pps_第3页
顺序结构程序设计.pps_第4页
顺序结构程序设计.pps_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章 顺序结构程序设计,制作者:钱瑛,本章的学习重点和难点,解题的基本思路 顺序结构 赋值语句 基本的输入输出函数 注释、暂停和程序结束语句,课件内容,作业解答,引言,在具体解决问题时,应学会分析是针对哪个对象,响应了什么事件过程,完成什么具体操作 要求熟悉对象的属性、方法、事件 应注意在解决具体问题时,这些对象是如何运用的。 编写事件过程代码,必须进行算法分析 算法的三种基本结构:顺序结构、分支结构和循环结构 VB中对应三种基本结构的语句和常用函数,5.1 顺序结构,在VB中,采用OOP,程序的执行是事件驱动的,但就某个过程而言,过程本身代码的执行仍采用顺序结构,即按照语句代码出现的先后次序执行,顺序结构的语句主要是赋值语句、输入输出语句等 在VB中有赋值语句,没有输入输出语句 在VB中输入输出功能可以通过文本框等控件和Print方法来实现, VB提供了专门用于用户交互的函数和过程来实现此功能,5.2赋值语句,赋值语句的一般形式是 var = 表达式 var可以是变量名或属性名;变量名为任何合法的VB变量名,而表达式可以为任何类型的表达式 赋值语句的执行步骤和作用是先计算赋值号(=)右边表达式的值,然后将表达式的值赋给左边的var 使用赋值语句可给变量或为属性赋值。对变量进行赋值就是将数据放入指定变量的内存空间。而对属性进行赋值就是设置或改变对象的属性值 StudentNum = 30 number% = StudentNum * 4 + 20 Form1.Caption = “Input data“ Label1.BackColor = RGB(255,0,0),5.2赋值语句,使用赋值语句获取一个对象返回的当前属性值: var = 对象名.属性名 var是可以变量名或属性名 特别注意:属性也存在数据类型,所以在获取对象的属性值时,最好使用具有相同数据类型的var 经常利用文本框接收用户通过键盘输入的内容,而用户输入的内容是保存在文本框的Text文本属性中,要获取Text文本属性的值即用户输入的内容,可通过赋值语句实现:A = Text1.Text 例题5-1,例题5-1,编写程序,实现用户输入的两个数据内容的互换 分析 不管多么复杂的问题,一般在解决时,都可分为三个步骤:接收数据、数据处理、输出结果 (1)接收用户输入 (2)数据交换 (3)交换结果输出 接收用户输入的两个数据:常用控件是文本框 交换结果的输出:常用的方法有利用文本框、标签控件输出、或通过窗体和图片框调用Print方法输出 数据交换:习惯通过发出具体的命令来完成数据的处理,因此,通常利用某个对象的事件过程来实现:设计一个命令按钮,在界面提示用户,通过单击按钮,实现数据处理。而具体的数据处理操作的实现代码,就要在该按钮的Click事件过程编写,例题5-1,编写程序,实现用户输入的两个数据内容的互换 分析 按钮的Click事件过程编写,首先得获取接收文本框中输入的数据,这可以通过赋值语句实现: a = Text1.Text : b = Text2.Text 其次考虑数据交换的算法(中间变量):设置一个临时的中间变量Temp,Temp = a : a = b : b = Temp 最后将交换结果通过文本框输出:Text1.text=a : Text2.text=b,5.2赋值语句,使用赋值语句的注意点 : 赋值号左边只能是变量,不能是常量或表达式形式 以下形式的赋值语句都是错误的,这些只能用于表示关系表达式 a * b = 23 abs(a) = (a+b+c) / 2 67 = x 一般要求赋值号两边的数据类型一致,这样才能完成正确的赋值,即赋值号左边的数据一般情况下只能接收与它类型相同的表达式的值 Dim a As Integer, b As Integer, c As Single b = 10 : a = b + 200*10 : c = ( 3.02 - 1 )*2.3 + c,5.2赋值语句,使用赋值语句的注意点 : 若赋值号左右两边都是数值型,但类型不同,则系统先求出表达式的值,然后将其转换为右边数据的类型后,再完成赋值操作 表达式的值不能超出左边对象类型所能表示的数据范围,否则会出错 Dim a As Integer, b As Long, c As Single b = 10 : a = b + 10000 : c = a * b a = b + 40000,正确 产生数据“溢出“错误,5.2赋值语句,使用赋值语句的注意点 : 如果赋值号左边的数据类型为数值型,而表达式为数字字符串,则系统将自动把表达式转换为数值型赋给左边;若表达式为非数字字符串或空串时,则会出现数据“类型不匹配”的出错信息 x! = “23.1” 变量x中的值为23.1,这与x! =val(“23.1”)效果相同 x! = “23a.1“ 出现“类型不匹配的“的错误,5.2赋值语句,使用赋值语句的注意点 : 如果赋值号左边的数据类型为逻辑型,而表达式为数值类型,则系统将自动把表达式的非0值转换为True赋给左边数据,对0值则转换为False赋给左边数据 Dim y As Boolean, z As Boolean y = 123 y的值为True z = 0 z的值为False 如果赋值号左边的数据类型为数值型,而表达式为逻辑型,则系统将自动把表达式的True转换为-1赋给左边数据,而False转换为0赋给左边数据 a% = True a的值为-1 b% = False b的值为0,5.2赋值语句,使用赋值语句的注意点 : 如果赋值号左边的数据类型为字符类型,而表达式的值为任何非字符型,则系统会自动将表达式的值转换为字符型,再赋予左边 c$ = True c的值为“True“ c$ = 123.5 c的值为“123.5“ c$ = #12/3/2004# c的值为“2004-12-3“ 区分赋值号和关系运算符中的判等号 Dim x As Integer, y As Boolean, z As Boolean x = 15 y = 2 x z = x = 5 Or y,5.2赋值语句,使用赋值语句的注意点 : 区分赋值号和关系运算符中的判等号 Dim x As Integer, y As Boolean, z As Boolean x = 15 y = 2 x z = x = 5 Or y 在VB中,系统会根据等号所处的位置来区分是赋值号还是判等号:在条件表达式出现的是判等号,否则是赋值号;判等号所在的式子只能以表达式形式出现,而赋值号是以赋值语句形式出现 赋值号两边的数据不能随便相互交换,而判等号两边的数据可以相互交换的;若赋值语句中出现多个等号,最左边的等号是赋值号,其余的均为判等号,赋值号,表示将15赋给x 赋值号,表示将关系表达式2 x的判断结果逻辑值False赋给变量y,最左边的等号是赋值号,表示将逻辑表达式x = 5 Or y的值赋给变量z,而x = 5 Or y中的等号是判等符,表示判断x是否等于5,5.2赋值语句,使用赋值语句的注意点 : 不能采用数学的表达方式给不同的变量赋相同的值 要给a、b、c三个变量设置相同的值为6,则如下表达不会产生语法错误,但无法实现赋值要求 Dim a As Integer, b As Integer, c As Integer a = b = c = 6 语句执行完,b、c的值不变,仍为0,而a的值为0 若要实现给多个变量赋相同的值,必须分别用多条赋值语句来实现 a = 6 : b = 6 : c = 6,5.2赋值语句,使用赋值语句的注意点 : 经常采用赋值语句形式,实现对某个变量或对象属性在原来基础上的修正 Label1.Caption = Label1.Caption & Text1.Text 上述代码表示将标签上原有内容连接上文本框中的内容显示在标签上,起到将多个控件中的内容合并显示的作用 Sum = Sum + I 表示将目前变量Sum和I的值相加,再赋值给Sum 常常采用类似方法,与循环结构结合实现累加、累乘等操作 在程序中,赋值语句以及各种操作对象的方法等,都是顺序执行的,5.2赋值语句,使用赋值语句的注意点 :,例题5-2,由用户输入两个数,实现两个数的求和程序 分析: 文本框接收用户的输入 在“相加”按钮的Click事件过程中编写主要功能代码:(1)利用赋值语句从文本框的Text属性取得数据;(2)求和;(3)通过给标签的Caption属性赋值实现结果的显示,Private Sub CmdAdd_Click() Dim a As String, b As String, c As Single a = TxtOp1.Text : b = TxtOp2.Text c = Val(a) + Val(b) 利用Val函数实现字符串到数值的转换 LblResult.Caption = LblResult.Caption & a & “+“ & b & “=“ & CStr(c) 通过标签显示两数求和结果 End Sub,5.3 InputBox和MsgBox函数,5.3.1 InputBox 函数 用来接受用户通过键盘输入的数据 Var = InputBox(Prompt,title,defsult,x,y,helpfile,context) Prompt:提示用的文字信息,字符串类型,长度=1024个字符 title:对话框标题(字符型),缺省时为空白 default:显示在用户编辑框中的缺省值(字符型),缺省时返回空值 x,y:对话框在屏幕上显示时的位置(左上角点的坐标) helpfile,context:帮助文件名及帮助主题号;有本选项时,在对话框中自动增加一个帮助按钮,5.3 InputBox和MsgBox函数,5.3.1 InputBox 函数 用来接受用户通过键盘输入的数据,InputBox(“请输入字母”,“输入对话框”,“wuxi”),5.3 InputBox和MsgBox函数,5.3.1 InputBox 函数 用来接受用户通过键盘输入的数据 Var = InputBox(Prompt,title,defsult,x,y,helpfile,context) Var可以是变体变量或字符串型变量,也可以是数值型变量(若输入内容不可转换成数值型数据,将会产生运行错误) 调用InputBox函数时,屏幕上将产生一个带有提示信息的对话框,光标在输入对话框底部的输入文本框中闪烁,等待用户输入数据。用户按回车键或用鼠标单击“确定”或“OK”按钮,即可把输入文本框中输入的数据以字符串形式赋给变量;按Esc键或单击“取消”或“Cancel”按钮,则返回0值或空串,例题5-3,用InputBox函数实现数据交换程序 分析: InputBox函数接收用户的输入 在对话框内显示Prompt提示文字信息时,可以自动换行。若想按自己的要求换行,则可采用插入回车换行符,即Chr(13)+Chr(10)或vbCrLf来实现,Private Sub CmdChange_Click() 交换命令按钮 Dim a As String, b As String, temp As String a = InputBox(“请输入数据交换的“ & vbCrLf & “第一个数a“, “数据输入“) b = InputBox(“请输入数据交换的” & vbCrLf & “第二个数b”, “数据输入”) End Sub,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数 以信息框的形式用于向用户发布提示信息,并要求用户做出必要的响应,MsgBox(Prompt,button,title,helpfile,context) button:这是一个由4个数值常量组成的式子,形式为c1+c2+c3+c4,用于决定信息框中按钮的个数和类型、图标类型、强制回应,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数 MsgBox函数往往与条件语句配合使用,根据用户选择单击的按钮而返回不同的值,执行不同的操作,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数 常见使用方法 作为表达式(或表达式的一部分)形式出现 用于赋值语句 ans = MsgBox(“确实要删除该文件吗? “, 1+32+256,“确认删除“) 用于方法调用时的参数 Print MsgBox(“确实要删除该文件吗? ”, 1+32+256, “确认删除“) 用于条件表达式 If MsgBox(“确实要删除该文件吗?”,1+32+256,“确认删除”)=1 _ Then Kill (“k1.bmp“) End If,5.3 InputBox和MsgBox函数,5.3.2 MsgBox函数 常见使用方法 忽略函数返回值,以过程调用形式出现 MsgBox “确实要删除该文件吗?”, 1 + 32 + 256, “确认删除” 例题5-4,例题5-4,实现数据交换程序,采用MsgBox实现结果的输出 分析: 在对话框内显示Prompt提示文字信息时,可以自动换行。若想按自己的要求换行,则可采用插入回车换行符,即Chr(13)+Chr(10)或vbCrLf来实现,Private Sub CmdChange_Click() Dim a As Single, b As Single, temp As Single MsgBox “数据交换后,” & vbCrLf & “第一个数据a为” & _ CStr(a) & vbCrLf & “第二个数据b为“ & CStr(b), _ vbInformation, “数据交换结果“ End Sub,5.4注释、暂停与程序结束语句,5.4.1注释语句 通常在程序代码中的适当位置加上必要的文字说明,提高程序的可读性 格式1:Rem 注释内容 格式2:注释内容 注释语句是非执行语句,仅仅对相应位置上的代码起到注释作用 格式1中的关键字Rem和注释内容之间必须用空格隔开;注释内容中可以包含任意字符(西文、中文等),在使用时,遵循语句书写的规范;格式2的注释语句在使用时较格式1更加灵活,可以不用加语句间的分隔符,直接出现在某行语句后面进行注释,5.4注释、暂停与程序结束语句,5.4.2暂停语句 该语句用来暂停程序的执行,作用类似于“运行”菜单中的“中断”命令 格式:Stop Stop常用于程序调试,用它来设置断点,当Stop语句执行时,会中断程序运行,并自动打开立即窗口,方便用户对程序代码进行检查和调试,5.4注释、暂停与程序结束语句,5.4.3结束语句 该语句用来结束一个应用程序的执行,即强迫中止应用程序,卸载该程序中的所有窗体,凡是由Open语句打开的文件被关闭,并且释放程序所占用的内存 格式:End End语句不调用Unload、QueryUnload、或Terminate事件或任何其它Visual Basic代码,只是生硬地终止代码执行。在执行时,End语句会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用Stop语句,则可以在保留这些变量值的基础上恢复执行,5.5应用举例,例题5-5 例题5-6,例题5-5,实现逆序输出用户输入的三位整数 分析: 逆序输出整数,其实就是将原整数X的每一位上的数字,重新改变所在位置后输出,关键:如何取得整数X每一位上的数字 方法一(算术运算法):个位数字=X mod 10,十位数字=(X-个位数字)/10 mod 10,百位数字=X 100。此时逆序后的数据=个位数字*100+十位数字*10+百位数字 方法二:先将X转换成字符串形式,通过取子串Mid函数等实现。个位数字字符= Mid(X, 3, 1),十位数字字符= Mid(X, 2, 1),百位数字字符= Mid(X, 1, 1)。最后逆序后的数据即为每一位上的数字字符用字符串连接符&的逆序连接,例题5-6,模拟记录网上用户的登陆和离线情况。要求记录每个用户的登陆和离线时间,以及在线人数 分析: 用户必须输入昵称后,才能登陆;因此设置一个昵称输入文本框,通过命令按钮登陆;当文本框内容不为空时,允许登陆,否则禁止。由于要记录多个用户登陆和离线时的信息,所以选用列表框(在线列表框)记录登陆者的情况和登陆时间,模拟该用户在线情况;当用户离线时,选中在线列表项,按下离开按钮,此时将该用户登陆和离线的时间添加到列表框(离线列表框)中记录,同时删除在线列表框中信息,作业解答,5.1选择题 (1)语句Y=Y+2的正确含义是_B_,表达式Y=Y+2的正确含义是_A_。 A) 变量Y的值与Y+2的值进行判等 B) 将变量Y的值加2后赋给变量Y C) 将变量Y+2的值赋给变量Y D) 将变量Y的值存入Y+2对应的存储单元中,作业解答,5.1选择题 (2)下列语句中正确表达的是_BCF_。 A) “OK“ = Text1.Text B) Form1.Caption = “Input“ + InputBox(“Please input:“) C) Check1.Value = 4 5 D) Label1.Caption & Text1.Text = Text1.Text E) List1.ListCount + 1 = X F) Command1.Enabled = Not Check1.Value,作业解答,5.1选择题 (3)下列赋值语句中错误的是_C_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论