欢迎来到天天文库
浏览记录
ID:50085120
大小:669.50 KB
页数:40页
时间:2020-03-08
《C语言程序设计(第二版)教学课件 任正云 第3章顺序程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章顺序结构程序设计算法C语言概述标准的输入与输出函数标准输出/输入函数字符输入/输出函数3.1算法算法的特性:有穷性确定性有0个或多个输入有1个或多个输出有效性程序包含两个方面的内容:一个是对数据的描述,一个是对操作的描述。程序=算法+数据结构程序=算法+数据结构+程序设计方法+语言工具和环境3.1算法算法的组成要素操作每个操作的确定不仅取决于问题的需求,还取决于它们来自哪个操作集,它还与使用的工具系统有关。购买电视机报考大学结构控制⑴顺序结构⑵选择结构(分支结构)⑶循环结构(重复结构)3.1算法判断框连接点流程线起止框处理框输出
2、输入框算法的表示方法用自然语言表示算法自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言表示通俗易懂,但文字冗长,容易出现歧义的算法。自然语言表示的含义往往不太严格,要根据上下文才能准确判断。此外,用自然语言描述分支和循环的算法,不是很直观。用流程图表示算法3.1算法用流程图表示算法只有一个入口:不得从结构外随意转入结构中某点。只有一个出口:不得从结构内某个位置随意转出(跳出)。结构中的每一部分都有机会被执行到(没有“死语句”)。结构内不存在“死循环”(无终止的循环)。共同特点:例如:计算半径为r的圆的面积s例如:
3、判断两个输入数据的大小,并输出其中的大数。用流程图表示的算法直观形象,比较清楚地显示出各个框之间的逻辑关系,因此得到广泛使用。算法的表示方法用N-S流程图表示算法美国学者I.Nassi,B.Shneiderman提出了一种新的流程图——N-S流程图。在这种流程图中,完全去掉了带箭头的流程线,每种结构用一个矩形框表示,流程图如下图所示。例如:计算半径为r的圆的面积s例如:判断两个输入数据的大小,并输出其中的大数。N-S流程图表示算法有以下优点:比文字描述更加直观、形象,易于理解。比传统的流程图紧凑易画。废除流程线,整个算法结构是由各个基
4、本结构按顺序组成。N-S流程图的上下顺序就是执行时的顺序,表示的算法都是结构化的算法。算法的表示方法用伪代码表示算法:伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。伪代码不用图形符号,书写方便,格式紧凑,便于向计算机语言算法过渡。下面就是从a、b、c中找出最大数的伪代码描述。输入a、b、c;if(a>=b)max=a;elsemax=b;if(max>=c)输出max;else输出c;算法的表示方法用计算机语言表示算法用计算机语言表示算法实际上就是实际的程序。用计算机语言表示算法必须严格遵守所使用的语言的语法规则。自顶
5、向下、逐步细化的设计过程包括以下几个方面:⑴将一个复杂问题的解法分解和细化成由若干模块组成的层次结构。⑵将一个模块的功能逐步分解细化为一系列的处理步骤,直到某种程序设计语言的语句和某种机器指令。具有以下两个优点:⑴自顶向下、逐步细化的方法符合人们解决复杂问题的普遍规律,可以显著提高程序设计的效率。⑵用先全局后局部,先整体后细节、先抽象后具体的逐步细化过程设计出的程序具有清晰的层次结构,容易阅读和理解。用自顶向下、逐步细化的方法设计3个数中取最大数算法。例3.1(1)首先,分析问题需求S1:输入三个数a、b、c;S2:从a、b、c中找出
6、最大数赋给max;S3:输出max。(2)在前一阶段的基础上考虑各个“做什么”的实现途径,把算法细化如下。S1:调用scanf()函数输入三个数a、b、c;S2:调用一个求三个数中最大数函数max3(a、b、c);S3:调用printf()函数,将最大数输出。(3)编写主程序main(){floata,b,c,max;floatmax3(floatx,floaty,floatz);printf("Input3numberabc:");scanf("%f%f%f",&a,&b,&c);max=max3(a,b,c);}(4)设计max3
7、()。仍然采用逐步细化的方法,概要算法如下:S2.1:从x与y中取较大数送入m中;S2.2:从m与z中取较大数送入m中;S2.3:返回m给主调函数。s2.1:if(x>y)m=x;elsem=y;s2.2:if(my)m=x;elsem=y;if(m8、鸡翁、鸡母、鸡雏各几何?例3.2⑴解题思路的分析这是一个有名的不定方程问题:cocks+hens+chicks=100⑴5*cocks+3*hens+chicks/3=100⑵式中:cocks:鸡翁数0~19中的整数he
8、鸡翁、鸡母、鸡雏各几何?例3.2⑴解题思路的分析这是一个有名的不定方程问题:cocks+hens+chicks=100⑴5*cocks+3*hens+chicks/3=100⑵式中:cocks:鸡翁数0~19中的整数he
此文档下载收益归作者所有