当前位置:首页 >> 数学 >>

优品课件之算法的概念

优品课件

算法的概念 课题:算法的概念 教学目标 养学生的创新能力。 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/99, 1/2+1/4+1/6……+1/100 当然各种方法有优劣之分。 3、不仅数值计 算的问题要研究算法,实际上,做任何事情。都需要事先设想好的步 骤和方法,这就是算法。 计算机算法可分为两大类别: ? 数值运算 ? 非数值运算 数值运算举例:求数值解,例如求方程的根、求函数 的定积分等。 非数值运算举例: 人名排序, 图书资料检索等. 三、 简 单算法举例 为了理解如何设计算法,下面举几个算法的简单例子。 [例 1] 有两个杯子 A 和 B,分别盛有果汁和酒,要求将这两个杯子进 行互换。 (请学生回答,并要求说清楚明确的步骤) 学生所回答的 步骤就是算法的描述: 根据常识, 必须增加一个空杯 C 作为过渡。 其

优品课件

算法表示 步骤 1:先将 A 杯中的果汁倒在 C 杯中; 步骤 2:再讲 B 杯中的酒倒在 A 杯中; 步骤 3: 最后将 C 杯中的果汁倒在 B 杯中。 此 问题可以抽象为数值运算中的交换两个变量的值,简化为: ①A → C ②B → A ③C → B [例 2] 从十个数中挑选出最大的数。 创设情景:这个问题的思路可 以用“打描台”来比喻。第一个同学先上讲台,然后第二个同学上去 比试,胜者(个子高的)留在讲台上,依次轮流,一直到第十个人比 完为止()一共九次)最后留在讲台上的同学就是胜者(个子最高的 同学) 。 算法描述: 1. 先任选一个数放在变量 A 中; 2. 将第二 个数与变量 A 中的数进行比较,大者放在变量 A 中; 3. 再将第三 个数与变量 A 中的数进行比较, 大者放在变量 A 中; : : : 10. 最 后将第十个数与变量 A 中的数进行比较,大者放在变量 A 中。 这样写算法虽然正确, 但是太烦琐了, 可以简化为如下: 1. 数 X → A,计数器 0 → N; 2. 下一个数 Y 与 A 比较,大者→ A; 3. N + 1 → N; (增加一次比较次数) 4. 若 N ? 9,执行第 2 步,否则 停止循环,此时 A 中的数最大。 显然,用“循环”表示的算法比较 简练。 如果题目要求改为“从 1000 个数中挑选最大者”,只许需要 将算法里面的第 4 步中的“9”改为“999”即可。 [例 3] 求两个正整数 m 和 n 的最大公约数。 解题之前介绍“辗转相 除法”求最大公约数的方法。 “辗转”就字面意思来讲是翻来覆去的 意思,因此“辗转相除法”的格式可以形象地表示为: 将 m 和 n 赋 具体值,m = 60,n = 14,板书具体求解方法。 用 m 作被除数, n 作除数,r 做余数。 具体方法(算法)为: ①求 m/n 的余数 r; ② 若 r = 0 ,则 n 为最大公约数,若 r ≠ 0,执行第③步; ③将 n → m,将 r → n 中; ④返回重新执行第①步。 注意:如果事先不知道 M,N 两个数谁大谁小,应(可)在第一步之前增加一个步骤,比较一 下两个数的大小,大数在 m 中,小数在 n 中。 四、 算法的特性 1、有穷性:一个算法应该包含有限个操作步骤, 而不能是无限的。 2、 确定性: 算法的每个步骤都应该是明确无误的, 不能含义模糊,使执行者无所适从。 3、有零个或者多个输入 4、有 一个或者多个输出 5、 有效性: 算法中的每一步都应该能有效地执行,

优品课件

执行算法最后应该能得到确定的结果。 五、 归纳总结 算法的概念; 算法的描述; 算法的特性: ? 有穷 性:包含有限的操作步骤 ? 确定性:算法中的每一个步骤都应当是 确定的 ? 有零个或多个输入:输入是指在执行算法时需要从外界取 得必要的信息 ? 有一个或多个输出: 算法的目的是为了求解, “解” 就是输出 ? 有效性:算法中的每一个步骤都应当能有效地执行,并 得到确定的结果 。 对于程序设计人员来说,我们不仅要会使用现成 的算法,还要会设计算法,即要设计出算法中的每一个步骤。 六、 练习 ① 用辗转相除法求 324 和 180 的最大公约数。 七、板书设计 八、课后记 优品课件,意犹未尽,知识共享,共创未来! ! !