- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
02;任务1求解1×2×3×4×5——算法和基本数据类型的认识
任务2求圆的面积——基本运算符的使用;求解1×2×3×4×5——算法和基本数据类型的认识;学习目标
1.掌握程序算法的概念和基本思路。
2.熟悉C语言的基本数据类型。;任务描述
人们在工作和生活中,每做一件事情都要考虑采取什么样的方式、方法,所采取的方式、方法是否合理往往决定了实施过程是否顺利以及结果是否成功,这些方式、方法就是算法。不同的人解决相同的问题所用算法可能不同。
本任务具体要求是编写两种算法求数学问题1×2×3×4×5的值,阅读用两种算法编写的两个程序,分析两种算法是如何在两个程序中实现的,探讨程序中所用的数据类型。;相关知识
一、算法概念
算法是一组解决问题的步骤,它可以产生结果,也可能在限定的条件下终止。可以用自然语言、伪代码(pseudo-code)、N/S图(也称流程图)等多种方法来描述算法。
同一问题可用不同算法解决,一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。对一个算法的评价主要从时间复杂度和空间复杂度来考虑。;1.?算法衡量标准
算法质量好坏的衡量标准如下:
(1)思路清晰正确。
(2)过程简单明了。
(3)算法合理准确。
2.?算法分类
(1)数值算法。数值算法是指关于数学问题的求解的方法,如求三角形的面积、方程式的根、100以内偶数和等。
(2)非数值算法。非数值算法是指人力系统资料录入、图书馆书籍检索、办公自动化处理等数值之外的数据的处理。;3.?算法应用准则
设计算法时,应遵循以下几点。
(1)确定性。
算法中的每一个步骤都应是确定无误的,不能产生歧义。
(2)有限性。
算法中的每个步骤必须是有限的,而不能是无限的,要使算法在合情合理的范围内正确地执行并能得出正确的结果。;(3)有效性。
算法中的每一个步骤必须能有效地执行,也就是说每一个步骤都要符合高级语言的编写特点,符合常理。
(4)保证输入输出。
在执行算法时,需要通过输入获取信息,目的是求解。一个算法可以有零个、一个或多个输入,没有输入可以,但没有输出的算法是没有意义的。;4.?常用算法
(1)递推算法。
递推算法是一种用若干步可重复的简单运算(规律)来描述复杂问题的方法。
(2)递归算法。
递归算法通常把一个大型复杂的问题层层转化为一个与原问题相似、规模更小的问题来求解。
(3)穷举算法。
穷举算法又称暴力破解法,是指对于要解决的问题,列举出它的所有可能的情况,逐个判断哪些符合问题所要求的条件,从而得到问题的解。;(4)分治算法。
在计算机科学中,分治算法是一种很重要的算法。分治算法可简单地理解为“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题,直到子问题可以直接求解为止,原问题的解即子问题解的合并结果。
(5)动态规划算法。
最优化原理是动态规划算法的基础。一个过程的最优决策无论其初始状态和初始决策如何,对以第一个决策所形成的状态作为初始状态的过程而言,在其之后所实施的诸策略必须构成最优策略。简言之,一个最优策略的子策略,对它的初态和终态而言也必定是最优的。;(6)贪心算法。
贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,贪心算法不从整体最优上加以考虑,它所做出的决策仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对大部分问题能得到整体最优解或是整体最优解的近似解。;5.?算法的设计
【例】计算2+4+6+8+10+…+100的算法之一是“依次判断1~100的整数,只要是偶数就累加”。分析此算法的编程思路,观察用此算法编写的程序,上机输入编辑、调试运行并输出结果。
本问题求在一定范围内(题中为1~100)、满足一定条件(题中为偶数)的若干整数的和,可以理解为一个累加和的问题。设置一个变量(可用S表示),其初始值为0,在指定的范围内寻找满足条件的整数,将它们一一累加到S中,并将正在查找的整数用一个变量i表示。;可以使用C语言语句“S=S+i;”来累加,它表示把S的值加上i后重新赋给S。这个算法的累加过程需要反复执行,要用程序设计语言的循环控制语句(有关循环控制语句的知识将在后续任务中学习)来完成,其循环过程如下。
(1)判断i是否满足偶数的条件,把满足条件的整数累加到S中。
(2)对循环次数进行控制,这可以通过i的变化来控制。;二、数据类型
1.?常用数据类型
(1)字符型(char)数据。
每个字符型数据在内存中占1个字节的存储空间。
(2)整型(int)数据。
整型数据用来描述整数,整数在计算机中是准确表示的。整型数据的长度与机器字长
文档评论(0)