(参考)2019年高中数学第1章算法初步1-3基本算法语句1-3-4循环语句教材梳理导学案


(参考)2019 年高中数学第 1 章算法初步 1-3 基本算法语句 1-3-4 循 环语句教材梳理导学案
庖丁巧解牛 知识·巧学
1.循环语句的概念 循环语句是主要用来实现算法中的循环结构的算法语句,处理一 些需要反复执行的运算任务.如累加求和,累乘求积等问题中常用到. 2.循环语句的两种形式 循环语句一般有两种:“For 循环”“While 循环”. (1)For 循环: 格式: 功能:根据 For 语句中所给定的初值、终值和步长,来确定循环 次数,反复执行循环体内各语句. 通过 For 语句进入循环,将初值赋给变量 I,当循环变量的值不超 过终值时,则顺序执行循环体内的各个语句,遇到 Endfor,将循环变 量增加一个步长的值,再与终值比较,如果仍不超过终值范围,则再 次执行循环体.这样重复执行,直到循环变量的值超过终值,则跳出循 环. 误区警示 “For”和“End For”之间缩进的步骤称为循环体; ①只有当循环次数明确时,才能使用本语句. ②Step 可以省略,此时默认步长为 1. ③步长可以为正、负,但不能是 0,否则会陷入“死循环”.步长为正 时,要求终值大于初值,如果终值小于初值,循环将不能执行.步长为 负时,要求终值必须小于初值. (2)While 循环 格式:
1/6

功能:给语句对应于流程图中的当型循环,如图 1-3-12: 图 1-3-12
先判断条件是否成立,当条件成立时,执行循环体,遇到 Endwhile 语句时,就返回继续判断条件,若仍成立,则重复上述过程, 若不成立,则退出循环.
学法一得 ①该语句以 While 开头,Endwhile 结束,是模块化结构. ②该循环是前测试型循环,即在执行循环体之前先判断条件.只有当条 件成立时,才执行循环,条件不成立时,退出循环.所以在循环体内必 须有改变条件的语句,以便在适当时候退出循环. ③该循环适用于循环次数不确定的情况,当循环次数确定时也可用该 语句. 典题·热题 知识点一 循环次数有限的问题 例 1 设计流程图计算 2+22+23+…+210,并用循环语句表示.
图 1-3-13 思路分析:本题利用等比数列的有限项的和.该循环次数已经确定,可 以用“For”语句,也可用“While”语句来实现循环. 解:流程图如图 1-3-13: 用 For 循环语句表示为: S←0 For i From 1 to 10
S←S+2i End For Print S 变式方法:(用 While 循环实现) S←0 i←1 While i≤10
2/6

S←S+2i i←i+1 End While Print S
方法归纳 面对新问题,在构造算法时,我们应该先把算法结构理 清了,再将结构用算法语句表达出来,从而减少错误率,增加直观性. 知识点二 不确定数值输入的问题 例 2 试设计一个循环语句模拟抛硬币的过程,并计算抛掷中出现正面 的概率. 思路分析:随机模拟可通过两种途径实现:一种是用实物模拟,如用 抛掷一枚硬币,记录总次数及分别出现正面、反面的次数;另一种是 借助于计算机高速的运算、存储能力来实现随机模拟,这个过程实际 上是让计算机产生一系列的随机数,事先假设某些数表示什么,另外 一些数表示什么. 解:用 While 循环表示: S←0 Read n {输入模拟次数} While i≤n
a=RND {产生一个 0 到 1 之间的随机数,并赋给变量 a} If a>0.5 Then
S←S+1 End If End While Print “出现正面的频率为”, S
n
变式方法:用 FOR 循环表示: s←0 Read n For I From 1 to n
3/6

