2018-2019学年人教B版 必修三 1.1.1算法的概念 教案
2018-2019学年人教B版   必修三 1.1.1算法的概念  教案第2页

数值运算举例:求数值解,例如求方程的根、求函数的定积分等。

非数值运算举例:人名排序,图书资料检索等.

三、 简单算法举例

为了理解如何设计算法,下面举几个算法的简单例子。

[例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;(增加一次比较次数)

若N ﹤ 9,执行第2步,否则停止循环,此时A中的数最大。