- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
的算法 编写程序
算法与程序设计 算法初步 算法与程序框图 基本算法 算法案例 如何用计算机解决问题 当我们用计算机解决问题时,首先要分析问题,然后根据问题的要求选择合适的软件。 如果现有的软件能满足我们的要求,我们会直接用这些软件来完成任务。 例如:学校财务处要制作一份工资表,工资表中许多数据,我们可以用Excel解决;学生要设计一个报刊设计,可以使用word;网络上的网页是使用网页制作工具完成的,记事本要输入代码,Frontpage和Dreamweaver可以直接使用可视化工具。除此之外, 现实生活中还有许多工作往往比较特殊,现有的软件不能很好地完成,或者由于其他方面的原因无法使用,这就需要我们编写程序来解决问题。 计算机解决问题的步骤 分析问题——可采用建立数学模型的方式使问题变得更明确、易理解。 设计算法——数学模型确定了应该“做什么”,接下来就要为它寻找一个“如何做”的算法。 编写程序——用一种计算机能接受的程序设计语言来描述问题求解的算法。 调试程序——查找和改正程序中存在的错误,使程序能顺利地执行,得出正确结果。 算法的概念 加法口诀表 农夫过河问题 一个农夫带着一只狼,一只羊和一棵白菜过河。河边只有一条船,由于船小,农夫一次只能带其中的一样过河。 如无人看管,狼要吃羊,羊要吃菜。问农夫如何安排过河,才能使狼、羊、菜都安然无恙。 渡河的方法与步骤: 第一步:农夫带着羊渡过河去; 第二步:农夫划船回来; 第三步:农夫带着菜渡过河去; 第四步:农夫带着羊划船回来; 第五步:农夫带着狼渡过河去; 第六步:农夫划船回来; 第七步:农夫带着羊渡过河。 鸡兔同笼问题 一个笼子里有鸡和兔,现在只知道里面一共有35个头,94只脚,问鸡和兔各有多少只? X+Y=a 2X+4Y=b 解方程组得:X=2a-b/2,Y=b/2-a 设计算法 输入a和b的值 求X=2a-b/2 求Y=b/2-a 输出X,Y的值 结束 算法 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。 算法是解决问题的方法和步骤 算法的特征 输入 确定 有穷性 输出 能行性 判断整数n(n2)是否为质数 第一步:给定大于2的整数 第二步:令i=2 第三步:用i除n,得到余数r.判断余数r是否为0,若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示 第四步:判断i是否大于(n-1),若是,则n是质数,返回第三步 著名数学家华罗庚“烧水泡茶” 算法一 第一步:烧水; 第二步:水烧开后,洗刷茶具; 第三步:沏茶。 算法二 第一步:烧水; 第二步:烧水过程中,洗刷茶具; 第三步:水烧开后沏茶。 求最大公约数 辗转相除法 穷举法 算法的描述 自然语言 流程图 伪代码 流程图 算法描述: 输入年份→y IF y能被4整除 THEN IF y 不能被100整除 THEN 输出“是闰年” ELSE IF y 能被400整除 THEN 输出“是闰年” ELSE 输出“不是闰年” END IF END IF ELSE 输出“不是闰年” END IF 使用伪代码描述算法没有严格的语法限制,书写格式也比较自由,只要把意思表达清楚就可以了,它更侧重于对算法本身的描述。 在伪代码描述中,表示关键词的语句一般用英文单词,其他语句可以用英文语句,也可以用汉语语句。 程序的基本结构 顺序结构 选择结构 循环结构 程序设计语言 机器语言 汇编语言 高级语言 3、用伪代码描述算法。 例如,给定一个四位数的年份,判断它是否为闰年。如果用伪代码来描述算法,可以表示如下: 算法分析: 我们知道,如果2月是28天,则这一年是平年;如果是29天,则这一年是闰年。判断闰年的条件是:如果该年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。 伪代码的优缺点: 用伪代码描述的算法简洁、易懂,修改起来也比较容易,并且很容易转化为程序语言代码。 缺点是不是很直观。 开始 r=m除以n的余数 输入正整数m和n r=0 输出n的值 结束 m=n,n=r 否 是 INPUT m,n r=m mod n DO WHILE r≠0 m=n n=r r=m mod n Loop PRINT n 分析问题、建立模型、设计算法、编写程序 具体问题 程序设计 计算机程序 个人计算机的另一个称呼是什么? 电脑 为什么称计算机是电脑? 计算机能模拟人的大脑的活动。 揭开计算机解决问题的神秘面纱 程序设计基础 可视化编程 算法与程序实现 面向对象程序设计 程序设计实践
文档评论(0)