第3章 顺序结构程序设计

《第3章 顺序结构程序设计》由会员分享,可在线阅读,更多相关《第3章 顺序结构程序设计(40页珍藏版)》请在文档大全上搜索。
1、 第3章 顺序结构程序设计1第第3章章 顺序结构程序设计顺序结构程序设计VB 是面向对象的程序设计语言,也是结构化的程序设计语言。是面向对象的程序设计语言,也是结构化的程序设计语言。在在VB程序设计中,具体到每个对象的事件过程或模块的通用程序设计中,具体到每个对象的事件过程或模块的通用过程,都是采用结构化的程序设计方法。过程,都是采用结构化的程序设计方法。 结构化程序设计主结构化程序设计主要由要由顺序结构、选择结构、循环结构顺序结构、选择结构、循环结构三种结构组成。三种结构组成。1)算法的概念和算法的几种表示方法)算法的概念和算法的几种表示方法2) 顺序结构的程序设计方法顺序结构的程序设计方法
2、3)数据的输入输出方法)数据的输入输出方法本章主要掌握的内容:本章主要掌握的内容: 第3章 顺序结构程序设计23.1 算法及算法的表示3.1.1 算法概述算法概述解决问题的方法和步骤,称为算法。例如计算一个数学表达式,先括号内,后括号外,先乘除后加减,这个规则就是算法。在日常生活中做任何一件事情,都是按照一定规则,一步一步进行。解决一个问题的方法和步骤有多种,则算法就有多种。表示算法的方法也有多种 ,通常有自然语言表示法,伪代码表示法,流程图表示法。表示算法的目的是为了更好的编写程序。 第3章 顺序结构程序设计33.1.2 算法的特征算法的特征:(1). 算法中执行的步骤总是有限次数的,不能无
3、休止地执行下去。称为有穷性。(2). 算法中的每一步操作的内容和顺序必须含义确切。 这称之为确切性。不能有二义性。(3). 算法中的每一步操作都必须是可执行的,这称之为有效性。 (4). 要有数据输入。算法中操作的对象是数据,因此,应在操作前提供数据。(5). 要有结果输出。 第3章 顺序结构程序设计4例例3.2 求求5个自然数的和(即个自然数的和(即S=1+2+3+4+5)问题分析:该题有两个特点:问题分析:该题有两个特点:(1)重复执行加法,每加一个数,总和的值都重复执行加法,每加一个数,总和的值都在变;在变;(2)加数是一个有规则的等差数列,第加数是一个有规则的等差数列,第1项是项是1,
4、以后每加一次,加数就增,以后每加一次,加数就增加加1,因此,可以用以下算法实现。,因此,可以用以下算法实现。在这个算法里,出现了重复求和的操作,称为循环循环,这种循环必须用条件加以限制,让它进行有限次数就停止,否则,成为死循环。上述算法1的S3是条件判断,求和的操作是先执行,后判断;算法2的S2是条件判断,求和的操作是先判断,后执行。3.1.3 算法的表示算法的表示1.自然语言表示法算法算法2:S1 0S,1N(同算法同算法1)。S2 判断判断: 当当N5时,顺序执行下时,顺序执行下一步一步S3;当;当N5时,跳过时,跳过S3、S4,执,执行第行第5步步S5。S3 S+NS,N+1N(同算法同
5、算法1)。S4 返回第返回第2步步S2。S5 输出结果,输出结果,S为所求之和。为所求之和。算法算法1:S1 设一存放累加和的变设一存放累加和的变量量S,初值置,初值置0,即,即0S;设一;设一计数变量计数变量N,初值置,初值置0,即,即0N。S2 计算和计算和S+NS,并把,并把计数变量增值计数变量增值N+1N。S3 判断:当判断:当N5时,返回时,返回第第2步步S2,再次求和;当,再次求和;当N5时,时,顺序执行下一步顺序执行下一步S4。S4 输出结果,输出结果,S为所求之为所求之和。和。 第3章 顺序结构程序设计5 例例3.4 3.4 求两个自然数求两个自然数M M和和N N的最大公约数
6、。的最大公约数。问题分析:最大公约数就是能同时整除问题分析:最大公约数就是能同时整除M和和N的最大正整数,这是一个古老的最大正整数,这是一个古老的算术问题,这里介绍两种算法。的算术问题,这里介绍两种算法。算法算法1:欧几里得(:欧几里得(Euclid)算法。)算法。S1 输入两个自然数输入两个自然数M和和N。S2 求求M除以除以N的余数的余数R(0RN,则,则NR,否则,否则MR。S3 若若M除以除以R的余数等于的余数等于0并且并且N除以除以R的余数也等于的余数也等于0,则执行,则执行S5,否则顺,否则顺序执行下一步。序执行下一步。S4 R-1R,转转S3.S5 输出输出R,R为所求最大公约数
7、。为所求最大公约数。 第3章 顺序结构程序设计62用传统流程图表示算法用传统流程图表示算法流程图,亦称框图,它是用一些几何框图、流程线和文字说明表示各种类型的操流程图,亦称框图,它是用一些几何框图、流程线和文字说明表示各种类型的操作。直观形象,易于理解。作。直观形象,易于理解。ANSI规定了一些常用的流程图符号,如图所示。规定了一些常用的流程图符号,如图所示。 开始/结束框 输入/输出框 (表示流程开始或结束) (表示输入或输出) 处理框 流程线 (表示基本处理功能的描述) (表示流程的路径和方向) 判断框 连接点 (根据条件是否满足,在几个可以 (表示两个具有同一标记的 选择的路径中,选择某
8、一路径) “连接点”应连接成一个点) 流程图中的符号 第3章 顺序结构程序设计7下面是用流程图表示例下面是用流程图表示例2 2和例和例4 4的算法的算法。YN开始 S=0,N S=S+N N=N+1N=5?输出S结束求5个自然数和流程图结束开始 R=M % N M=N,N=RR=0?输出M输入M,N图 求最大公约数流程图NY 第3章 顺序结构程序设计8v流程图的优点流程图的优点是形象直观,清晰明了,所以它很是形象直观,清晰明了,所以它很早就被广泛采用在各种高级语言的程序设计中,早就被广泛采用在各种高级语言的程序设计中,常常称之为传统的流程图。常常称之为传统的流程图。v缺点是缺点是对于较复杂的问
9、题,占面积大,而且由于对于较复杂的问题,占面积大,而且由于使用流程线,使流程任意转移,容易使人弄不清使用流程线,使流程任意转移,容易使人弄不清流程的思路。流程的思路。流程图的优点和缺点流程图的优点和缺点 第3章 顺序结构程序设计93.1.4 结构化程序及用结构化程序及用N-S流程图表示算法流程图表示算法1.什么是结构化程序?什么是结构化程序?结构化程序设计,它的基本思想是象玩积木游戏结构化程序设计,它的基本思想是象玩积木游戏那样,只要有几种简单类型的结构,可以构成任意那样,只要有几种简单类型的结构,可以构成任意复杂的程序。这样可以是程序设计规范化,便于用复杂的程序。这样可以是程序设计规范化,便
10、于用工程的方法来进行软件生产。基于这样的思想,工程的方法来进行软件生产。基于这样的思想,19661966年意大利的年意大利的BobraBobra和和JacopiniJacopini提出了三种基本提出了三种基本结构,由这三种基本结构组成的程序,就是结构化结构,由这三种基本结构组成的程序,就是结构化程序(程序(Structured ProgramStructured Program)。)。 第3章 顺序结构程序设计102.三种基本结构三种基本结构1). 顺序结构YAB条件?N 单选择结构A 块 B 块 顺序结构A 块AB2). 选择结构B 条件?A1 块A2 块An 块多选择结构An21A条件?
11、A 块B 块 双选择结构YNB 第3章 顺序结构程序设计113). 循环结构循环结构B 条件? A 块B(b) 直到型循环结构AYN图 循环结构 A 块条件?NY(a) 当型循环结构A这种结构化程序具有以下特点:1.只有一个入口和一个出口。2.无死语句。即没有永远都执行不到的语句。3.无死循环。即无永远执行不完的循环。 第3章 顺序结构程序设计123.结构化流程图(结构化流程图(NS图)图) 美国学者美国学者I.Nassi和和B.Schneiderman于于1973年提出年提出了一种新的绘制流程图的方法。由于他二人的名字了一种新的绘制流程图的方法。由于他二人的名字以以N和和S开头,故把这种流程