第四章VB程序设计概述§4.1结构化程序设计ppt课件.ppt

上传人:飞****2 文档编号:29426717 上传时间:2022-07-31 格式:PPT 页数:88 大小:1.21MB
返回 下载 相关 举报
第四章VB程序设计概述§4.1结构化程序设计ppt课件.ppt_第1页
第1页 / 共88页
第四章VB程序设计概述§4.1结构化程序设计ppt课件.ppt_第2页
第2页 / 共88页
点击查看更多>>
资源描述

《第四章VB程序设计概述§4.1结构化程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《第四章VB程序设计概述§4.1结构化程序设计ppt课件.ppt(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、表示任务的开始或结束表示任务的开始或结束表示任务中的命令序列表示任务中的命令序列表示任务执行的走向表示任务执行的走向表示对条件进行判断表示对条件进行判断2连接点连接点处理框处理框 来看两个小例子:来看两个小例子:注注 意:意:(1)赋值语句兼有计算和赋值双重功能赋值语句兼有计算和赋值双重功能;(2) “”是赋值号,与数学上的等号意义不同;是赋值号,与数学上的等号意义不同;(3)“目标操作符目标操作符”和和“源操作符源操作符”的数据类型通常要的数据类型通常要求求一致,但一致,但VB 提供的对某些数据类型的自动转换机制,提供的对某些数据类型的自动转换机制,可强制变量转换为适当的数据类型。可强制变量

2、转换为适当的数据类型。标标 题题提提 示示字符串字符串用户输入用户输入区默认值区默认值Private Sub Command1_Click( ) End SubPrivate Sub Command2_Click( ) EndEnd Sub Dim F As Long, C As LongF Val(InputBox(请输入华氏温度请输入华氏温度, 例例4-1)C 5 / 9 * (F - 32)Text1.Text FText2.Text C华氏摄氏温度互换华氏摄氏温度互换12181615191516Tab函数与函数与Spc函数的比较函数的比较415201016标标 题题提提 示示字符串字符

3、串由由Type指指定的按钮定的按钮数目、形数目、形式和图标式和图标MsgBox(msg, type , title )参数说明:参数说明: (1)msg:对话框提示消息字符串;对话框提示消息字符串; (2)type:整数值或字符常量,用来控制在对话框内整数值或字符常量,用来控制在对话框内显示的按钮、图标的种类及数量;(见显示的按钮、图标的种类及数量;(见P63表表44) (3)title:对话框的标题字符串。对话框的标题字符串。 MsgBox 语句语句 Msgbox【例】如果星期天天晴,我们就去浏阳河边烧烤;否则【例】如果星期天天晴,我们就去浏阳河边烧烤;否则,我们我们就在教室自习。就在教室自

4、习。?【例】如果星期天天晴,我们就去浏阳河边烧烤;否则,我们就在教室自习。if条条 件件then语句语句1语句语句2else条条 件件条条 件件语句语句 (序列)(序列)1True语句语句 1True下一个语句下一个语句False下一个语句下一个语句语句语句 2Else 【例】试编一个程序,要求输入任意两个数,然后把它们按照从【例】试编一个程序,要求输入任意两个数,然后把它们按照从大到小的顺序输出。大到小的顺序输出。开开 始始给给 a、b 赋值赋值a60 Then Text2 =及格及格 Else Text2 =不不及格及格End sub If x1 Then y1 Else y1/ xIIf

5、(x1,1,1/ x)IIF函数使用函数使用【例】输入系数【例】输入系数 a,b 和和c,求二次求二次 方程方程 ax2+bx+c=0 的实根。的实根。语句块语句块 1语句块语句块 2语句块语句块 3 例例 编程求符号函数编程求符号函数sgn(x)的值。的值。 程序代码如下:程序代码如下:Private Sub Command1_Click() x = Val(Text1.Text) If x 0 Then Text2.Text = 1 ElseIf x = 0 Then Text2.Text = 0 Else Text2.Text = -1 End IfEnd Sub 用户界面用户界面Sel

6、ect Case Case Case Case Else End Select表达式表列表达式表列 1语句块语句块 1YEnd Select 之后的下一条语句之后的下一条语句N其其 它?它?N表达式表列表达式表列 2N语句块语句块 nY语句块语句块 2Y“表达式表列表达式表列”的形式:的形式:(1) , 测试表达式的值与其中之一相同,就执行该测试表达式的值与其中之一相同,就执行该Case子句子句中的语句块;例中的语句块;例 Case 2,4,6,8,10(2) To 当测试表达式的值落在表达式当测试表达式的值落在表达式 1和表达式和表达式 2之间(含之间(含自身),则执行该自身),则执行该 C

7、ase 子句中的语句块;(表达式子句中的语句块;(表达式1 表表达式达式2)例)例 Case 2 To 10(3)Is 当测试表达式的值满足当测试表达式的值满足“关系表达式关系表达式”指定条件时,指定条件时,执行该执行该 Case 子句中的语句块。子句中的语句块。【例】从键盘上输入学生成绩,然后在文件框中显示其等级(按【例】从键盘上输入学生成绩,然后在文件框中显示其等级(按 5 级计级计分值输出分值输出 “不及格不及格”、“及格及格”、“中等中等”、“良好良好”、“优秀优秀” )。)。Private Sub Command1_Click( ) End Sub不可缺少,用于不可缺少,用于省略省略

8、 Type 参数值参数值例例【引例】试求【引例】试求 n!(n 为自然数)。为自然数)。 分析:根据数学知识,自然数 n 的阶乘为: n!123n 2! 3n (n1) ! n 也就是说,一个自然数 n 的阶乘,即从 1 开始连续地乘以下一个自然数,直到 n 为止,亦即等于该自然数与前一个自然数的阶乘的乘积。For 循环变量初值循环变量初值 To 终值终值 Step 步长步长 循环体循环体 Exit For Next 循环变量循环变量 ,循环变量,循环变量 循环变量初值循环变量初值循环变量循环变量 终值?终值?循环变量循环变量步长循环变量循环变量步长执行循环体执行循环体N(a) 步长为正数Fo

9、r-Next 循环的逻辑流程开开 始始(b) 步长为负数循环变量初值循环变量初值循环变量循环变量 5000 Then Exit For Next jNext i (6)For 循环中的“循环体”是可选项,当该项默认时,执行 “空循环” ,在实际运用中可实现暂停操作。当循环结束时,暂停也相应结束。 在某特定条件得到满足的情况下,按规定的次数重重复执行复执行一个语句(序列)。功能:功能:当给定条件为当给定条件为 True 时,执行循环体。时,执行循环体。说明:说明:(1)先测试)先测试“条件条件”,再决定是否执行循环;,再决定是否执行循环; (2)循环体中应含有对)循环体中应含有对“条件条件”的修

