C语言程序设计课件第2章.ppt

C语言程序设计课件第2章.ppt

ID:51643587

大小:654.50 KB

页数:17页

时间:2020-03-27

C语言程序设计课件第2章.ppt_第1页
C语言程序设计课件第2章.ppt_第2页
C语言程序设计课件第2章.ppt_第3页
C语言程序设计课件第2章.ppt_第4页
C语言程序设计课件第2章.ppt_第5页
资源描述:

《C语言程序设计课件第2章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、返回主目录C语言程序设计(第2章算法与算法描述)本章主要介绍算法的基本概念、一般特性、算法的实现和算法的描述方法。1.算法的一般特性2.算法的简单举例3.算法的描述方法程序的具体操作实现步骤,也就是算法。算法是指为了解决一个特定的问题所采用的方法和步骤。一、算法的概念计算机程序都包含两个方面的内容:操作对象和操作过程程序要处理的数据对象(也叫数据结构),包括数据的类型、值和相应组织形式算法是程序的一个重要组成部分,程序离不开算法,事实上算法的设计是程序设计的核心任务之一,是程序设计的灵魂坐火车从武汉

2、到北京开会,应先买车票,然后准时到车站检票上车,火车到达北京后下车,最后乘公交车到会场,这就是算法。这些步骤都是按一定顺序进行的,缺一不可,次序也不能出错。也就是说,要处理一件事情,应事先考虑好具体的实施步骤,然后按部就班地进行。对于同一个问题,可以有不同的算法。就像从武汉到北京开会,可以选择坐飞机,坐火车、长途客车或自驾车,不同的人可以综合考虑时间和经济承受能力选取一个合适的行程。在程序设计中,尽管解决一个问题的算法有多种,但要考虑到算法的质量,选择合理的算法。二、算法的一般特性1.任何一个算法的

3、操作步骤应该是有限的,具有“有穷性”,否则将无法得到结果。2.算法中的每一个步骤应该是确定的,具有“确定性”。3.执行算法时应该与外界有必要的信息交流,有零个或多个数据输入。4.能输出具体结果,有一个或多个输出。5.算法应当面面俱到,每一个步骤都能有效地执行,能得到确定的结果,具有“有效性”。一、算法的简单举例例1求1ⅹ2ⅹ3ⅹ4ⅹ…ⅹ20的值,写出相应算法。具体分析如下:1ⅹ2ⅹ3ⅹ4ⅹ…ⅹ20每次都将前一次的乘积乘以后面的数t为被乘数,i为乘数,将每一步的乘积放到被乘数中算法如下:第一步:使t=

4、1第二步:使i=2第三步:使tⅹi,乘积结果仍放在变量t中,可表示为:tⅹi=>t第四步:使i的值加1,即i+1=>i第五步:如果i的值不大于20,返回,重新执行第三步,以及后面的第四步、第五步;否则,输出t,算法结束。例2求1+2+3+4+…+20的值,写出相应算法。具体分析如下:1+2+3+4+…+20每次都将前一次的和加上后面的数s为被加数,i为加数,将每一步的和放到被加数中算法如下:第一步:使s=1第二步:使i=2第三步:使s+i,和结果仍放在变量s中,可表示为:s+i=>s第四步:使i的值

5、加1,即i+1=>i第五步:如果i的值不大于20,返回,重新执行第三步,以及后面的第四步、第五步;否则,输出s,算法结束。算法可表示如下:第一步:输入n的值第二步:使i=2第三步:n除以i,得到余数r第四步:如果r等于0,表示n能被i整除,则打印“n不是素数”,算法结束。否则执行第五步第五步:i+1=>i第六步:如果i≤n-1,返回执行第三步。否则打印“n是素数”,然后结束。例3判定一个大于或等于3的正整数是否为素数。素数是指除1和该本身以外,不能被其它任何整数整除的数。例如,13是素数,因为它不能

6、被2、3、4、......、12整除。判断一个数n(n≥3)是否素数:将n作为被除数,将2到(n-1)各个整数轮流作为除数,如果都不能整除,则n为素数。算法的常用表示方法有:自然语言描述法、流程图描述法、伪代码描述法、计算机语言描述法等。一、算法的描述方法1.自然语言描述法自然语言是人们在日常生活中进行交流的语言,用自然语言描述算法显得通俗易懂,但文字表述比较繁琐,语义也不太严格,容易出现“歧义性”。用自然语言描述比较复杂的算法,容易造成混淆,很不方便,所以,一般情况下不采用自然语言描述算法。2.用

7、流程图表示算法流程图是用一些简单的图框来表示各种算法的具体操作过程,直观形象,易于理解。美国标准化协会ANSI规定了一些常用的流程图符号起止框输入输出框判断框处理框流程线连接点注释框例3求1x2x3x4x…x20的值,画出流程图。开始t=1i<=20输出t结束i=2t=t*ii=i+1真假#include"stdio.h"main(){floatt,i;t=1;i=2;do{t=t*i;i=i+1;}while(i<=20);printf("%.2f",t);}运行程序例4判定一个大于或等于3的正整

8、数是否为素数,用流程图表示。3.用伪代码表示算法例如,打印“x和y这两个数的最大数”的算法可以用伪代码表示如下:ifx>ythenprintxelseprinty算法:设置t的初值为1设置i的初值为2当i<=20,执行下面操作:使t=t*i使i=i+1(循环体到此结束)打印t的值例5求1x2x3x4x…x20的值,用伪代码表示算法也可以写成以下形式:BEGIN:t=1i=2whilei<=20{t=t*ii=i+1}pringtEND算法如下:BEGIN:inputn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。