循环语句教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.3循环语句教案
教学目标
1.知识与技能:(1)通过具体的实例理解,了解循环语句的结构特征,掌握循环语句的具
体应用;(2)利用循环语句表达解决具体问题的过程,体会算法的基本思想;
2.过程与方法:借助框图中的循环结构,借助Scilab 语言中的循环语句来设计程序,进一
步体会算法的重要性和有效性
教学重点:理解for 语句与while 语句的结构与含义,并会应用
教学难点:应用两种循环语句将具体问题程序化,搞清for 循环和while 循环的区别和联系. 教学程序与环节设计:
分析、抽象、概括、自主探究、合作交流的教学方法,通过各种教学媒体(计算机)调动学生参与课堂教学的主动性与积极性。
流程设计:
一、通过故事,引出问题
首先给大家讲个故事,也许有的同学已经听过,我们看看能不能用算法语句算出它的结果。
相传古印度国王要褒奖它的宰相达依尔(国际象棋的发明者),达依尔说:“国王只要在国际象棋的期盘第一格子上放一粒麦子,第二个字放两粒麦子,第三个字放四粒麦子,以后按比例每一格加一倍,一直放到第64格,我就感恩不尽了.”国王答应了,然扛来一袋小麦,但很快用完,又扛来一袋,又很快用完,但格子还远远没有填满,国王怎么也算不清这笔帐。 通过象棋的产生过程的故事,引入循环结构和语句。 回顾复习循环结构的框图表示,将故事转换为数学问题,并画出程序框图。 讲解循环语句的写法规则,及其注意事项 通过对例题的讲解,使学生理解循环语句的写法规则。 通过学生的资助上机实践,加深学生对循环语句的理解。 分析教材设计意图,探讨教学规律; 探索合理教学思想,提出教学建议。
[师]那么我们能够算出这笔账么?
2-n粒小麦。也就是求[生]可以列出来,每一格是上一格的2倍,那么第n小格的结果是1
3
22
64
+
+
=
S的值。[师]这个算式你们会解么?
+
2
2
+
2
1+
[生]这个没学过,用计算器可以计算出来,但是比较麻烦。
[师]能看出这个故事隐含这个什么样的算法结构么?
[生]应该是循环结构。
〈设计意图〉由实际问题引入,不仅能激发学生的学习兴趣,而且可以培养学生的解决实际问题的能力
二、复习知识
[生]可以解决,用前面学的循环结构就行。
[师]很好,那么首先我们复习一下前面学的循环结构,那位同学画一下循环结构的基本框图。[生]循环结构有两种形式,就是“当性结构”和“直到性结构”。格式是这样的:(学生上台画图)。
[师] 我们今天就来看一下怎么样用程序语句将这种框图表示出来。谁能画一下已开始的时候的程序框图?
三、知识讲授
概念形成:
共同特点:有规律的重复计算,或者在程序中需要对某些语句进行重复的执行,即对不同的运算对象进行若干次的相同的运算或处理
选用结构方式:循环结构
Scilab程序语言中提供两种循环语句:for循环和while循环
〈师生互动〉学生独立思考,交流讨论、教师予以提示,协助梳理、点拨指导
〈设计意图〉由特殊到一般培养学生的观察、归纳、概括能力
I 、for 循环语句
请同学们看下面的一个例子:
例1.求1+2+3+…+1000=? (教材P22)
分析:算法思想:可以采用重复计算,而且数字1、2、3、…、1000是有规律的一列数,逐渐循环递增,每次增幅为1
解答:用for 循环语句来实现计算
步骤:这个程序一共四步:
第一步是选择一个变量S 表示和,并赋给初值0。
第二步开始进入for 循环语句,首先设i 为循环变量,分别设定其初值、步长、终值。这里初值为1,步长为1(步长是指循环变量i 每次增加的值。步长为1,可以省略不写,若为其他值,则不可省略),终值为1000。
第三步为循环表达式(循环体)。
第四步用“end ”控制结束一次循环,开始一次新的循环。
循环体认识:第三步循环表达式“S=S+i ”的理解:
i=1 S=S+i 是 S=S+1,并把0+1赋值给S,第一次循环结束S 为1,此时S 记录了第一个数的
值,遇到“end ”开始第二次循环;
i=2 S=S+i 是 S=S+2,并把1+2赋值给S,第二次循环结束S 为1+2=3,此时S 记录前两个数
的和,遇到“end ”开始第三次循环;
i=3 S=S+i 是 S=S+3,并把(1+2)+3赋值给S,第三次循环结束S 为1+2+3=6,此时S 记录
的是前三个数的和,遇到“end ”开始第四次循环;…
结果输出:把上述程序存到一个文件(“C :/gao/instum.sci ”),点击菜单中的“Load into Scilab ”就会在Scilab 中执行你写的程序:(教材P22——P23)相关内容
总结:for 循环语句的格式
[师]重点说明几点:
(1)当步长为1时,可以省略,即:for i=1:63
(2)式子中的分号不能省略,在这种情况下,有分号的时候,程序只在最后输出结果,在循环过程中并不会输出结果;但是如果将这个地方的分号改为逗号或者不写的时候,程序在每一次循环的时候都会输出一次结果。如例题中的程序,如果写成S=S+i ;则会输出 S=0;
S=1;
S=3;
S=6;
S=10;
……
S=5050
〈师生互动〉学生探讨思考,算法思想渗透,教师归纳整理,给出语句结构,激发学生兴趣,引导学生猜想,思考、观察、归纳,教师诱导、点评
〈设计意图〉使学生在具体实例中掌握算法思想、细化。通过步骤分析、归纳、整理、使学生再次经历由特殊到一般、由具象到抽象的思维过程,培养学生的归纳、概括
能力
[师]现在能够写出课堂一开始时的故事中的语句了么?
[生]能够写出来(找学生在黑板上试着写)
[师]但是是不是所有的循环结构都能用for语句写出来呢?
[生]不知道。
[师]那么请同学们看下面一个例子:
例2 求平方值小于1000的最大整数
[师]这也是个循环结构的题目,那么能写出来么?
[生]不能。
[师]分析:算法思想、正数范围、逐个比较,若小于1000,循环继续;若大于等于1000,结束循环,输出结果。
[师] 这时候我们一般用另一种格式的循环语句:while 语句格式
循环体认识:首先要求对表达式进行判断,如果表达式为真,则执行循环体部分,每次开始执行循环体前,都要判断表达式是否为真。这样重复执行,一直到表达式值为假时,就跳过循环体部分,结束循环。
解答:Scilab的格式来解决这个问题