能够编写程序解决循环嵌套不多于三重的多重循环问题,尝试寻找身边的循环结构问题,分析问题算法并编程解决。
学生情况
高一下学期,在人教版高中数学必修三的课程中,学生们已经初步认识了程序的基本结构,会用循环的思想解答一些数学问题,这些知识可以为选修《算法与程序设计》打下基础。但是数学课上的内容主要还是停留在纸面上,在vb平台上编写程序解决问题并得到正确结果,可以让学生在知识的基础上进一步理解和掌握。
教材处理
教学目标
根据本节教学内容以及学生的特点,结合学生在数学第三模块所学的算法知识,确定本节课教学目标如下。
1、知识与技能
能够牢固掌握程序的循环结构。
会用循环结构嵌套编写程序来解决问题。
2、能力目标
培养学生分析问题、解决问题的能力。
3、情感目标
使学生积极参与,发挥他们的主动性,激发他们的求知欲。
教学方法及策略
数学课上学习循环结构解决的都是数学上的一些问题,学生已经觉得有点乏味,所以本节内容,将从打印图形的方式来介绍嵌套,使学生能从思想上得到调节,比较轻松地接受循环嵌套的设计思想。本次课主要以for—next结构来讲解循环嵌套,do循环结构可以在课后让学生自己完成。
教学的重点与难点
重点:从问题中分析出循环的嵌套
难点:嵌套中的循环变量的意义
教学媒体
多媒体教学软件,计算机网络教室
教学过程
教学环节
教师活动
学生活动
设计意图
温故知新
上节课我们已经学习了程序的循环结构,主要是两种格式,for-next循环和dowhile-loop循环,同学们一起先回忆一下两种格式的执行过程
For-next
Dowhile-loop
For循环变量=初值_To终值[Step步长]循环体语句块
Next循环变量
DoWhile<条件表达式>
循环体
Loop
引入:在窗体中打印出一行如下图形:
**********
请学生思考如何实现。
让学生查看主要代码:
N=10
Fori=1ton
Print“*”;
Nexti
(更改n值,可以得到长度不同的图形)
学生一起复习知识点并巩固循环结构的基本思想
学生分析,发现其实是重复打印“*”符号,可以利用循环实现
复习已有知识并能牢固掌握
能够利用循环结构解决问题并复习print用法
创建情境
引入新课
在窗体上演示打印出如下图形:
(图一)
让学生思考分析图形的构成;
讲解:原图形可以分解成多行图形,而每一行图形又是由多个基本的“*”构成;从而引入循环嵌套的概念:循环里面又有循环。
详细讲解并演示:
从第一行开始逐行输出,每一行里面又逐个“*”输出,一行输完换下行,第i行有i个“*”。
代码如下:
Fori=1to6
Forj=1toi
Nextj
思考分析图形的构成,了解嵌套的意义
学生认真听讲,仔细观察程序的结构。
利用图形来调节内容,引起学生的学习兴趣
通过分析程序,引入知识点,让学生理解其用法
深入学习
深入:
若是要打印出下列图形,要如何实现?
(图二)
在学生的配合下演示用空格实现的代码并运行调试:
Forj=1to6-i
Print“”;
介绍可以利用tab(n)定位函数来解决
Printtab(7-i);
再深入:
若是要打印如下图形,又将如何实现?
(图三)
代码:
Forj=1to2*i-1
学生思考,并同教师一起分析,大多数同学发现可以在每行输出“*”前先输出一定数量的空格
与老师一起完成代码的编写
认识并掌握tab(n)的用法
学生很快分析出图三的构成,原理同图二,只不过第i行的“*”个数为2*i-1
检测学生分析问题、解决问题的能力。
学生的思路随问题的深入而扩展,掌握并消化重点、难点
上机实践
给出任务:
完成教材P40实践1,在窗体上打印出如下图形:
*
***
*****
*******
*********
教师巡视观察,个别指导
上机完成任务,适时互相讨论,有些学生还根据自己的喜好更改输出的图形符号和规则,找印出自己设计的图形;有能力的同学可以用do结构来完成
学生能够学以致用,并结合前面所学的知识,很好地完成任务
检查学生掌握情况并及时解决出现的问题。
总结归纳
如果一个算法涉及到循环结构嵌套,要注意分析以下几点:
①分析循环嵌套的重数及每重循环次数
②分析循环体内容:需要重复的内容;循环变量值的意义。
能够牢固掌握程序的循环结构及其嵌套。
帮助学生巩固知识,形成知识体系
课后作业
思考课本p40实践2:求出1~1000中的素数并输出,准备下节课上机实现
学生在课后独立思考并做好上机准备
学生能够利用所学知识解决问题
城南校区:泉州市鲤城区天后路40号金山校区:新华南路金山南区江南校区:金龙街道高山社区