10、改操作,使循环体能正常结束;的修改操作,使循环体能正常结束;否则,会构成死循环;否则,会构成死循环; (3)循环可嵌套,不许交叉,每个)循环可嵌套,不许交叉,每个 Wend 和最近的和最近的 While 相匹配。相匹配。开开 始始计算计算“条件条件”值值条件为条件为“真真”吗吗结结 束束N循循 环环 体体Y格式:格式: While 条件条件 循环体循环体 Wend【例】【例】 小红今年小红今年12岁,她父亲比她大岁,她父亲比她大30岁,编程计算出她父亲在几年后岁,编程计算出她父亲在几年后比她年龄大一倍,那时父女的年龄各为多少?比她年龄大一倍,那时父女的年龄各为多少?Dim age As Int

11、egerage 12While age * 2 age + 30 age age + 1WendPrint “经过经过”; age 12; _ “年,小红父女的年龄分别是:年,小红父女的年龄分别是:” ; _ age + 30; 和和; agePrivate Sub Command1_Click( ) End Sub格式格式1: Do While | Until Exit Do Loop格式格式2: Do Exit Do Loop While | Until Do WhileLoop流流 程程 图图计算计算“条件条件”值值条件条件 “真真”吗吗循环体循环体YN开开 始始结结 束束NYDoLoo

