1.1使用计算机解决问题的一般过程_第1页
1.1使用计算机解决问题的一般过程_第2页
1.1使用计算机解决问题的一般过程_第3页
1.1使用计算机解决问题的一般过程_第4页
1.1使用计算机解决问题的一般过程_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、认识算法,教学目标,1.通过对解决具体问题的过程和步骤的分析,体会算法的基本思想,了解算法的含义。 2.学会使用流程图表示算法,重点难点,重点:算法的特点和描述方式 难点:将具体问题转换成算法,问题引入:一个农夫带着一条狼、一头山羊和一篮蔬菜过河,但只有一条小船。乘船时,农夫只能带一样东西。当农夫在场的时候,这三样东西相安无事,一旦农夫不在,狼会吃羊,羊会吃菜。请设计一个方案,使农夫能安全的将这三样东西带过河 。,第一步:农夫带羊过河 第二步:农夫独自回来 第三步:农夫带狼过河 第四步:农夫带羊回来 第五步:农夫带菜过河 第六步:农夫独自回来 第七部:农夫带羊过河,算法的概念,为解决一个问题而

2、采取的方法和步骤,称为“算法”(Algorithm)。或者说,算法是解题方法的精确描述,解决一个问题的过程就是实现一个算法的过程。,简单算法举例(1),有两个杯子A和B,分别盛放酒和醋,要求将它们互换(即A杯原来盛放酒,现要改盛醋,B杯则相反),空,算法,必须增加一个空杯C作为过渡,其算法可以表示为: 步骤一:先将A杯中的酒倒在C杯中; 步骤二:再将B杯中的醋倒在A杯中; 步骤三:最后将C杯中的酒倒在B杯中;,上面的算法可以简化表示如下: AC BA CB,简单算法举例(2),如何从十个数中挑选出最大的数? 思路:这个问题的解决思路可以用“打擂台”来比喻:先有任意一人在台上,然后第二个人与他比

3、武,胜者留在台上,如此继续下去,直到第十个人比完为止(一共比次)?,最后留在台上者为胜。,算法, 先任选一数放在一个匣子A中; 将第二个数与A匣子中的数相比,大者放入A匣子中; 再将第三个数与A匣子中的数相比,大者放入A匣子中; 最后将第十个数与A匣子中的数相比,大者放入A匣子中,此时A匣子中数就是最大的数;,算法的特点,一个正确的算法应该有如下特征: 一.有穷性 二.确定性 三.可行性 四.有零个或多个输入 五.有一个或多个输出,算法的特点,一.有穷性:一个算法必须保证它的执行步骤是有限的 二.确定性:步骤必须有确切含义 三.可行性:算法原则上能够精确地运行 四.有零个或多个输入(即可以没有

4、输入) 五.有一个或多个输出(即必须要有输出),算法的描述,1.自然语言 2.伪代码 3.流程图,伪代码,伪代码,代码,#includemain()int a,b,c,max;printf(input 3 numbers:);scanf(%d%d%d,例如:输入3个数,打印输出其中最大的数。,Begin(算法开始) 输入 A,B,C IF AB 则 AMax 否则 BMax IF CMax 则 CMax Print Max End (算法结束),算法,必须增加一个空杯C作为过渡,其算法可以表示为: 步骤一:先将A杯中的酒倒在C杯中; 步骤二:再将B杯中的醋倒在A杯中; 步骤三:最后将C杯中的酒

5、倒在B杯中;,上面的算法可以简化表示如下: AC BA CB,流程图表示法图例,用流程图来描述算法要遵循一定的标准,这套标准中最常用的符号有:,开始或结束,输入或输出,判断,处理,连接线,0,N,Y,输出方程无解,输出x,开始,结束,思考题(1),问题:任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.,开始,输入a,b,c,三角形存在,结束,a+bc,a+cb, b+ca是否 同时成立?,三角形不存在,Y,N,思考题(2),问题:已知矩形的长和宽,求矩形的面积。 求矩形面积的方法是:矩形面积=长宽。如果设计的程序只能计算固定的长和宽,那么

6、,这个程序就没有什么实用性了。 用变量a、b、s分别代表矩形的长、宽、面积,则s的值应该是ab的计算结果。,程序的执行流程应该是:,输入两个数值给a、b,通过计算ab,将结果给变量s,输出变量s的值,用流程图表示上述算法,开始,输入长到变量a,输入长到变量b,计算:sab,输出面积s,结束,表示先计算ab的值,然后将计算的结果存入变量s中。 “”称为赋值符,它的计算过程是:先计算符号右侧的代数式的结果,然后将计算结果存储到符号左侧的变量中。,思考题(3),问题:设计一算法,求和:1+2+3+100,开始,i=1,S=0,S=S+i,i=i+1,i100,输出S,结束,Y,N,思考题(4),设计“判断大于1的整数n是否为质数”的算法 第一步:判断n是否等于2,若n=2,则n是质数;若n2,则执行第二步。 第二步:用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不是质数,若没

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论