计算机解决问题一般需要六步,1.1使用计算机解决问题的一般过程.pptx

认识算法,,教学目标,1.通过对解决具体问题的过程和步骤的分析,体会算法的基本思想,了解算法的含义。2.学会使用流程图表示算法,重点难点,重点:算法的特点和描述方式难点:将具体问题转换成算法,问题引入:一个农夫带着一条狼、一头山羊和一篮蔬菜过河,但只有一条小船。乘船时,农夫只能带一样东西。当农夫在场的时候,这三样东西相安无事,一旦农夫不在,狼会吃羊,羊会吃菜。请设计一个方案,使农夫能安全的将这三样东西带过河。,第一步:农夫带羊过河第二步:农夫独自回来第三步:农夫带狼过河第四步:农夫带羊回来第五步:农夫带菜过河第六步:农夫独自回来第七部:农夫带羊过河,算法的概念,为解决一个问题而采取的方法和步骤,称为“算法”(Algorithm)。或者说,算法是解题方法的精确描述,解决一个问题的过程就是实现一个算法的过程。,简单算法举例(1),有两个杯子A和B,分别盛放酒和醋,要求将它们互换(即A杯原来盛放酒,现要改盛醋,B杯则相反),空,算法,必须增加一个空杯C作为过渡,其算法可以表示为:步骤一:先将A杯中的酒倒在C杯中;步骤二:再将B杯中的醋倒在A杯中;步骤三:最后将C杯中的酒倒在B杯中;,上面的算法可以简化表示如下:A→CB→AC→B,简单算法举例(2),如何从十个数中挑选出最大的数?思路:这个问题的解决思路可以用“打擂台”来比喻:先有任意一人在台上,然后第二个人与他比武,胜者留在台上,如此继续下去,直到第十个人比完为止(一共比□次)?,最后留在台上者为胜。,算法,①先任选一数放在一个匣子A中;②将第二个数与A匣子中的数相比,大者放入A匣子中;③再将第三个数与A匣子中的数相比,大者放入A匣子中;……⑩最后将第十个数与A匣子中的数相比,大者放入A匣子中,此时A匣子中数就是最大的数;,算法的特点,一个正确的算法应该有如下特征:一.有穷性二.确定性三.可行性四.有零个或多个输入五.有一个或多个输出,算法的特点,一.有穷性:一个算法必须保证它的执行步骤是有限的二.确定性:步骤必须有确切含义三.可行性:算法原则上能够精确地运行四.有零个或多个输入(即可以没有输入)五.有一个或多个输出(即必须要有输出),算法的描述,1.自然语言2.伪代码3.流程图,伪代码,伪代码,代码,#includemain(){inta,b,c,max;printf("input3numbers:");scanf("%d%d%d",},例如:输入3个数,打印输出其中最大的数。,Begin(算法开始)输入A,B,CIFA>B则A→Max否则B→MaxIFC>Max则C→MaxPrintMaxEnd(算法结束),算法,必须增加一个空杯C作为过渡,其算法可以表示为:步骤一:先将A杯中的酒倒在C杯中;步骤二:再将B杯中的醋倒在A杯中;步骤三:最后将C杯中的酒倒在B杯中;,上面的算法可以简化表示如下:A→CB→AC→B,流程图表示法图例,用流程图来描述算法要遵循一定的标准,这套标准中最常用的符号有:,开始或结束,,输入或输出,,判断,,处理,连接线,,问题:求解𝑎𝑥2+𝑏𝑥+𝑐=0的根,步骤:计算△=𝑏2−4𝑎𝑐判断并计算:若△>0,则x=−b△2a若△=0,则x=-b2a若△c,a+c>b,b+c>a是否同时成立?,三角形不存在,Y,N,思考题(2),问题:已知矩形的长和宽,求矩形的面积。求矩形面积的方法是:矩形面积=长宽。如果设计的程序只能计算固定的长和宽,那么,这个程序就没有什么实用性了。用变量a、b、s分别代表矩形的长、宽、面积,则s的值应该是ab的计算结果。,程序的执行流程应该是:,输入两个数值给a、b,通过计算ab,将结果给变量s,输出变量s的值,,,用流程图表示上述算法,,开始,输入长到变量a,输入长到变量b,计算:s←ab,输出面积s,结束,表示先计算ab的值,然后将计算的结果存入变量s中。“←”称为赋值符,它的计算过程是:先计算符号右侧的代数式的结果,然后将计算结果存储到符号左侧的变量中。,思考题(3),问题:设计一算法,求和:1+2+3+…+100,开始,i=1,S=0,S=S+i,i=i+1,i>100,输出S,结束,Y,N,思考题(4),设计“判断大于1的整数n是否为质数”的算法.第一步:判断n是否等于2,若n=2,则n是质数;若n>2,则执行第二步。第二步:用n除以2,得到余数r,若r=0,则n能被2整除,n不是质数,算法结束,否则执行下一步。第三步:用n除以3,得到余数r,若r=0,则n能被3整除,n不是质数,算法结束,否则执行下一步。……第n-1步:用n除以(n-1),得到余数r,若r=0,则n能被(n-1)整除,n不是质数,算法结束,否则n是质数。,第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数。若有这样的数,则n不是质数,若没有这样的数,则n是质数。,用流程图表示上述算法,判断整数n(n>2)是否为质数的算法的流程图,i=i+1,N,不是质数,开始,结束,输入n,r=0,Y,i>n-1orr=0,N,是质数,Y,i=2,r←nmodi,

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值