结构化程序设计

已剪辑自: 结构化程序设计

结构化程序设计(structured programming):

1:结构化程序设计是进行以**模块**功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。

2:结构化程序设计的三种基本结构是:顺序结构、选择结构和循环结构。

顺序结构 :顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。顺序结构的程序又称****简单程序****,这种结构的程序是顺序执行的,无分支,无转移,无循环,程序本身的逻辑很简单,它只依赖于计算机能够顺序执行指令(语句)的特点,只要语句安排的顺序正确即可。

选择结构 :选择结构表示程序的处理步骤出现了****分支****,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。

循环结构 :循环结构表示程序****反复执行某个或某些操作****,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环?哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环。

当型循环:表示先判断条件,当满足给定的条件时执行循环体,并且在循环终端处流程自动返回到循环入口;如果条件不满足,则退出循环体直接到达流程出口处。因为是"当条件满足时执行循环",即先判断后执行,所以称为当型循环。

直到型循环:表示从结构入口处直接执行循环体,在循环终端处判断条件,如果条件不满足,返回入口处继续执行循环体,直到条件为真时再退出循环到达流程出口处,是先执行后判断。因为是"直到条件为真时为止",所以称为直到型循环。

3:三种基本结构图示

  1. 顺序结构 2、选择结构 3、循环结构

img

循环结构又包括:当型循环(While型)、直到型(Until)

imgimg

4:三种结构示例:

1、顺序结构示例:

img

2、选择结构示例:

img

3、循环结构以例子展示:

​ 例子:计算5!的值

img

计算1 - 1/2 + 1/3 - 1/4 +…+1/99 - 1/100

img

5:结构化程序设计方法

    1. 自顶而下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
    2. 逐步细化:对复杂问题,应设计一些子目标作为过渡,逐步细化。
    3. 模块化设计:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。
    4. 结构化编码

*特点*

结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系。

*优点*

由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。

按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。

结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。

1、整体思路清楚,目标明确。

2、设计工作中阶段性非常强,有利于系统开发的总体管理和控制。

3、在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。

*缺点*

1、用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。

2、用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。

3、系统的开发周期长。



已剪辑自: 结构化程序设计

结构化程序设计

一、结构化程序设计

	基本思想:任何程序都可以用三种结构表示,限制使用无条1件转移语句(goto)
	结构化程序:由三种基本结构反复嵌套构成的程序
	优点:结构清晰,易读,提高程序设计质量和效率

二、 三种基本结构

	1.顺序结构
		由若干块组成,按各块的排列顺序依次执行
	2.选择结构
		又称分支结构,根据给定的条件,从两条或者多条路径中选择下一步 要执行的操作路径
	3.循环结构
		根据一定的条件,重复执行给定的一组操作

三、算法的描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

	1.	例:求一千以内偶数的和
		开始
		sum为0,t为1
		判断t是否被2整除
			是sum+t
			不是 t+1
		判断t<1000
			是重新判断t是否被2整除
			不是则输出sum
		结束
2.程序设计的过程
	分析问题,设计算法,实现程序
	自定向下,逐步细化,模块化设计,结构化编程

四、顺序结构

1.	c语言中以分号作为分隔符,编译后产生机器指令
		(1)表达式语句
			表达式+分号构成
		(2)复合语句
			用{……}括起来的一组语句
			{
			[  数据说明部分;]
			执行语句部分;
			}
		(3)例
		int main()
		{
		int b=5;
		   {
		   int a=4;
		   printf(“%d\n”,a);
		   }
		   printf(“%d\n”,b);
		}
		(4)说明
			}后不加分号
			语法上和单一语句相同
			复合语句可嵌套
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值