选择结构设计 第 4 章.

Slides:



Advertisements
Similar presentations
1 程式語言 Visual Basic 循序結構、選擇結構 黃瀧輝 老師 Long Hwai,Huang.
Advertisements

10.2.switch语句.
Visual Basic 程序设计 第四讲.
第2章 Visual Basic 6.0编程基础 (第一部分)
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
課程名稱:程式設計 授課老師:________
第四章 控制结构.
第4章 选择结构程序设计 选择结构是计算机科学用来描述自然界和社会生活中分支现象的手段。其特点是:根据所给定选择条件为真(即分支条件成立)与否,而决定从各实际可能的不同操作分支中执行某一分支的相应操作,并且任何情况下恒有“无论分支多寡,必择其一;纵然分支众多,仅选其一”的特性。
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
密码程序设置.
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
算法和程序设计 第4课 分支结构的算法设计 •.
Visual Basic程序设计.
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
Visual Basic程序设计.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
程式語言 I – VISUAL BASIC 選擇結構語法與應用 Chapter 7 認知
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
过程 第 7 章.
第十一讲 VB常用标准控件(2).
第3章 分支结构程序设计 3.1 关系、逻辑运算符及其表达式 3.2 If 语句 3.3 Select Case 语句.
初识Visual Basic.
Visual Basic程序设计基础 计算机科学学院.
第4章 程序控制结构与算法基础.
第5章 Visual Basic控制结构 郭清溥.
計算機程式 廖文淵 Department of Computer Science and Engineering
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
第4章 基本的控制结构 4.1 顺序结构 4.2 选择结构程序设计 4.3 循环结构 4.4 综合实例 退出.
走进编程 程序的顺序结构(二).
Visual Basic 程序设计 教师:王 杨 电话:
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
新觀念的 VB6 教本 第 6 章 資料型別.
PCR300 (13.56MHz) Reader RS232/USB.
Visual Basic程序设计.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
For x = 0 To 9 For y = 0 To 9 z = *x + 10*y …… Next y
Visual Basic 程序设计 第5章 选择结构设计
第4章 PHP流程控制语句.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
程序基础 2019/4/25.
第二章、第三章错题分析.
第4章 选择结构 本章要点: 单分支IF语句 双分支IF语句 多分支IF语句 SELECT和CASE语句.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
几种基本语句 条件语句 广州市63中 岑光.
第4章 Excel电子表格制作软件 4.4 函数(一).
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
3.16 枚举算法及其程序实现 ——数组的作用.
第四章 控制结构 1、顺序控制结构 2、选择结构 3、循环结构.
计算机应用基础 潍坊学院 计算机工程学院 主讲人:丁素英.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
1位选手参加了歌唱比赛,评委们的评分如下:
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
1、过程概述 2、函数过程 3、子过程 4、过程的使用 5、传递参数 6、过程的嵌套
3.13 选择结构程序设计初步.
2.3 程序的选择结构 条件选择语句和多重选择语句的使用 程序条件选择结构的执行流程 会使用条件语句和多重选择语句编写程序解决简单的应用题.
算法与Visual Basic程序基础(二)
鸡兔同笼(续) ——选择结构.
信息的加工 Word中查找和替换、自动更正、批注、修订 Excel中公式和函数、排序和筛选、图表的建立和编辑 字符识别OCR.
数的简单处理 ——顺序结构、变量、数据类型、运算符
程序调试与错误处理.
3.9算法及VB初步3 ——以“鸡兔同笼”为例.
顺序结构程序设计 ——关于“字符串”和数值.
Presentation transcript:

选择结构设计 第 4 章

选择结构程序设计 1.单行结构条件语句(单分支结构) If <表达式> Then <语句> 语句块 End If ①当条件表达式的值为真时,执行Then后的语句,否则,不执行任何操作。 ②表达式为逻辑表达式,数值表达式和关系表达式视为逻辑表达式的特例。 ③语句块可以是一条或多条语句。 ④可以使用单行或多行语法有条件地执行一个语句。

⑴ If anyDate<Now Then anyDate=Now End If ⑤If…Then的单行格式不用End If语句。 例3.5

