版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1 章选择结构章选择结构 本章目录 第1页/共37页 结构化程序设计三种控制结构 (1)顺序结构 各语句按出现的先后次序执行 b A B a 用传统流程图表示为 第2页/共37页 传统流程图: b a 条件? AB 不成立成立 根据条件决定执行的语句 第3页/共37页 I 、 当型循环结构 条件 ? 成立 循环体 b 不成立 a a 循环体 b 不成立 成立 条件? II 、直到型循环结构 根据条件重复执行语句(称为循环体) 第4页/共37页 3.1 引例:字体变大登陆系统 【例3-1】:创建标题为“系统登录”窗体,输入用户名和密码,单击“确定”按钮,出现相应的信息提示。 1. 如输入用
2、户名错误,出现“用户名错误,请重新输入!”提 示 2. 如输入用户名正确,密码错误,出现“密码错误,请重新输 入!”提示,用户名和密码输错了3次,退出系统。 3. 如用户名和密码都正确,出现“输入正确,欢迎使用系统! ”提示。同时原窗体中除“退出”按钮外,其他控件全部隐藏 ,显示标签Label3,标签显示“字号”+字号大小。Label3控件 字号大小会自动递增,一直到100。窗体大小设置为自动变化 ,窗体标题设置为“字号逐渐变大”。 第5页/共37页 u计算机要处理的问题往往是复杂多变的, 仅采用顺序结构是不够的。 u必须利用选择结构等来解决实际应用中的 各种问题。 uVB中主要通过If条件语
3、句和Select情况语 句来实现。它们都是对条件进行判断,根据 判断结果,选择执行不同的分支。 第6页/共37页 1. IfThen语句(单分支结构) If Then 语句块(可以是一句或多句语句) End If 表 达 式: 算术、关系和逻辑表达式。 表达式值:按非零为True,零为False进行判断。 作 用: 当表达式值为True,执行Then后面的 语句块,否则不做任何操作。 表达式 语句块 T F 第7页/共37页 例:已知两个数x和y,比较它们的大小,使得x 大于y。 If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t
4、t y x 注意:简单If形式无End If时,只能是一句语句 或语句间用冒号分隔,而且必须在一行上书写 。 第8页/共37页 【例3-2】“两个数比大小”项目:单击窗体,产生两个0100之间的随机整数a和b,比较两者大小,使得a大于b。运行结果如图3-5所示。 Sub Form1_Click() Handles Me.Click Dim a, b, t As Integer a = Int(Rnd() * 101) b = Int(Rnd() * 101) Label1.Text = 原始值: a= & a & , b= & b & vbCrLf If a b Then 如果a比b小,则互换
5、 t = a a = b b = t End If Label1.Text &= 降序后: a= & a & , b= & b End Sub 第9页/共37页 If Then l该语句形式为单分支行该语句形式为单分支行If语句,无语句,无End If。 lThen后语句只能写在一行上,若要写多条语后语句只能写在一行上,若要写多条语 句,这些语句必须用冒号分隔。只能是一条句,这些语句必须用冒号分隔。只能是一条 语句或语句间用冒号分隔,而且必须在一行语句或语句间用冒号分隔,而且必须在一行 上书写。上书写。 l作用:计算条件表达式的值,如果结果为作用:计算条件表达式的值,如果结果为 True,则执
6、行,则执行Then后面的语句(或语句块)后面的语句(或语句块) ,否则跳过本语句,执行后续语句,否则跳过本语句,执行后续语句 第10页/共37页 【例3-3】“三个数比大小”项目:单击窗体,产生三个0100之间 的随机整数a 、b和c,比较三个数大小,使得a=b=c。 Sub Form1_Click() Handles Me.Click Dim a, b, c, t As Integer a = Int(Rnd() * 101) b = Int(Rnd() * 101) c = Int(Rnd() * 101) Label1.Text = 原始值:a= & a & , b= & b & , c
7、= & c & vbCrLf If a b Then t = a : a = b : b = t If a c Then t = a : a = c : c = t If b c Then t = b : b = c : c = t Label1.Text &= 降序后:a= & a & , b= & b & , c= & c End Sub 第11页/共37页 2. IfThenElse语句 If 表达式 Then 语句块1 Else 语句块2 End If 或 If 表达式 Then 语句1 Else 语句2 表达式 F 语句块 1 T 语句块 2 作用:当表达式的值为True时,执行Th
8、en后面 的语句块1,否则执行Else后面的语句块2 第12页/共37页 计算分段函数y xxx xxxx sin cos 2 3 10 30 单分支 y=cos(x)x3+3*x 结构实现 If x0 Then y=sin(x)+sqrt (x*x+1) If x0 Then 双分支 y=sin(x)+sqrt (x*x+1) Else 结构实现 y=cos(x)x3+3*x End If 第13页/共37页 【例3-4】“判断奇偶1”项目:文本框1中输入整数,单击“判断奇偶”按钮,判断是偶数还是奇数,将结果都显示在文本框2中,单击一次显示一行结果。 分析:用判断整数能否被2整除来判断奇偶数
9、。 程序如下: Sub Button1_Click() Handles Button1.Click Dim x As Integer x = Val(TextBox1.Text) If x Mod 2 = 0 Then TextBox2.Text &= x & 是偶数 & vbCrLf Else TextBox2.Text &= x & 是奇数 & vbCrLf End If End Sub 第14页/共37页 说明: 1. 使用If语句的嵌套时,内层的If语句必须完全包含在外层 的If语句中,内外层结构不能交叉。 2. 为避免混淆,VB.NET规定Else总是和离它最近且尚未配 对的If进行
10、配对。 3. 除行If语句外,每个End If与它上面最接近的IF配对。 书写格式一般为锯齿形,以便于区分和配对。 第15页/共37页 【例3-5】“判断奇偶2”项目:文本框1中输入整数后回车,判断是 偶数还是奇数,将结果都显示在文本框2中。输入如果不是整数,请 出现提示信息。 第16页/共37页 3. IfThenElseIf 语句 If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 Else 语句块 n+1 End If 表 达 式 2 表 达 式n T F T F 语 句 块 n+ 1 语 句 块 2 语 句 块 1 F T 表 达 式 1 语 句 块 n 作
11、用:根据不同的表达式值确定执行哪个语句块 说明: u 不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。 u ElseIf不能写成 Else If 第17页/共37页 例 已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。 If UCase(ch) = A And UCase(ch) = 0 And ch x and is 0 And y 0 Then MsgBox(在第一象限) ElseIf x 0 Then MsgBox(在第二象限) ElseIf x 0 And y 0 A
12、nd y 0 And y 0 MsgBox(“在第一象限”) Case x 0 MsgBox(“在第二象限”) Case x 0 And y 0 And y y,x,y) 该语句与如下语句等价 : If x y Then Tmax = x Else Tmax = y 第23页/共37页 (2) Choose函数 Choose(整数表达式,选项列表) 根据表达式的值i,返回选项列表中第i个选项。如 果整数表达式的值越出选项范围时,返回Null。 例 根据Nop的值,得到+、-、中的某运算符: Op= Choose(Nop,+,-,) 例 根据当前日期,显示今日是星期几。 t = Choose(W
13、eekday(Now), “星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”) MsgBox(今天是: & Now & t) Dim nop As Integer, op As Char Randomize() nop = Int(Rnd() * 4 + 1) op = Choose(nop, +, -, , ) MsgBox(nop= & nop & op= & op) 第24页/共37页 【例3-8】“某日期星期几”项目:在文本框中输入日期,单击“星期几”按钮,显示该日期是星期几。 Sub Button1_Click() Handles Butt
14、on1.Click Dim t As String Dim d As Date d = CDate(TextBox1.Text) t = Choose(Weekday(d), 星期日, 星期一, 星期二, 星期 三, 星期四, 星期五, 星期六) Label2.Text = d & 是 & t End Sub 第25页/共37页 1.单选按钮(RadioButton) 例单选题测试 (1)主要属性 Text属性 按钮上显示的文本 Checked属性 表示单选按钮的状态: True 被选定 False 未被选定 第26页/共37页 (2)主要事件 Click 单击后使Checked属性为True
15、 CheckedChanged 当某个单选按钮的 状态被发生变化,该事件随之被触发。 第27页/共37页 例多选题测试 (1)主要属性和事件 与单选有相同的属性和事件,增加了: CheckState 属性 表示复选框状态 Unchecked 未选定 Checked 被选定 Indeterminate 灰色, 第28页/共37页 建立:建立分组,然后将各控件放置其中。 属性 Text属性 框架上的标题文本 框架可以响应Click和DoubleClick事Text属性 分组的标题,无则封闭框线 一般不需要编写事件过程。 特性:移动、复制、删除框架,或对该控件进行Enabled、Visible属性设
16、置时,也同样作用于该组内的其他控件。 第29页/共37页 在每个单选按钮和复选框中编写单独的过程。本程序共编写了8个过程 带来问题:繁琐 第30页/共37页 第31页/共37页 Sub RadioButton1_CheckedChanged() Handles Label1.Font = New Font(宋体, Label1.Font.Size, Label1.Font.Style) End Sub Sub CheckBox1_CheckedChanged() Handles . If CheckBox1.Checked Then 选中粗体 Label1.Font = New Font(La
17、bel1.Font, Label1.Font.Style Or FontStyle.Bold) Else 取消粗体 Label1.Font = New Font(Label1.Font, Label1.Font.Style And Not FontStyle.Bold) End If 单选按钮事件 复选按钮事件 在每个单选按钮和复选框中编写单独的过程。本程序共编写了8个过程 带来问题:繁琐 第32页/共37页 何为共享事件处理过程? 即多个控件共享事件处理过程 ,形式: 对象_事件(参数)Handles 对象.事件,对象2.事件, 第33页/共37页 Sub RadioButton1_Chec
18、kedChanged() Handles RadioButton2.CheckedChanged, RadioButton3.CheckedChanged, _ RadioButton4.CheckedChanged, CheckBox1.CheckedChanged, _ CheckBox2.CheckedChanged, CheckBox3.CheckedChanged, _ CheckBox4.CheckedChanged Dim style As FontStyle = FontStyle.Regular Dim Fontname$ = 宋体 第34页/共37页 If RadioButton1.Checked Then Fontname = 宋体 If RadioButton2.Checked Then Fontname = 黑体 If RadioButton3.Checked Then Fontname = 华文彩云 If RadioButton4.Checked Then Fontname = 华文琥珀 If CheckBox1.Checked Then style = style
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国汽车音响产品行业销售渠道及未来发展趋势分析研究报告(2024-2030版)
- 中国新鲜草莓供需平衡分析及投资潜力可行性研究报告(2024-2030版)
- 中国富马酸依美斯汀行业需求趋势及投资动态预测研究报告(2024-2030版)
- 中国塑料鱼饵行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 中国坎地沙坦酯行业发展趋势及需求动态预测研究报告(2024-2030版)
- 中国同步整流芯片行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 中国双头应急灯行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 中国化学矿采选行业需求趋势及投资效益预测研究报告(2024-2030版)
- 中国丙亚胺行业应用态势与发展前景预测研究报告(2024-2030版)
- 2024-2030年鼻内镜、宫腔镜产业市场现状供需分析及投资评估规划分析研究报告
- 2021-2022学年北京市房山区九年级(上)期中数学试卷【含解析】
- DB11∕1450-2017 管道燃气用户安全巡检技术规程
- 室上性心动过速-医学课件
- 《第4课 数据的安全》参考教案1
- 药品经营质量管理综合规范试题及答案
- 体育公园项目成本测算
- 人教版数学二年级上册第8单元《数学广角 搭配(一)》教学设计
- Java Web程序设计智慧树知到期末考试答案章节答案2024年青岛职业技术学院
- 《用字母表示数》 单元作业设计
- 国有企业岗位劳动合同模板
- 长安的荔枝读书分享包含内容
评论
0/150
提交评论