C语言(第3章_简单算法制定)概要课件.ppt

上传人:小飞机 文档编号:4009370 上传时间:2023-03-31 格式:PPT 页数:26 大小:1.08MB
返回 下载 相关 举报
C语言(第3章_简单算法制定)概要课件.ppt_第1页
第1页 / 共26页
C语言(第3章_简单算法制定)概要课件.ppt_第2页
第2页 / 共26页
C语言(第3章_简单算法制定)概要课件.ppt_第3页
第3页 / 共26页
C语言(第3章_简单算法制定)概要课件.ppt_第4页
第4页 / 共26页
C语言(第3章_简单算法制定)概要课件.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《C语言(第3章_简单算法制定)概要课件.ppt》由会员分享,可在线阅读,更多相关《C语言(第3章_简单算法制定)概要课件.ppt(26页珍藏版)》请在三一办公上搜索。

1、C语言程序设计教程(第2版),第3章 简单算法设计,第3章 程序的简单算法制定,本章主要内容1.结构化程序的算法设计2.结构化算法的性质及结构3.结构化算法的描述方法4.结构化算法流程图,第3章 程序的简单算法制定,算法:解决问题的方法和要遵循的步骤。算法描述了程序要执行的操作及操作的步骤顺序。程序的功能是通过算法来描述的。C语言程序是一种结构化的程序。结构化程序:问题可以分解成相互独立的几个部分。每个独立部分可以通过简单的语句或结构来实现。分问题解的过程就是算法设计的过程。重点:掌握分析问题、解决问题的方法。,3.1 结构化程序的算法设计,【例3-1】要求从键盘输入3个数,找出其中最小的那个

2、数,将其输出到屏幕。请给出解决这个问题的算法。分析:程序对于从键盘输入的3个数必须用3个变量来保存,分别为a,b,c代表输入的3个数,另外,还需要一个变量min来保存最小的那个数。1.先比较a和b的值,把数值小的放入min中;2.再将min与c比较,又把数值小的放入min中。3.经过两次比较,min中已存放的是a,b,c 3个数中最小的数。把min的值输出就是所需结果。,3.1 结构化程序的算法设计,算法步骤:1输入3个数,其值分别赋给3个变量a,b,c;2把a与b中较小的那个数放入变量min中;3把c与min中较小的那个数放入变量min中;4输出最后结果min的值。改进上面的算法描述,将第2

3、步和第3步的算法具体化。1输入三个数,其值分别赋给三个变量a,b,c;2比较a与b的值,如果ab,则min=a;否则min=b;3比较c与min的值,如果cmin,则min=c;4输出最后结果min的值。通过算法描述的步骤,可以很方便地用程序语言来实现。,3.2 结构化算法的性质及结构,3.2.1 结构化算法性质1算法名称给算法命名,是为了方便算法的描述,在C语言中,算法的名字通常就是函数名。2输入算法应有输入的数据或初始条件。3输出算法通常会有一个或多个输出,是对输入数据加工后的结果。4有效性算法的每一步都是可执行的,可通过人工计算的。5正确性算法的结果必须是正确的,可验证的。6有限性任何算

4、法必须在执行有限条指令后结束。,3.2 结构化算法的性质及结构,3.2.2 结构化算法的结构在C语言算法的主要结构有如下3种。1顺序结构顺序结构的特点:程序在执行过程中是按语句的先后顺序来执行的,每一条语句都代表着一个功能,2分支结构分支结构的特点:程序在执行过程中,会根据条件的不同有选择的执行不同的功能。3循环结构循环结构的特点:程序在执行过程中,在一定的时间段内或一定的条件下,重复地执行某个功能,直到时间已到或条件不再满足。,3.2 结构化算法的性质及结构,程序设计要解决的两个主要问题:(1)按什么顺序或步骤来执行;(2)用什么语句来实现。算法设计是核心问题。,提示,3.3 结构化算法的描

5、述方法,常用的描述方法有自然语言、流程图、伪代码等。3.3.1 自然语言 用类自然语言表示算法。如:汉语、英语或其他语言。特点:通俗易懂,简单明了。,3.3 结构化算法的描述方法,【例3-2】从键盘输入两个变量的值a、b,请按输入值从小到大的顺序将这两个变量的值输出到屏幕。请写出这个问题的算法描述。算法描述:第1步:输入变量a和b的值;第2步:比较a和b的值;如果a大于等于b,则先输出a,再输出b;否则,先输出b,再输出a;第3步:算法结束。,3.3 结构化算法的描述方法,【例3-3】几何级数求和:sum=1+2+3+4+5+(n1)+n。请写出该问题的算法。算法描述:第1步:给定一个大于0的