2.双分支结构条件语句: ①If <条件> Then    <语句块1> Else    <语句块2> End If ②If <条件>Then<语句1>Else<语句2> 当表达式值为非零时,执行Then后的语句1(或语句1)否则执行Else后面的语句块2(或语句2)。 说明:块结构的条件语句可以嵌套,即把一个If…Then..Elsef块放在另一个If…Then..Elsef块内,嵌套必须完全嵌套,也就是内层条件语句必须完全包含在外层条件语句之中。 例3.6 --3.7

3.If…Then…ElseIf(多分支结构) <语句块1> ElseIf<表达式2>Then <语句块2> …… [Else <语句块n+1 > ] End If 执行过程为:如果表达式1为真,执行语句块1,否则,如果表达式2为真,则执行语句块2,如果条件都不是真,则执行Else后的语句块。

说明: ①不管有几个分支,程序执行了一个分支后,其余分支不再进行。 ②ElseIf子句的数量没有限制,可以根据需要使用任意多个ElseIf子句。 ③语句中的ElseIf子句和Else子句者是可选项,如果省略这些子句,则成为单分支结构。 ④ If…Then…ElseIf只是 If…Then…Else的一个特例。可以使用任意数量的ElseIf子句,或者一个也不用。可以有一个Else子句,而不管有没有ElseIf子句。 例3.8—3.9

Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim p As Single, s As Single Text1.Text = "" : Text2.Text = "" : Text3.Text = "" a = val(Text1) : b = val(Text2) t :c = val(Text3) t If a+b>c and b+c>a and a+c>b then p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c)) Else print “它不能构成一个三角形” End If End Sub

如果满足条件CJ<60时,打印出“成绩不及格”,采用的条件语句是: If CJ<60 Then Print "成绩不及格" 编写一个统计学生考试成绩的程序: 如果满足条件CJ<60时,打印出“成绩不及格”,采用的条件语句是: If CJ<60 Then Print "成绩不及格" 多行代码: If CJ<60 Then Print "成绩不及格“ Print "请准备补考" End If

Private Sub Command1_Click() Dim score As Integer, temp As String score = Val(Text1.Text) temp = "成绩等级为:" If score < 0 Then Label2.Caption = "成绩出错" ElseIf score < 60 Then Label2.Caption = temp + "不及格" ElseIf score <= 79 Then Label2.Caption = temp + "及格" ElseIf score <= 100 Then Label2.Caption = temp + "优良" Else End If End Sub

4. Select Case选择结构(多分支结构) [语句块1]] [Case 表达式表2 [语句块2]] …… [Case 表达式表n [语句块n]] [Case 表达式表n+1 [语句块n+1]] End Select

① Select Case在结构的上方处理一个测试变量或表达式,并且只计算一次,然后根据测试变量或表达式的值,从多个语句块中选择符合条件(值相等)的一个语句块执行,之后自动转到End Select 后的语句执行;如果没有找到与Case 子句中的表达式相匹配的值,则执行Case Else子句后面的语句块,然后转到End Select 后的语句执行。 ②测试变量或表达式只能是数值表达式或字符串表达式,不能是逻辑表达式。 ③语句块由一行或多行语句组成。 ④表达式表与测试变量或表达式的类型必须相同,每一个表达式是一个或几个值的列表。如果在一个列表中有多个值,用逗号分隔。

一个表达式: Case 6 一组枚举表达式: Case 1,3,5,7 Case “I”,“YOU”,“Then” 表达式1To表达式2。该形式指定某个数值范围,较小的数值在前面,较大的数值在后面:字符串常量则按字母的ASCII码顺序从低到高排列。 Case 1 To 10 Case “a” To “e”

Is<关系运算符><表达式>。 Case Is>=80 Case Is<>”Y” ⑤当有多个Case 子句的取值范围和测试表达式的值相符时,只执行符合要求的第一个Case子句后面的语句块。 ⑥ Select Case语句只对单个表达式求值,并根据求值结果执行不同的语句块;而If…Then…Else语句可以对不同的表达式求值,然而招待不同的操作。

(1)一组值(用逗号隔开)。示例: 表达式表通常是一个具体值(如Case 1),每一个值确定一个分支。还有三种方法可以确定设定值: (2)表达式1 TO 表达式2。示例: Case 60 To 80 ′表示条件取值范围为60~80 (3)Is关系式。示例: Case Is<5 ′表示条件在小于5范围取值