12、p While流流 程程 图图开开 始始结结 束束计算计算“条件条件”值值循环体循环体条件条件 “真真”吗吗YNDoLoop Until流流 程程 图图开开 始始结结 束束计算计算“条件条件”值值循环体循环体条件条件 “真真”吗吗Do UntilLoop流流 程程 图图NY开开 始始结结 束束计算计算“条件条件”值值循环体循环体条件条件 “真真”吗吗Private Sub Command1_Click( ) End Sub【例】【例】 编写程序,对任意输入的正整数编写程序,对任意输入的正整数 n(n=3) 判断其是否为素数。判断其是否为素数。Dim n%, i%, k%n = Val(Inpu

13、tBox(“请输入一个正整数 (3):”)i = 2k = Int(n / 2)Do While i k Then Print n; “是素数!” Else Print n; “不是素数!【例】【例】 输入两个正整数,求它们的最大公约数。输入两个正整数,求它们的最大公约数。Dim m%, n%, r%, t%mVal(InputBox(“请输入第一个整数:”)n Val(InputBox(“请输入第二个整数:”)If m n Then tm: mn: ntDo r m Mod n mn n rLoop Until r 0Print “它们的最大公约数是:; mPrivate Sub Comma

14、nd1_Click( ) End Sub(1)确定程序结构,考虑是否需要使用循环;(2)根据实际需要和当前条件,确定应使用的循环类型;(3)提取循环中各组成要素,一一罗列;(4)将各要素进行组合。 使用嵌套时应注意以下几个问题: 嵌套中的各个控制结构必须完整,内外结构不能交叉。内外循环变量也不能同名。 与IFEndIf语句一起使用时,只能从循环内跳到循环外,不能从循环外跳到循环内,也不能从外循环跳到内循环。 嵌套中使用强制退出语句Exit只退出本层循环。 输入代码时嵌套中各层结构应采用总体缩排,以使层次分明。 For与Next配对的规则:从最内层的循环往外看,next总是与离它最近的没有配过对

15、的For配对。 可以省略Next后面的循环变量。 当内外循环有相同的终点时,可以共用同一个Next语句,此时Next后面的循环变量名不能省略。 并列的循环可以用同一个变量名作循环变量,而嵌套的循环不能用同一个变量名作循环变量。【例】【例】 用台劳多项式求用台劳多项式求 SinX 的近似值。的近似值。Private Sub Command1_Click( ) End SubDim n As IntegerDim x As singleDim y As doublex = InputBox(“请输入请输入X:”)n = InputBox(“请输入请输入 n:”)y = x : sign = 1Fo

16、r i = 2 To n Factor = 1 : Xpower = 1 For j = 1 To 2*i1 Factor = Factor*j Xpower = Xpower*x Next j sign = sign y = ysign*Xpower/FactorNext iPrint “SinX”;y实现多实现多项式逐项式逐项相加项相加求得各求和项求得各求和项的分子和分母的分子和分母【例】【例】 输出输出 100200 之间的所有素数。之间的所有素数。Private Sub Command1_Click( ) End SubNumber = 0For x = 101 To 199 Step

17、 2 i = 2: k = Int(x/2) Do While i k Then Number = Number1 If Number mod 5 = 0 Then Print x Else Print x, End IfNext x使求得的使求得的素数确在素数确在100 200之间之间判定判定 X是是否为素数否为素数例例5-5 该程序是通过该程序是通过GoToGoTo语句完成循语句完成循环的,其中环的,其中StartStart与与EndingEnding是两个标是两个标号,本程序实现的是求号,本程序实现的是求 1+2+3+1001+2+3+100的值。的值。 由于由于GoToGoTo语句易破

18、坏程序的结语句易破坏程序的结构,因此一般不提倡使用。构,因此一般不提倡使用。【例【例1】 给定一个两位的正整数,请找到另一个两位数的正整数,使这给定一个两位的正整数,请找到另一个两位数的正整数,使这两个数之和等于它们各自的对调数之和。两个数之和等于它们各自的对调数之和。 分析知,程序中应作的处理有:(1)对输入的两位数 X,找到相关的另一个两位数 Y;(2)对 X、Y 分别求它们的“对调数” (将其个位数同十位数 字对调所生成的新数,如 28 和 82);(3)计算两个表达式的值:XY 和 XfYf;(4)判定两式的值是否相等,如相等,则输出 X 和Y。 显然,某数 X 的对调数 Xf 的求法

19、是: Xf (X mod 10) 10 (X 10)对调数的十位对调数的十位对调数的个位对调数的个位Private Sub Command1_Click( ) End SubDim X,Y,Xf,Yf As IntegerDo XVal(InputBox(“请输入一个2位正整数:”)Loop While (X99)Xf (X mod 10) *10 (X 10)For Y=10 To 99 Yf (Y mod 10) *10(Y 10) If XYXfYf Then Print X;”+”;Y;”;_ Xf;”+”;Yf;”;XY End IfNext Y用户指用户指定一个定一个两位数两位数求

20、对调数求对调数在在1099之间寻之间寻找找 Y 值值判定并判定并输出输出【例例2】求求200,900 内同时满足以下两个条件的十进制数的个数:内同时满足以下两个条件的十进制数的个数: (1)其个位数字与十位数字之和除以)其个位数字与十位数字之和除以10所得的余数是百位数字;所得的余数是百位数字; (2)该数是素数。)该数是素数。Private Sub Form_Click() number = 0 For i = 200 To 900 g = i Mod 10 截取个位数字截取个位数字 s = (i Mod 100 )10 截取十位数字截取十位数字 b = i 100 截取百位数字截取百位数字

21、 If (b = (g + s) Mod 10) Then 判断满足第一个条件判断满足第一个条件 flag = True For j = 2 To i 1 判断满足第二个条件(素数)判断满足第二个条件(素数) If (i Mod j = 0) Then flag =false : Exit For End If Next j If flag=true Then number = number + 1 Next i Print 这样的数的个数是:这样的数的个数是:; numberEnd Sub水 仙 花 数完 数回 文 数素 数 的 个 数非 偶 非 素 数简 单 的 数 列逆向超级素数双 胞 胎 数同 构 数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