6、正整数n的值;第2步:定义一个整型变量i,设其初始值1;第3步:定义整型变量sum,其初始值设置为0;第4步:如果i小于等于n,则转第5步,否则执行第8步;第5步:将sum的值加上i的值后,重新赋值给sum;第6步:将i的值加1,重新赋值给i;第7步:执行第4步;第8步:输出sum 的值;第9步:算法结束。,3.3 结构化算法的描述方法,3.3.2 流程图流程图是一种算法的形象表示。流程图是由流程线和几何图形框连接而成的。算法流程图的符号采用美国国家标准化协会(ANSI)规定的一些常用符号:,流程线,算法流程图的3种基本结构:顺序结构、分支结构、循环结构1.顺序结构顺序结构是一种简单的线性结构

7、,根据流程线所示的方向,按顺序执行各矩形框的指令。基本流程图:,注:指令A、指令B、指令C可以是一条或多条指令。执行顺序:ABC。,3.3 结构化算法的描述方法,3.3 结构化算法的描述方法,2.分支结构分支结构要对给定的条件进行判断,看是否满足给定的条件,根据条件结果的真假而分别执行不同的执行框。基本流程图有两种:,注:(1)虚线框表示可将分支结构看成一个矩形框。(2)指令A、指令B可以是一条或多条指令,也可以是分支结构。,3.3 结构化算法的描述方法,3.循环结构分支结构是在条件为真的情况下,重复执行某个执行框中的内容。基本流程图有两种:,注:(1)虚线框表示可将循环结构看成一个矩形框。(

8、2)指令A称为循环体,可以是一条或多条指令,也可以是其 他分支或循环结构。(3)do_while结构可以转化成while结构。,(1)while 循环:,(2)do_ while 循环:,3.3 结构化算法的描述方法,循环结构的特点:在循环体指令A中必须要有对条件的值进行修改的语句,使得经过有限次循环后,循环一定能结束。while型循环中循环体可能一次都不执行,而do_while型循环则至少执行一次循环。do_while型循环可以转化成为while型循环结构,但while型循环不一定能转化为do_while型循环。,3.3 结构化算法的描述方法,关于结构化流程图的规则:1.可分别将顺序结构、分

9、支结构、循环结构的基本流程图看成是一个执行框。2.任何两个按顺序的执行框可以合并为一个执行框。反复运用规则1和规则2可得到结构化流程图的最简形式:,特别提示,3.3 结构化算法的描述方法,【例3-4】分析下面的流程图,是否符合结构化算法标准。,3.3 结构化算法的描述方法,【例3-5】将例3-1的算法用流程图表示,分析其是否符合结 构化的标准。从键盘输入3个数,找出其中最小的那个数,将其输出到屏幕。,3.3 结构化算法的描述方法,【例3-6】将例3-2所描述的问题用算法流程图来表示。从键盘输入两个整型变量a,b的值,按输入值从小到大的顺序输出到屏幕。算法流程图为:,3.3 结构化算法的描述方法

10、,【例3-7】将例3-3所描述的问题用算法流程图来表示。计算几何级数的和:sum=1+2+3+4+5+(n1)+n。算法流程图为:,3.3 结构化算法的描述方法,3.3.3 伪代码伪代码是一种接近于程序语言的算法描述方法。特点:采用有限的英文单词作为伪代码的符号系统,按照特定的格式来表达算法,可读性好,方便将算法改写成计算机的程序源代码。伪代码的7个主要部分:(1)算法名称(2)指令序列(3)输出/输出(4)分支选择(5)赋值(6)循环(7)算法结束,3.3 结构化算法的描述方法,1算法名称 两种表示算法的伪代码:过程(Procedure)函数(Function)过程和函数的区别是:过程是执行

11、一系列的操作,不需要返回操作的结果,无返回数据;函数是执行一系列的操作后,要将操作的结果返回,有返回数据。算法伪代码的书写规则:Procedure()Function()如:Procedure Hanoi_Tower()表示名为Hanoi_Tower的一个过程。Function Fac(x)表示名为Fac的一个函数。Function Prog(n)表示名为Prog的一个函数。,3.4 算法设计范例,【例3-11】把从键盘输入的大写字母转换成小写字母输出,若为小写字母或其他字符,则不作任何转换直接输出。分析:用字符变量ch来接收从键盘输入的字符。大、小写字母的ASCII码值相差32,大写字母A的值为65,而小写字母a的值为97。流程图描述的算法:,3.4 算法设计范例,【例3-12】已知实数a,b,计算u的值:u=(r+s)2,并将计算结果输出到屏幕。当ab时,r=a2b2,s=a/b。当ab时,r=b2a2,s=a/b+4。分析:用a,b,r,s,u分别表示浮点型变量。a和b代表输入的原始数据;r和s为计算的中间变量;u为最后的计算结果。流程图描述的算法:思考:怎样简化算法。,本章练习,用流程图描述下面问题的算法:【题3.1】【题3.2】【题3.3】【题3.4】,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号