预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用心爱心专心课题:算法的概念教学目标1、知识目标:了解算法。分析算法。2、能力目标:体验程序的独特魅力了解编程加工的内在机制培养学生的创新能力。3、情感目标:通过编程实现信息的加工激发学生的兴趣增加学生的成就感。重点:如何分析算法算法的概念算法的表示难点:如何写算法。理解用算法描述实际问题理解人的思维在计算机工作中发挥的作用。教学方法:讲授法演示法归纳法教学反思:教学过程导入在学习程序设计时既要掌握所使用的某种计算机计算机语言如PASCAL语言更好掌握解题的方法和步骤这是程序设计中的关键。语言只是一个工具只懂得语言的规则并不能编制出有效的高质量的程序下面所讲座的算法就是研究解题的步骤和方法这是编程的基础同时也是我们解数理化题的基础。著名计算机科学家沃思提出一个公式:数据结构+算法=程序二新授什么是算法:广义地说为解决一个问题而采取的方法和步骤就称为“算法”。或者说:算法是解题方法的精确描述。解决一个问题的过程就是实现一个算法的过程。1.做任何事情都有一定的步骤。例如要计算的值无论手算心算或用算盘计算器计算都要经过有限的事先设计好的步骤。2、对同一个问题往往有不同的解题方法和步骤如方法1:顺序计算1-1/2+1/3-1/4+1/5……+1/99-1/100一直加到100加99次方法2:先计算+再计算减即1+1/3+1/5……+1/991/2+1/4+1/6……+1/100当然各种方法有优劣之分。3、不仅数值计算的问题要研究算法实际上做任何事情。都需要事先设想好的步骤和方法这就是算法。计算机算法可分为两大类别:数值运算非数值运算数值运算举例:求数值解例如求方程的根、求函数的定积分等。非数值运算举例:人名排序图书资料检索等.简单算法举例为了理解如何设计算法下面举几个算法的简单例子。[例1]有两个杯子A和B分别盛有果汁和酒要求将这两个杯子进行互换。(请学生回答并要求说清楚明确的步骤)学生所回答的步骤就是算法的描述:根据常识必须增加一个空杯C作为过渡。其算法表示步骤1:先将A杯中的果汁倒在C杯中;步骤2:再讲B杯中的酒倒在A杯中;步骤3:最后将C杯中的果汁倒在B杯中。①果汁酒②CBA③果汁此问题可以抽象为数值运算中的交换两个变量的值简化为:①A→C②B→A③C→B[例2]从十个数中挑选出最大的数。创设情景:这个问题的思路可以用“打描台”来比喻。第一个同学先上讲台然后第二个同学上去比试胜者(个子高的)留在讲台上依次轮流一直到第十个人比完为止()一共九次)最后留在讲台上的同学就是胜者(个子最高的同学)。算法描述:先任选一个数放在变量A中;将第二个数与变量A中的数进行比较大者放在变量A中;再将第三个数与变量A中的数进行比较大者放在变量A中;:::最后将第十个数与变量A中的数进行比较大者放在变量A中。这样写算法虽然正确但是太烦琐了可以简化为如下:数X→A计数器0→N;下一个数Y与A比较大者→A;N+1→N;(增加一次比较次数)若N﹤9执行第2步否则停止循环此时A中的数最大。显然用“循环”表示的算法比较简练。如果题目要求改为“从1000个数中挑选最大者”只许需要将算法里面的第4步中的“9”改为“999”即可。[例3]求两个正整数m和n的最大公约数。解题之前介绍“辗转相除法”求最大公约数的方法。“辗转”就字面意思来讲是翻来覆去的意思因此“辗转相除法”的格式可以形象地表示为:其中m>nri为余数qi为商。一直除到rn=0为止则rn-1即为最大公约数。r2nq2q3r3q1mr1······将m和n赋具体值m=60n=14板书具体求解方法。用m作被除数n作除数r做余数。具体方法(算法)为:①求m/n的余数r;②若r=0则n为最大公约数若r≠0执行第③步;③将n→m将r→n中;④返回重新执行第①步。注意:如果事先不知道MN两个数谁大谁小应(可)在第一步之前增加一个步骤比较一下两个数的大小大数在m中小数在n中。算法的特性1、有穷性:一个算法应该包含有限个操作步骤而不能是无限的。2、确定性:算法的每个步骤都应该是明确无误的不能含义模糊使执行者无所适从。3、有零个或者多个输入4、有一个或者多个输出5、有效性:算法中的每一步都应该能有效地执行执行算法最后应该能得到确定的结果。归纳总结算法的概念;算法的描述;算法的特性:有穷性:包含有限的操作步骤确定性:算法中的每一个步骤都应当是确定的有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息有一个或多个输出:算法的目的是为了求解“解”就是输出有效性:算法中的每一个步骤都应当能有效地执