中文Visual Basic 6.0基础教程 教学课件 ppt 作者 郭政 第4章 基本算法和结构化程序设计

上传人:E**** 文档编号:89401018 上传时间:2019-05-24 格式:PPT 页数:108 大小:472KB
返回 下载 相关 举报
中文Visual Basic 6.0基础教程 教学课件 ppt 作者  郭政 第4章  基本算法和结构化程序设计_第1页
第1页 / 共108页
中文Visual Basic 6.0基础教程 教学课件 ppt 作者  郭政 第4章  基本算法和结构化程序设计_第2页
第2页 / 共108页
中文Visual Basic 6.0基础教程 教学课件 ppt 作者  郭政 第4章  基本算法和结构化程序设计_第3页
第3页 / 共108页
中文Visual Basic 6.0基础教程 教学课件 ppt 作者  郭政 第4章  基本算法和结构化程序设计_第4页
第4页 / 共108页
中文Visual Basic 6.0基础教程 教学课件 ppt 作者  郭政 第4章  基本算法和结构化程序设计_第5页
第5页 / 共108页
点击查看更多>>
资源描述

《中文Visual Basic 6.0基础教程 教学课件 ppt 作者 郭政 第4章 基本算法和结构化程序设计》由会员分享,可在线阅读,更多相关《中文Visual Basic 6.0基础教程 教学课件 ppt 作者 郭政 第4章 基本算法和结构化程序设计(108页珍藏版)》请在金锄头文库上搜索。

1、第4章 基本算法和结构化程序设计,4.1 【案例12】“判断数的性质”程序,4.1.1 算法 1什么是算法 对于计算机来说,算法就是为了解决一个特定问题而采取的特定和有限的操作步骤,就是用于求解某个特定问题的一些指令的集合。,例如:计算1+2+3+4+5的步骤是:计算1+2的值为3计算3+3的值为6计算6+4的值为10计算10+5的值为15,计算结果为15。,利用计算机解决问题需要编写程序,要实现上述计算,需用变量SUM存放初值0,以后存放每次和及最后计算结果,用变量N存放初值1,用N=N+1语句使N再依次取整数1、2、3、4、5,用SUM=SUN+N语句完成每次的累加运算。根据上述算法,设计

2、的程序如下。,SUM=1:N=1 N=N+1:SUM=SUM+N N=N+1:SUM=SUM+N N=N+1:SUM=SUM+N N=N+1:SUM=SUM+N N=N+1:SUM=SUM+N Print “1+2+3+4+5=“;SUM,一个算法具有下列5个重要特性。只有具有这5种特性才能够被称为算法。 (1)确定性:算法中每一步操作都必须有准确的含义,不允许有二义性。正确的算法要求,对于相同的输入,只有唯一的一条执行路径,输入只能得出相同的输出。,(2)可行性:算法中描述的所有操作,都可以通过执行有限次的基本运算来实现。,(3)输入性:一个算法有零或多个输入,如没有输入,则算法内应确定其值

3、。 (4)输出性:一个算法有一或多个输出,没有输出的算法毫无意义。,(5)有穷性:对任何合法的输入数值来说,一个算法必须是执行有限的操作步骤,且每一个操作步骤都可在有穷(即有限)时间内完成。这是最重要的特性。,2算法的控制结构,一个算法的功能不仅与选用的操作有关,而且与这些操作之间的执行顺序有关。算法的控制结构给出了算法的执行框架,它决定了算法中各种操作的执行次序。算法的控制结构有顺序结构、选择结构和循环结构三种基本的形式。任何复杂的算法都可以用顺序、选择和循环这三种控制结构的组合来描述。,(1)顺序结构:是指通过安排语句的排列顺序来决定程序流程的程序结构。在这种结构中,各个操作是依次执行的。

4、一个算法总有一个入口,经过有限次的顺序操作后,由一个出口结束算法的操作。这种结构有单入单出的性质。一个程序通常可分为3个部分(输入、处理和输出)。,由于顺序结构是按语句在程序中出现的次序,一条一条地执行的,无分支、无循环,所以不会出现死语句和死循环。因此,顺序结构是最简单的结构化程序。,(2)选择结构:在许多数情况下,算法不会按部就班地从第一条操作依次执行到最后一条操作,往往需要根据某个条件来决定执行哪条语句,这种结构就是选择结构。,选择结构有单选结构、双选结构和多选结构3种类型,也具有单入单出的性质,但它是开放型的,即一旦进入选择结构,执行了与判定条件相对应的一组操作后,就立即退出选择结构。