If Rnd>0.5 Then s←s+1 End For
Print “出现正面的频率为”, s
n
拓展延伸 ①运用 RND 函数可产生 0 到 1 之间的随机函数(不包括 1,包括 0),本例中用大于 0.5 的数表示出现正面,用小于 0.5 的数 表示出现反面,如此用来模拟计算.在以后的训练中,我们要注意 RND 函数的正确用法. ②变式方法中运用 Read n 输入数值,一旦输入,就确定了数值,所以 可用 FOR 循环.平时练习时要深化对输入语句的理解. ③“For”和“End For”之间缩进的步骤称为循环体;“While”和 “End While”之间也是一个循环体;设计语句时,必须注意其完整性. 知识点三 循环次数不确定的问题 例 3 设计一个算法,计算并输出一批数据中正数和负数的个数.预先不 指定数据的个数,输入 0 时程序结束(即所有有效的数据,其值均不 为 0). 思路分析:引入循环结构,每次输入一个数据,并判断是正数还是负 数,分别设两个变量 m,n,统计正数、负数的个数.因为是一批数据, 可用 Read 语句,预先不指定数据的个数,也即循环次数不确定,可使 用 While 语句,注意循环条件是输入的数不为 0. 解:流程图如图 1-3-14 所示:
图 1-3-14 用 While 循环表示: m←0 n←0 Read x While x≠0 If x>0 then
m←m+1 Else
4/6

n←n+1 End If Read x End While Print m,n
方法归纳 1.用 For 循环的一般思路 (1)确定好初值与终值、步长. (2)循环变量的初值设置及改变在 For 语句中实现,如题中 For I From 0 to 100,程序中的 Sum←Sum+i 在用伪代码表示时内置于 For 语句中,其他位置不能再出现. 2.用 While 循环设计算法的一般思路 (1)把反复要做的工作,作为循环体放在 While 与 End While 之间. (2)确定循环条件,并在 While 之前,要设置好初始条件.如题中的 i←0,i←1. (3)考虑在循环体内怎样改变条件以退出循环. 问题·探究 思想方法探究 问题 解决同一个问题,可以有不同的算法;同一个算法稍加改造,可 以用于解决不同的问题.
学习算法时,尤其是对循环语句中“累加器”应用,我们能否对 其进行优化或改造,从而达到使算法更具通用性、更有效?
探究过程:结合对程序框图的认识及算法的三种基本逻辑结构,有 利于对程序语言的理解和掌握.类似地,对算法的优化或改造,在算法 的程序框图上进行,也有利于学生看清算法的结构和更好地把握“算 理”. 这里,我们来改造求 1+2+…+100 的值的“累加器”的程序框图(如图 1-3-15),
图 1-3-15
5/6

(1)求 1+2+…+m(m∈Z*)的值的过程; (2)求 3+5+…+(2m+1)(m∈Z*)的值的过程; (3)输出 1,1+2,1+2+3,…,1+2+3+…+100 的过程; (4)求 2+22+…+2100 的值的过程; (5)求使 2+22+…+2n(n∈Z*)的和大于 100 的最小正整数 n 的过程; 等等.其中,(1)将求前 100 个正整数的和推广为求前 m 个正整数的 和,只需在循环结构前给定变量 m 的初始值,并将循环的终止条件变 为“n>m?”即可;(2)也是求 m 个正整数的和,但起始的数字变成 了 3,终端的数字变成了 2m+1,“步长”变成了 2,这时需要改变变量 初始值和循环的终止条件,循环体变为“sum←sum+(2n+1)”;(3) 在循环体中增加输出框“输出 sum”,就可以得到前 n(n=1,2,…, 100)个正整数的和了;(4)需要将循环体变为“sum←sum+2n”; (5)除了需要将循环体变为“sum←sum+2n”,还需要将循环的终止 条件变为“sum>100?”.
探究结论:通过这样的练习,不仅可以更好地把握算法的“算 理”,而且也能体会到算法在解决问题中的强大威力.
6/6


相关文档

【最新】2019年高中数学第1章算法初步1-3基本算法语句1-3-4循环语句教材梳理导学案
2019最新高中数学第1章算法初步1-3基本算法语句1-3-4循环语句教材梳理导学案
2019年高中数学第1章算法初步1-3基本算法语句1-3-4循环语句教材梳理导学案
推荐学习K12高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教材梳理导学案
【2019最新】高中数学第1章算法初步1-3基本算法语句1-3-4循环语句教材梳理导学案
2019-2020学年度高中数学第1章算法初步1-3基本算法语句1-3-4循环语句教材梳理导学案
(参考)2019年高中数学第1章算法初步1-3基本算法语句1-3-1赋值语句1-3-2输入输出语句教材梳理导学案
高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教材梳理导学案苏教版必修320171017413
电脑版
?/a>