- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[经济学]第8章 VBA结构化程序设计
第8章 结构化程序设计
程序概念
程序:指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写。
8.1 结构化程序设计概述
程序设计过程
算法与三种控制结构
程序流程图及其应用
8.1.1 程序设计过程
程序设计:计算机用户根据解决某一问题的有序步骤,按一定的逻辑关系,将一系列的指令组合在一起。
8.1.1 程序设计过程
软件开发过程:
(1)分析问题
(2)确定算法
(3)编写程序
(4)上机调试
(5)分析运算结果
(6)文档资料编写
(7)维护和再设计
8.1.1 程序设计过程
程序=算法+数据结构
8.1.2 算法(1)
程序的设计过程,核心问题是设计一个合理、有效的算法。
算法就是在有限的时间内,可以根据明确规定的运算规则,在有穷步骤内得出确切计算结果的机械步骤或能运行的计算程序。
8.1.2 算法(2)
算法特性:
(1)有序性:每个步骤被执行的顺序是确定的。
(2)有限性:即解题步骤是有限的,无穷的步骤意味无解。
(3)确定性:多次运行同样一个程序,其结果相同。
算法可以没有输入(因为输入由计算机自动产生),但一定要有输出,输出用来表示问题是否有解。
8.1.2 算法(3)
三种基本控制结构:顺序、分支、循环
顺序结构是程序设计中最基本的结构。
在该结构中,程序的执行是按命令出现的先后顺序依次执行的。
8.1.2 算法(3)
三种基本控制结构:顺序、分支、循环
分支结构是按给定的选择条件成立与否来确定程序的走向。
分支结构可分为双重分支选择和多重分支选择。
在任何条件下,无论分支多少,只能选择其一。
8.1.2 算法(3)
三种基本控制结构:顺序、分支、循环
循环结构是一种重复结构,即某一程序段将被反复执行若干次。
按循环的嵌套层次,循环可分为简单循环结构和循环嵌套(也称为多重循环)结构。
按循环体执行的条件性质,循环又可分为While循环和Until循环。
无论何种类型的循环结构,都要确保循环的重复执行能够终止。
8.1.2 算法(4)
结构化程序是指仅由三种基本控制结构组成的程序,它具有以下特点:
(1) 整个程序模块化。
(2) 每个模块只有一个入口和一个出口。
(3) 每个模块都应能单独执行,且无死循环。
(4) 采用黑箱的思想,宏观地描述任何一个程序,可以将它看成为顺序结构。
8.1.3 程序流程图及示例
ANSI流程图
N-S图
1. ANSI流程图(1)
1. ANSI流程图(2)
顺序结构
1. ANSI流程图(3)
条件分支结构
1. ANSI流程图(4)
多重条件分支结构
1. ANSI流程图(5)
循环结构
Until型循环结构
While型循环结构
2. N-S图 (1)
顺序结构
语句块1
语句块2
语句块3
2. N-S图 (2)
条件分支结构
2. N-S图 (3)
多重分支选择语句
2. N-S图 (4)
循环结构
Until型循环结构
While型循环结构
例:输入一个数x,如果它的值为正,则
输出x的值。
用自然语言表示算法:
1、输入一个数x;
2、判断x是否大于0;
3、如果x大于0则输出x的值,否则不输出x;
4、结束。
用流程图表示算法:
例:输入一个数X,如果它的值为正,则输出x的值。
用N—S图表示算法:
例:输入一个数X,如果它的值为正,则输出x的值。
例:输入任意的三个数到X,Y,Z,将它们按升序输出。
【例】求1+2+3+……+100。
【思考】
1、求1到100之间奇数之和,即1+3+5+……+99。
2、求1到100之间偶数之和,即2+4+6+……+100。
【练习】有一个球从100米高度开始向下落地,球每次落地后都将反弹到原高度的一半之后再开始向下落地,问该球至第10次落地时共经过的路程是多少米?以及球在第10次落地后反弹的高度是多少米?
开始
S=100, N=1
H=100/2
N=9
S=S+2*H
H=H/2, N=N+1
输出S
结束
8.2 VBA程序的控制语句结构
顺序结构程序
分支结构程序
循环结构程序
8.2.1 顺序结构程序(1)
一个简单的顺序程序
Public sub 顺序程序( )
Dim a, b as long
a=3 ‘给a赋值为3
b=3^a ‘求3的立方值
Debug.Print a, b ‘输出结果
End sub
8.2.1 顺序结构程序(2)
赋值语句
[let] 变量名=表达式
如:a=3
b=a+6
x=x+1
y=-y
文档评论(0)