5、,(3)循环结构:算法中的循环结构是指需要反复地执行某组操作的结构。循环控制就是指由特定的条件决定某些语句重复执行次数的控制方式。,它也具有单入单出的性质,是封闭型的,一旦进入循环结构,只要循环条件未达到结束状态,就始终执行循环体内的操作。循环结构又分为当型循环结构与直到型循环结构,前者是先进行条件判断,再执行程序段语句;后者是执行一次要重复执行的程序段语句,再进行条件判断。,3算法的描述方法,为了将算法正确的表示出来,需要使用各种算法描述工具。算法有许多描述方法,常用的有两类:文字描述(也叫自然语言描述)和图形描述。,例如前面所用的方法是文字描述,即使用人们日常使用的自然语言描述解决问题的步

6、骤与方法,它通俗易懂,但算法的表达与计算机的具体高级语言形式差距较大,而且比较烦琐,对条件转向等描述欠直观,还具有“歧义性”(即对同一段文字,不同的人会有不同的理解)。图形描述法有以下3种。,(1)流程图描述方法:它通过各种几何框图和流程线来描述各步骤的操作和执行的过程。这种方法直观形象、逻辑清楚、容易理解,但它占用篇幅大,流程随意转向,较大的流程图不易读懂。对于初学者或编写较小的程序时,可采用流程图的方法。,流程图规定的几何图形如表4-1-1所示。用流程图描述程序的3种基本结构如图4-1-1所示。,表4-1-1 流程图规定的几何图形,图4-1-1 流程图描述程序3种基本结构,(2)N-S图描

7、述方法:它是1973年美国科学家Nassi和Shneid erman B首次提出的一种描述算法的图形方法。N-S图形方法完全去掉了流程线,全部算法写在一个矩形框内,总框内包含其他的功能框。用N-S图描述程序的3种基本结构如图4-1-2所示。,图4-1-2 N-S图描述程序3种基本结构,(3)PAD图描述方法:它是近年来在软件开发中被推广使用的一种描述算法的图形方法。它是一种二维分析图形,从上到下各框功能顺序执行,从左到右表示层次关系。这种描述算法的方法,层次清楚,逻辑关系明了,在有多次嵌套时,不易出错。用PAD图描述程序的3种基本结构如图4-1-3所示。,图4-1-3 用PAD图描述程序的3种

8、基本结构,4.1.2 分支语句,1单行式If Then Else语句 【格式】If 条件 Then 语句序列1 Else 语句序列2 【功能】格式中的“条件”可以是关系表达式或逻辑表达式。,当条件成立(即其值为True)时,执行“语句序列1”各条语句;当条件不成立(即其值为False)时,执行“语句序列2”各条语句,如果没有“Else 语句序列2”则不执行,然后执行其后的语句。其功能可参看图4-1-1到图4-1-3中的(2)图。图中的A就是语句序列1,图中的B就是语句序列2。,【说明】 (1)语句序列中的语句可以有多条,各条语句之间应用冒号分隔。,(2)格式中的“条件”可以是数值表达式和数值形

9、式的字符串表达式,当它们的值为非零的数(例如:233)或由非零的数组成的字符串(例如:“a string“)时,执行“语句序列1”的各条语句;当它们的值为0或由0的数组成的字符串(例如:0、“0“)时,执行“语句序列2”的各条语句。“ ”括号内的内容是可选项。,2区块式If Then Else语句,【格式】If 条件 Then 语句序列1 Else 语句序列2 End If,【功能】当条件成立时,执行“语句序列1”中的各条语句;当条件不成立时,执行“语句序列2”中的各条语句,如果没有“Else语句序列2”选项,则不执行,然后执行End If后面的各条语句。“ ”括号内的内容是可选项。其功能可参

10、看图4-1-1到图4-1-3中的(2)图。,【说明】“语句序列1”和“语句序列2”可以由一个语句行或多个语句行组成。在编程的习惯上,常把夹在关键字If、Then和Else之间的语句序列以缩排的方式排列,这样会使程序更容易阅读理解。,3If Then Elself语句,无论是单行式还是区块式的IfThenElse语句,都只有一个条件表达式,只能根据一个条件表达式进行判断,因此最多只能产生两个分支。 如程序需要根据多个条件表达式进行判断,产生多个分支时,就需要使用IfThenElseIf语句。,【格式】If 条件1 Then 语句序列1 ElseIf 条件2 Then 语句序列2 Else 语句序

