- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 算法与程序框图本章目录12.1 算法的概念 12.2 程序框图 12.3 算法与程序框图应用举例 12.1算法的概念 什么是算法?引入问题1:计算 6+5×(4-2)的顺序? 先算括号里的再算乘法后算加法算法的概念 什么是算法?引入问题2:有一个农夫带一条狼、一只羊和一筐白菜过河。如果没有农夫看管,则狼要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如何解此难题? 解决步骤:1、带羊到对岸,返回;2、带菜到对岸,并把羊带回;3、带狼到对岸,返回;4、带羊到对岸。算法的概念算法(algorithm): 算法是指用来解决问题的一系列明确而有效的步骤,是解决问题的清新的指令。广义的算法:完成某项工作的方法和步骤。菜谱是做菜的算法;歌谱是一首歌曲的算法;空调说明书是空调使用的算法等算法的概念例1:设计一个算法,求出1+2+3+…+10的值解:第一步算1+2=3; 第二步3+3=6;、、、第九步45+10=55例2:现有一杯开水和一杯茶,你能设计一个算法,将两个杯子中的开水和茶对调吗?第一步:将茶水倒入空杯中;第二步将开水倒入茶水杯中;第三步将茶水倒入开水杯中算法的概念练习:(1)给出求 1×2×…×10的一个算法(2)设计一个算法 从12、3、-1、2、6、9、18、5、-3、17中搜出5.算法的概念变量与赋值 我们发现在设计算法的过程中,解决问题 的思想方法并不难,但描述的时候却很繁琐,为解决这一问题我们引入变量和赋值的概念。 变量定义:在研究问题的过程中可以取不同的值的量.变量的表示:一般由一个或几个英文字母组成,或字母加数字表示.如 a、s、a1等.赋值的定义:依次给予变量不同的值叫做给变量赋值.算法的概念大家在看娱乐类电视节目时有没有听过类似这样的话“总分再加20分”?知识竞赛开始时,1号选手的起始分数为100.第一环节结束,主持人报:“1号选手得分加20.”第二环节结束,主持人报:“1号选手得分加30.”第三环节结束,主持人报:“1号选手得分减15.”第四环节结束,主持人报:“1号选手得分加50.”?如何计算选手最后得分?第一步:100+20=120第二步: 120+30=150第三步:150-15=135第四步:135+50=185如果引入变量SS=100;S=S+20;S=S+30;S=S-15; S=S+50输出S可使算法的表示非常简洁。算法的概念问题1:结合实际过程,应当如何理解“x=x+20”这样的式子?问题2:左右两边的x的意义或取值是否一样?能不能消去? 形象地说,变量就像个盒子,可以装不同的数值,但是总是只能装一个.当放入新数值,也就是给变量赋予新的值时,原来的值就会被取代.算法的概念给变量赋值一般格式为:“变量名=表达式”赋值号“=”的意义是将后面的表达式的值赋给变量,也就是将表达式的值替换原来变量,存储到这个变量所对应的存储单元中.%注意:1.赋值符号“=”左边只能是变量名字 只能写成:b=2,b=a+1, 不能写成:2=b,b+1=2.2.在一个赋值语句中,只能给一个变量赋值,不能出现两个或两个以上的“=”号.如a=b=5是错误的.3.赋值符号不同于“等号”.赋值号左右可以出现同一个变量,如n=n+1,但值可能不 相同;而在等式中n=n+1是错误的.算法的概念例.仔细阅读下列算法:第一步 A=1,B=2,C=3;第二步 A=A+B,B=A+1;第三步 A=A+B+C;第四步 输出A,B,C.问:最后输出的A,B,C值各为多少? 可以先后给一个变量赋多个不同的值,但变量的取值只与最后一次赋值有关 . 练习: 仔细阅读下列算法:第一步 n=1,S=1;第二步 n=n+1,S=S×n;第三步 n=n+1,S=S×n;第四步 输出n,S.问:最后输出的n,S值各为多少?算法的概念 例: 银行一年期定期存款年利率为3.5%,如果存入10000元,每1年后自动转存1次.问:3年后本息和是多少?请利用变量和赋值设计一个算法.算法的概念练习: 算法的概念算法的特征(1)有穷性算法应由有限步组成,必须能在执行有限个步骤之后终止,也就是说,算法的步骤不能是无限的。有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:第1步:检验 6=3+3第2步:检验 8=3+5第3步:检验 10=5+5…… 利用计算机无穷的进行下去! 请问,利用这种程序能够证明猜想的正确性吗?这是一个算法吗? (2)确切性算法中的每一个步骤都是确切的,能有效的执行且能得到确定的结果,不能模棱两可,不存在歧义(3)可行性(或有效性)算法的每一个步骤都是可执行的操作,即每一步都可以在有限的时间内完成。(4)有0个、1个、或多个输入,用于刻画运算对象的初始情况。(5)有1个或多个输出,用以
原创力文档


文档评论(0)