vb的课件VB4章节

上传人:E**** 文档编号:91254403 上传时间:2019-06-26 格式:PPT 页数:77 大小:733KB
返回 下载 相关 举报
vb的课件VB4章节_第1页
第1页 / 共77页
vb的课件VB4章节_第2页
第2页 / 共77页
vb的课件VB4章节_第3页
第3页 / 共77页
vb的课件VB4章节_第4页
第4页 / 共77页
vb的课件VB4章节_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《vb的课件VB4章节》由会员分享,可在线阅读,更多相关《vb的课件VB4章节(77页珍藏版)》请在金锄头文库上搜索。

1、第四章 算法基础及VB的基本语句,2,1、了解结构化程序设计的基本概念 2、掌握VB 程序设计中的常用语句 3、掌握顺序、选择、和循环结构及相应的语句,教学要求,3,4.1 算法及程序设计基础,一个程序( 过程)应包括: Nikiklaus Wirth认为:,对数据的描述:指定所用数据的类型,作用域和数据的 组织形式,即数据结构(data structure)。 对操作的描述:即操作步骤,也就是算法(algorithm)。,数据结构+算法=程序,4,1、算法的概念,算法 即解决某个问题或处理某件事的方法和步骤;“采用什么结构,使用什么语句以及如何安排这些语句”。 算法分类: 数值计算算法 非数

2、值计算算法 算法优劣: 正确性,效率,占用系统资源,便于理解,易于调试等。,5,18,10,M N R,8,10,8,2,8,2,0,2,0,R=8,R=2,R=0,M=2即最大公约数,求最大公约数,题目:求两个自然数的最大公约数 分析:求最大公约数的常用方法是辗转相除法(欧几里德算法)。,2、算法示例,6,算法描述:,S1 输入两个自然数:M,N; S2 求M除以N的余数R; S3 使M=N,即用N代换M; S4 使N=R,即用R代换N; S5 若R0,则重复执行S2,S3,S4,否则转至S6 S6 输出M,M即为M,N的最大公约数。,7,3、算法的特征,确定性 可行性 有穷性 输入性 输出

3、性,8,4、算法的描述,程序流程图,求最大公约数,9,程序编码实现算法,算法仅提供解题思路,计算机不可直接执行。 用某一程序设计语言所提供的语言成分,根据该语言的特点,并利用该语言的各种工具和手段,遵照规定的语法规则去实现算法,得到原程序代码,计算机可识别并执行。,10,5.基本算法结构,1). 顺序结构,语句1,语句2,语句块,结构化程序设计,11,2)选择结构,结构化程序设计,12,3)循环结构,结构化程序设计,13,三种基本结构的共同特点,只有单一入口和单一出口; 结构中的每一部分都有被执行的可能; 结构内不应出现永不终止的死循环。,14,1、 If-Then-Else语句 格式1:If

4、 Then Else End If,4.3.1 If-Then-Else- End If语句,逻辑变量、关系表达式、逻辑表达式,逻辑框图:,功能: 如果条件成立,则执行A组语句,否则执行B组语句。,说明: If和End If语句成对出现,缺一不可; Else和B组语句部分可以省略,当条件不成立时,直接执行End If的后继语句;,15,Private Sub cmdCalculate_Click() Dim x as Single x=Val(text1.text) If x= 0 Then Text2.text = Str(Sqr(x) Else Text2.text = “数据小于0,错误

5、!“ End If End Sub,Private Sub cmdExit_Click() End End Sub,Private Sub cmdClear_Click() Text1.Text = “ Text2.Text = “ Text1.SetFocus End Sub,例:从键盘输入一个数,求它的平方根。,缩格输入,16,例:计算分段函数y的值。,Private Sub cmdCalculate_Click() Dim x As Single,y As Single x=Val(Text1.Text) If x = 0 Then y = 2*Sqr(x+7)-6 Else y = 5

6、*x+Exp(x)-2 End If Text2.Text=Str(y) End Sub,cmdCalculate,17,格式2:单行If-Then-Else语句 If Then Else 说明: (1)在A组语句和B组语句都只有一个语句时,可使用该格式; (2)End If语句省略。 例:上例可改写为以下程序段。,Private Sub cmdCalculate_Click() Dim y As Single,x As Single x=Val(Text1.Text) If x = 0 Then y = 2*Sqr(x+7)-6 Else y = 5*x+Exp(x)-2 Text2.Tex

7、t=Str(y) End Sub,18,格式3: If Then End If 格式4: If Then ,逻辑框图,19,例:输入三角形的三边a、b、c,求三角形的面积,P 64 例4-1,a0 and b0 and c0,a+bc and b+ca and a+cb,20,Private Sub cmdCalculate_Click() Dim a As Single,b As Single,c As Single,p As Single,s As Single a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) If (1) The