11、列n End If,【功能】当条件1的值为True时,则执行语句序列1;当条件1的值为False时,则再判断条件2的值,依此类推,直到找到一个值为True的条件为止,并执行其后面的语句序列。如果所有条件的值都不是True,则执行关键字Else后面的语句序列n。,无论哪一个语句序列,执行完后都接着执行关键字End If后面的语句。其功能可参看图4-1-4所示的流程图。 【说明】语句中的“条件”和语句序列的要求及功能与If Then Else语句相同。,图4-1-4 If Then Elself语句流程图,4.2 【案例13】“一元二次方程的解”程序,4.2.1 Select Case语句 1Se

12、lect Case语句格式与功能 If Then ElseIf语句可以包含多个ElseIf子语句,这些ElseIf子语句中的条件一般情况下是不同的。但当每个ElseIf子语句后面的条件都相同,而条件表达式的值并不相同时,使用If Then ElseI语句编写程序就会很烦琐,此时可使用Select Case语句。,【格式】Select Case 表达式 Case取值列表1 语句序列1 Case取值列表2 语句序列2 Case Else 语句序列n End Select,【功能】计算表达式的值,再将其值依次与每个Case关键字后面的“取值列表”中的数据和数据范围进行比较,如果相等,就执行该Case

13、后面的语句序列;如果都不相等,则执行Case Else子语句后面的语句序列n。无论执行的是哪一个语句序列,执行完后都接着执行关键字End Select后面的语句。程序中的选择结构程序的流程图如图4-2-1所示。,图4-2-1 Select Case语句流程图,2Select Case语句使用说明,(1)表达式可以是数值表达式或字符串表达式。 (2)每一个Case后面的“取值列表”中的数据是表达式可能取得的结果,其“取值列表”的格式有以下3种。,数值型或字符型常量或表达式。例如:“8”、“1,3,5”、“Val(“n“)6”、“W”、“A“,B,C”、“Chr(66) & 28”等。其中,认为数

14、字可以是数值或字符,认为字母是变量,只有用引号括起来的字母才会被认为是字母。,使用“To”来表示数值或字符常量区间,“To”两边可以是数值型或字符型常量。例如:“1 To 26”、“A To Z”、“A“ To “Z“”等。注意“To”左边的数值或字符应小于“To”右边的数值或字符。,使用“Is表达式”来表示数值或字符串区间。这种方法适用于取值为含有关系运算符的式子,在实际输入时,加或不加Is都可以,光标一旦离开该行,Visual Basic会自动将它加上。例如:“Is16”、“Is=N”、“Is=“N“”等。可以混合使用这3种格式。,例如:Case A To Z,2008,60,Is18。其

15、中,A To F为变量A和F所表示的数据区间的数据,26和38可以是数值或字符数据,Is20为Is表达式,表示所有大于20的数据。,可以同时设置多个不同的范围,各范围设置用逗号分隔开来。例如:19,10 To 99。 (3)如果不止一个Case后面的取值与表达式相匹配,则只执行第一个与表达式匹配的Case后面的语句序列。,4.2.2 选择结构的嵌套,选择结构的语句中的“语句序列”可以是一个选择结构语句,这就叫选择结构的嵌套。例如:4.1.3节中介绍的“判断数的性质”程序可以采用选择结构的嵌套方式修改如下。,Dim N As Single, FH As String Private Sub Co

16、mmand1_Click( ) N = CInt(Text1.Text) 将“Text1”文本框内的数据转换为数值后赋给变量N Rem 如果变量N大于或等于0,则 If N = 0 Then,Rem 如果变量N大于0,则显示“这是正数!“;变量N等于0,则显示“这是零!“ If N 0 Then FH = “这是正数!“ Else 嵌套的选择结构语句 FH = “这是零!“ End If Else,FH = “这是负数!“ End If图4-2-2 选择结构的嵌套流程图 Label2.Caption=FH End Sub Private Sub Command2_Click( ) End End Sub,程序中,If N = 0 Then语句的语句序列1是由一个区块式If Then Else语句序列构成的,它的语句序列2是由“FH = “这是负数!“”语句序列构成的。程序中的选择结构程序的流程图如图4-2-1所示。,图4-2-2 选择结构的嵌套流程图,4.

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

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

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