- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 算法
教学目标
理解什么是算法;掌握算法的特性和算法的表示方法;掌握结构化程序设计的三种基本结构及设计方法。
教学重点与难点
算法的概念、算法的表示、结构化程序设计的思想、三种基本结构。
学时分配
2学时
一个程序应包括的两个方面的内容:
(1)对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构。
(2)对操作的描述:即操作步骤,也就是算法。
数据和操作的关系:数据是操作的对象,操作的目的是对数据进行加工,以得到期望的结果。
著名计算机科学家沃斯提出了一个公式:数据结构+算法=程序
在设计程序时,还要考虑程序设计方法和计算机语言,因此有:
程序=数据结构+算法+程序设计方法+语言工具和环境
以上4个方面是一个程序设计人员应具备的知识,设计一个程序时要综合运用这几方面的知识。
上述四个方面中,算法是灵魂,数据结构是加工对象,语言是工具,编程需要采取合适的方法。
算法解决做什么和怎么做的问题。程序中的按一定顺序列出的操作语句,就是算法的体现。
通过本门课,大家学会使用c语言的语法编写不太复杂的c程序。本门课程重点讲述算法的设计。
2.1算法的概念
做任何事情都有一定的步骤。这些步骤是按一定的顺序进行的,缺一不可,并且遵循一定的次序。
广义地说,为解决一个问题所采用的方法和步骤统称为算法。
解决一个问题可以有不同的方法和步骤,一般希望采用简单和步骤少的方法,所以在考虑算法时,不仅要保证算法正确,还要考虑算法的质量。
计算机算法可分为两个类别:数值算法和非数值算法。数值算法的目的是求数值解。非数值算法包括的面非常广泛,常见的是用于事物管理领域。
2.2简单算法举例
例2.1 求1×2×3×4×5
最原始的方法:
步骤1:求1×2, 得结果2。
步骤2:将第1步得到的结果再乘以3, 得结果6。
步骤3:将第2步得到的结果再乘以4, 得结果24。
步骤4:将第3步得到的结果再乘以5, 得120。即最后结果。
算法正确,但过于繁琐,如果问题改成求1×2×3×...×1000,需要999步才行。
改进的方法:
先设两个变量p和i,p代表被乘数,i代表乘数;将每一步乘积直接放入被乘数变量p中;用循环算法求结果。
步骤1:令p=1
步骤2:令i=2
步骤3:使p×i,并将乘积放入p中,表示为p×i =p
步骤4:使 i 的值加1,表示为 i+1= i
步骤5:如果i不大于5,返回到步骤3继续向下执行;否则算法结束,p中的值即最后结果。
算法简练,通用。
如果改成求1×2×3×...×1000,只需将步骤5中对i的判断改成1000既可。
如果改成1×3×5×7×9×11×13,算法如下:
步骤1:令p=1
步骤2:令i=3
步骤3:使p×i,并将乘积放入p中,表示为p×i =〉p
步骤4:使 i 的值加2,表示为 i+2= i
步骤5:如果i不大于13,返回到步骤3继续向下执行;否则算法结束,p中的值即最后结果。
例2.2 有50个学生,要求将他们之中成绩在80分以上者打印出来。
用n表示学号,g表示成绩,i表示序号,ni表示第i个学生的学号,gi表示该学生的成绩。算法:
步骤1:令i=1
步骤2:如果gi≥80,打印ni和gi。
步骤3:i+1 =i
步骤4:如果i不大于50,返回到步骤2继续向下执行;否则算法结束。
例2.3 判定2000-2500年中的每一年是否是闰年,将结果输出。
闰年的条件:能被4整除,但不能被100整除的年份;能被400整除的年份。
用y表示年份,算法如下:
步骤1:令y=2000
步骤2:如果y不能被4整除,输出y不是闰年,然后转到步骤6。
步骤3:若y能被4整除,但不能被100整除,输出y是闰年,然后转到步骤6。
步骤4:若y能被4和100整除,又能被400整除,输出y是闰年,然后转到步骤6。
步骤5:输出y不是闰年。
步骤6:y+1=y。
步骤7:若y不大于2500,转到步骤2继续执行;否则算法结束。
例2.5:对于一个大于或等于3的正整数,判断它是不是素数。
素数:除了1和它本身,不能被其它的任何整数整除的数。
判断一个数n是否为素数:将n作为被除数,将2到(n-1)轮流作为除数进行计算,如果都不能被整除,则n为素数。
算法:
步骤1:输入n的值。
步骤2:i=2。
步骤3:计算n/i的余数r。
步骤4:如果r=0,输出n不是素数,算法结束。
步骤5:i+1=i。
步骤6:如果i不大于n-1,返回步骤3继续执行;否则输出n是素数,算法结束。
实际上循环到n/2、甚至既可。
2.3算法的特性
1.有穷性
2.确定性
3.有零个或多个输入
4.有一个或多个输出
5.有效性
2.4算法的表示
2.4.1用自然语言表示
自然语言指人们日常使用的语言,如汉语、英语等。
2.3节中介绍的算法是用自然
您可能关注的文档
最近下载
- 统编版(2024)道德与法治七年级上册:第1-13课全册教案(共26课时).docx
- 《就业指导》中职生就业指导全套教学课件.pptx
- T_CTESGS 01—2023(长江流域蓄滞洪区内非防洪建设项目洪水影响评价审查技术标准).pdf VIP
- 中国名胜古迹课件.pptx
- (统编版2024)历史七上 第2课 原始农业与史前社会 课件(含视频).pptx
- 《春》专题探究课件(朗读的重音和停连) (2).pptx VIP
- “十五五”区域卫生规划.docx VIP
- 某地集中供热工程项目建议书代可行性研究报告.pdf VIP
- 《制药企业有害生物防制管理指南》.pdf VIP
- 2024-2025学年小学科学三年级上册湘科版(2024)教学设计合集.docx
文档评论(0)