8、n If a+bc And b+ca And c+ab Then p=(a+b+c)/2 s=Sqr(p*(p-a)*(p-b)*(p-c) Text4.Text=Str(s) Else Text4.Text=“不能构成三角形” End If Else Text4.Text=“边长不能小于0” End If End Sub,计算公式:,其中:,a0 And b0 And c0,21,例:计算分段函数y的值。,Private Sub cmdCalculate_Click() Dim x As Single,y As Single x=Val(Text1.Text) If x0 Then y=1/

9、(x-5) Else If x5 Then y=3*x2+4*x+5 Else y=Log(x) End If End If Text2.Text=Str(y) End Sub,22,例:输入分数并判断等级分。计算规则如下: 分数 100-90 89-80 79-70 69-60 60 等级分 A B C D E,Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Score As Integer, Degree As String If KeyAscii = 13 Then Score = Val(Text1.Text) If Score

10、= 90 And Score = 80 Then Degree = “B“ Else If Score = 70 Then Degree = “C“ Else If Score = 60 Then Degree = “D“ Else Degree = “E“ End If End If End If End If Text2.Text = Degree End If End Sub,缺点: 嵌套层次过多,结构不清晰,容易出错。,从文本框取数据,向文本框放数据,23,3、多分支If-Then-ElseIf语句 格式: If Then ElseIf Then ElseIf Then Else En

11、d If,功能: -对条件自上而下依次判断,若条件i成立,则执行相应的Ai组语句; -若所有条件都不成立,则执行An+1组语句。 -无论执行了哪个语句块,都将执行End If的后继语句。,24,(1)该语句结构可以解决多分支问题,只有一个End If语句,避免If语句嵌套层数过多的情况; (2)Else语句可以省略; (3)该结构是一个单出口的结构,即只会执行一组语句,若条件中有两个成立,则按语句的顺序执行前面的一组语句。,说 明,25,Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Score As Integer, Degree As

12、 String If KeyAscii = 13 Then Score = Val(Text1.Text) If Score = 90 And Score = 80 Then Degree = “B“ ElseIf Score = 70 Then Degree = “C“ ElseIf Score = 60 Then Degree = “D“ Else Degree = “E“ End If Text2.Text = Degree End If End Sub,特点: 结构清晰。,将上例用If-Then-ElseIf语句改写:,90Score=80 ?,26,格式:Select Case Ca

13、se Case Case Case Else End Select,功能: 计算测试表达式的值,自上而下检查测试条件; 若表达式的值符合测试 i,则执行相应的语句块 i; 若所有条件都不成立,则执行语句块n+1。无论执行了哪个语句块,都将执行End Select的后继语句。,4.3.2 多分支Select-Case-End Select语句,27,(1)测试表达式可以是算术表达式或字符表达式; (2)测试条件有四种形式: 常量,如2、3、“A”等 闭区间,如3 To 78、“B” To“H”等 开区间,如Is20、 Is“P”等 以上三种形式的组合,以逗号间隔,条件组合是或的关系,不能表示与的

14、关系 (3)Case Else语句部分可以省略; (4)以End Select语句结束; (5)该结构是一个单出口的结构,即只会执行一个语句块,若条件中有两个成立,则按语句的顺序执行前面的语句块。,说 明,28,例:将上例用Select Case语句改写。,Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Score As Integer, Degree As String If KeyAscii = 13 Then Score = Val(Text1.Text) Select Case Score Case 90 To 100 Degre

15、e = “A“ Case 80 To 89 Degree = “B“ Case 70 To 79 Degree = “C“ Case 60 To 69 Degree = “D“ Case Is60 Degree = “E“ End Select Text2.Text = Degree End If End Sub,29,练习:键盘输入三个数,将它们从大到小依次排列输出。,Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer, temp As Integer a = InputBox(“输入a“, “顺序输出“

16、) b = InputBox(“输入b“, “顺序输出“) c = InputBox(“输入c“, “顺序输出“) If a c Then Print a, b, c Else Print a, c, b End If End Sub,保证a为a,b两数中的大值,30,4.4 循环结构与循环结构语句,4.4.1 Do-loop循环结构语句(条件循环) 4.4.2 For-Next 循环结构语句(计数循环) 4.4.3 循环嵌套,31,由一定的条件控制,反复执行某个程序段的程序结构称为循环结构。 用于解决一些需要重复进行某些操作的问题。 循环要素: & 循环控制条件 条件或逻辑表达式 & 循环体 重复执行的语句块 & 为防止死循环,在循环体内必

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号