… …… ……n
For i=1 to n p=p*2 或p^(i-1) s = s + p
学生实践则是用半成品,让学生完成该程序中一些重要语句的填写,如p和s的初值、循环体中的语句。有困难的学生还可以参考语句后面的注释语句或相应的流程图来填写。学生在填写代码时老师要提醒学生注意for语句格式的正确性和良好的书写规则。
画棋盘部分,首先让学生分析出老师画的棋盘是由九条等长横线和九条等长竖线组成。由两点确定一直线,引出画直线的语句Line (x0, y0)- (x1, y1),其中(x0, y0)为起点坐标,(x1, y1)为终点坐标。已知该棋盘A点坐标为(500,500),C点坐标为(4500,4500)间隔均为500。(如下图所示)
接下来,我以画横线为例,分三步,让学生自己尝试分别画出第一条横线,画出前三条横线,以及画九条横线:
1、 用代码画第一条横线
Line (500, 500)- (4500, 500)
2、用代码画出前三条横线
Line (500, 500)- (4500, 500)
Line (500, 1000)- (4500, 1000)
Line (500, 1500)- (4500, 1500)
3、用代码画出九条横线
第三步画九条横线时要导引学生用比较简单的方法--循环语句实现,提示学生通过三条横线的代码,提炼出画横线的通式Line(500,y)-(4500,y),其中y值由500开始每次增加500。
让学生先自己尝试编写,然后请几个用不同方法完成的学生上台演示一下,大致有以下几种方法:
如果学生基础不是很好,老师可根据学生的操作情况,做适当提示:循环变量可以用画线的次数,也可以直接用y的值表示。毕业论文http://www.751com.cn/
4、用代码画出九条竖线
有了画横线的基础,画竖线也有比较简单了,最主要是分析出竖线的通式:
Line(x,500)-(x,4500) x值由500每次增加500
从优化算法的思想,画横线和竖线也可同时进行。
【设计意图】算麦粒数的程序中既有累加器又有累乘器,是一个比较典型的循环实例;而画棋盘比较直观,能让学生体会到循环语句的实用性,更容易获得成就感。学生实践也是由较简单的补充代码,到完全自己编写,让学生有更高的挑战性。
四、小结:理理顺顺,明确要点
1、掌握For语句的基本格式和循环次数
For 循环变量=初值 to 终值 Step 步长
语句块(循环体)
Next 循环变量原文请+QQ324-9114 辣'文'论.文-网
说明:循环次数由初值、终值和步长决定
2、掌握循环结构程序执行的流程,能计算出一般循环程序的运行结果。特别是理解累加器和累乘器的作用。
教学反思:
这节课for语句从读程序到写程序,写程序中又是由填写部分语句到完全自己编写代码,对学生的要求逐步加深。在读程序中,通过比喻,学生对累加器的掌握还不错。但写程序部分,根据实例分析算法,提炼循环体通式,还是有一定难度的。学生自己编写代码的次数并不是特别多,也会出现很多各种各样的错误,如格式上的(如要不要加空格之类的),语法上的,单词拼写上的以及对循环语句不理解造成的代码错误等。这也浪费了一些时间,导致最后的时间比较紧,部分学生不能完成所有任务。这些问题在以后的课堂中还要进一步强化。
九、知识结构或板书设计
用课件显示:1、for语句基本格式、步长为正的流程图;2、读程序中的三个小程序;
3、求麦粒的代码、画棋盘的代码
十、作业设计
如何找出全班中扳手腕最厉害的人,为下节课的排序为铺垫。
【问题研讨】
讲到计算1+2+…+n时,总会有学生觉得这可以直接用数学等差数列求和方法解决,干嘛要用循环语句,多此一举。这里老师要跟学生讲清楚,这是学习一种循环的思想。
【参考资料】
《算法与程序设计》教科书,浙江教育出版社,陶增乐主编
《浙江省普通高中新课程实验学科教学指导意见》,浙江省基础教育课程改革工作领导小组办公室编
《普通高中信息技术新课程标准》,人民教育出版社