当用户单击“答题”按钮时,程序提供输入对话框,由用户输入答案,再通过输出框显示评判意见。采用的程序代码如下: Private Sub Form_Load() Show Print FontSize = 18 Print Spc(9); "考一考你" FontSize = 13 Print Spc(5); "鸡兔同笼,已知鸡和兔总头数为23," Print Spc(3); "总脚数为56,求鸡兔各有多少?" End Sub

Private Sub Command1_Click() h = 23 : f = 56 '总头数及总脚数 j1 = (4 * h - f) / 2 '求出的鸡数 t1 = (f - 2 * h) / 2 '求出的兔数 j2 = Val(InputBox("鸡的只数是多少?", "请回答")) t2 = Val(InputBox("兔的只数是多少?", "请回答")) Select Case True '选择真值 Case j1 = j2 And t1 = t2 MsgBox ("回答完全正确!") Case j1 = j2 MsgBox ("鸡数回答正确,但兔数不对!") Case t1 = t2 MsgBox ("兔数回答正确,但鸡数不对!") Case Else MsgBox ("回答错误!") End Select End Sub

1. Timer控件 2. 常用属性 3. 事件 Enabled属性:确定计时器是否可用 Interval属性:设置两个Timer事件之间的时间间隔,其值以毫秒(1ms=1/1000 s)为单位 例如,如果希望每半秒钟产生一个Timer事件,那么Interval属性值应设置为500,这样每隔500 ms就会触发一次Timer事件,从而执行相应的Timer事件过程 3. 事件 计时器控件只响应一个Timer事件。也就是说,计时器控件对象在间隔了一个Interval设定时间后,便触发一次Timer事件

(2)编写程序代码 (1)编写一个程序,要在文本框中显示时间 Private Sub Timer1_Timer() 'timer事件过程 Text1.Text = Time 'Time是时间函数 End Sub

例4.13 输入两个运算数和运算符(+、-、*或/),组 成算式并计算结果,然后显示出来 例4.13 输入两个运算数和运算符(+、-、*或/),组 成算式并计算结果,然后显示出来 (1)创建应用程序的用户界面和设置对象属性 单选按钮组Option1、Option2、Option3及Option4分别代表+、-、*(乘)和/(除)运算 (2)编写程序代码

Private Sub Command1_Click() '“计算”按钮 Dim a As Single, b As Single, t As Single, s As String a = Val(Text1.Text) b = Val(Text2.Text) Select Case True Case Option1.Value ' + 运算 s = "+" t = a + b Case Option2.Value ' - 运算 s = "-" t = a - b Case Option3.Value ' * 运算 s = "*" t = a * b Case Option4.Value ' / 运算 s = "/" t = a / b End Select Text3.Text = a & s & b & "=" & t End Sub Private Sub Form_Load() Option1.Value = True + 运算 End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub Private Sub Command3_Click() Unload Me

程序框图 假 真 开始 输入a, b, c a = 0 输出“不是二次方程” D=b*b – 4*a*c R=-b / (2*a) 输出两实根 -b / (2*a) 输出两个实根 X1, X2 输出两个复根 R + Pi R-Pi D > 0 计算复根的虚部 P = sqr(-D) / (2*a) X1 = (-b + sqr(D)) / (2*a) X2 = (-b-sqr(D)) / (2*a) 结束 程序框图

Private Sub Command1_Click() Dim a As Single, b As Single, c As Single Dim D As Single, X1 As Single, X2 As Single Dim R As Single, P As Single a = Val(Text1.Text) '取数据a b = Val(Text2.Text) '取数据b c = Val(Text3.Text) '取数据c If a = 0 Then '当a=0 Text4.Text = "不是二次方程" Text5.Text = "不是二次方程" Else 'a<>0 D = b * b - 4 * a * c R = -b / (2 * a)

If D = 0 Then 'D=0 Text4.Text = R Text5.Text = R ElseIf D > 0 Then 'D>0 X1 = (-b + Sqr(D)) / (2 * a) X2 = (-b - Sqr(D)) / (2 * a) Text4.Text = X1 Text5.Text = X2 Else 'D<0 P = Sqr(-D) / (2 * a) Text4.Text = R & "+" & P & "i" Text5.Text = R & "-" & P & "i" End If End Sub