C语言程序设计课件ppt及程序代码第2章算法.ppt
《C语言程序设计课件ppt及程序代码第2章算法.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件ppt及程序代码第2章算法.ppt(37页珍藏版)》请在三一文库上搜索。
1、1,程序的灵魂算法,算法的概念 简单算法举例 算法的特性 怎样表示一个算法 结构化程序方法 总结,2,2.1 算法的概念,程序通常包含的内容有: (1)数据的描述:指定数据的类型和组织形式(数据结构) (2)操作的描述:编程的操作步骤,也称算法(algorithm) 操作的目的:对数据进行加工处理,以便得到结果。 厨师做菜肴: (1)配料:制作菜肴所需的原料 (2)步骤:制作某项菜肴时将原料按规定的步骤加工成所需的菜肴,3,2.1 算法的概念,著名计算机科学家沃思提出一个公式: 数据结构+算法=程序 再加上程序设计方法和语言环境 程序=算法+数据结构+程序设计方法+语言工具和环境,4,2.1
2、算法的概念,做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。 计算机算法:计算机能够执行的算法。 计算机算法可分为两大类: 数值运算算法:求数值的解 ; 非数值运算算法:事务管理领域。,5,2.2 简单算法举例,例2.1:12345 原始算法: S1:求12得结果2 S2:将23得结果6 S3:将64得结果24 S4:将245得结果120 上述方法虽正确,但较烦琐 解决此类问题的通用方法是: 设两个变量: p 存放被乘数和结果 i 存放乘数 S1:p=1 S2:i=2 S3:pip S4:i+1i S5:若i=5 返回s3 否则算法结束。 此算法较上面的算法具有通用性和
3、灵活性,6,2.2 简单算法举例,例2.4 求1-1/2+1/3-1/4+.+1/99-1/100 算法如下 : S1: sign=1 S2: sum=1 S3: deno=2 S4: sign=(-1)sign S5: term=sign(1/deno) S6: sum=sum+term S7: deno=deno+1 S8: 若deno=100返回s4,否则算法结束。,7,2.2 简单算法举例,【例2.5】对一个大于或等于3的正整数,判断它是不是一个素数。 S1: 输入n的值 S2: i=2 S3: n被i除,得余数r S4:如果r=0,表示n能被i整除,则打印n“不是素数”,算法结束;否
4、则执行S5 S5: i+1i S6:如果in-1,返回S3;否则打印n“是素数”;然后算法结束。,8,2.2 简单算法举例,【例2.5】对一个大于或等于3的正整数,判断它是不是一个素数。 S1: 输入n的值 S2: i=2 S3: n被i除,得余数r S4:如果r=0,表示n能被i整除,则打印n“不是素数”,算法结束;否则执行S5 S5: i+1i 改进: S6:如果i sqrt(n),返回S3;否则打印n“是素数”;然后算法结束,9,2.3 算法的特性,有穷性:有限的操作步骤和合理的计算时间。 确定性:不应当产生“歧义性”。 有零个或多个输入 有一个或多个输出:算法的输出不一定就是计算机的打
5、印输出。 有效性:如除数不得为零。,10,2.4 怎样表示一个算法,自然语言表示 传统流程图表示 N-S流程图表示 伪代码表示 计算机语言表示,11,2.4 怎样表示一个算法,自然语言: 世界上男人没有了女人就慌了。,世界上男人没有了,女人就慌了。,世界上,男人没有了女人,就慌了。,12,2.4 怎样表示一个算法,用流程图表示算法 ANSI规定的流程图符号,已为世界各国采用,用图框表示操作,用图形表示算法。,13,2.4 怎样表示一个算法,【例2.6】将例2.1的算法用流程图表示。12345,14,2.4 怎样表示一个算法,例2.9 用流程图算法求2.4,15,2.4 怎样表示一个算法,例 2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件 ppt 程序代码 算法
链接地址:https://www.31doc.com/p-2143080.html