资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
浅谈利用for/next多重循环打印图形案例一、教材分析:for.next循环选至高中选修教材算法和程序设计(教科社版)2.3.3节循环结构。循环结构主要包含for.next循环和do while. Joop循环等两部分内容,各用一 课时,共计两课时。本设计为第1课时的一个专题一利用多重循环打印图形。多重循环结构是最为常用的语法结构之一,也是三大基本结构中难度最大的一个;不仅是 本章的重点与难点,也是全书的重点之一。学好程序的基本结构,是学生理解和学习后续章 节的基础。二、学情分析:在学习本课之前,学生本应已把握VB程序的编程环境与运行方法,了解顺序及选择结 构for/next循环结构的程序执行流程,具备一定的算法基础和比较分析、归纳总结能力。故本课有意弱化学生在vb编程环境中的操作,而重在培养他们根据需要采用多重循环结 构解决实际问题的思想,并提炼for/next语句的基本结构,故任务设置以采用填空方式居多。三、教学目标1. 知识与技能:1)把握for.next语句的基本结构、功能和执行过程;2)尝试采用多重循环结构编写图案,解决实际问题。2. 过程与方法:经历分析、实践、讲解、探究、归纳,通过循序渐进、层层深入,逐步深化对循环思想 和执行过程的理解。3. 情感、态度与价值观:通过一个个任务的实战演练,感知使用循环结构解决问题的便捷和优越,培养学生运用 循环思想解决实际问题的能力,进一步激发学生学习编程的爱好进一步提升学生的信息素 养。四、教学的重难点:根据图案的形状来外循环和内循环变量的初值和终值,及每行字符的个数与外循环变量 之间的关系。五、教学方法和教学手段教学方法:任务驱动法、讲解演示法、分析法、探究法和讨论法教学手段:多媒体计算机教室、联想传奇多媒体教学系统的广播教学、一人一机,PPT课件。七、教学过程:(一)、创设情景,激情导入我们已经学习了 VB语言的一些基本语句,for/next循环结构的格式、执行过程、及注 意事项等,下面请用for/next循环结构来编写2个程序:打印6个竖排的和打印6个 横排的“*”【学生尝试】:学生稍作思考编写代码如下:竖排代码如下:Private Sub forml-click()Dim i as integerFor i =1 to 6PrintNext iEnd Sub横排代码如下:Private Sub forml-click()Dim i as integerFor i =1 to 6PrintNext iEnd Sub【教师演示】:教师利用多媒体广播系统在VB环境下演示以上程序给学生看。【问题预设】:那么我们能否用for/next的循环语句编写出如下图案呢?(课件展示图 案1)学生跃跃欲试,结果没试出来。师:当然可以用for/next的循环语句编写,不过不是一个for/next的循环语句,而是多 个for/next的循环语句,即嵌套循环,也称多重循环。【情景创设意图】:通过复习,设置简单的任务,激发学生的求知欲望;通过设问,导出新课,说明经常用 嵌套循环来打印“*”图案。二.师生互动,层层深入【理解概念】:什么是循环结构?什么是多重循环结构?【幻灯片展示】:运行程序时重复执行的某一程序代码称为循环结构。循环体内部还有循环语句的循环叫 做多重循环,又叫多层循环或嵌套循环。我们今天主要学习利用FOR/NEXT的多重循环结构打印不同的图案。这是我们本节课学习 的一个专题,也是近几年会考的热点题型。【例题教学】:现在,我们想在窗体上打印以上图案:(再次展不课件图案1)【上机演示】:启动VB编写代码。Private sub forml-click()Dim i,j as integerFor i=l to 6For j=l to 6Print ;Next jPrintNext iEnd Sub【教学意图】:编写完后运行程序,让学生感受打印出的真实图案。 学生启动VB练习体验编程打印以上图案【教师演示】:对上面程序代码稍微改动变化1Private sub forml-click() Dim i,j as integerFor i=l to 6For j=l to 6PrintNext jPrintNext iEnd Sub变化2Private sub forml-click() Dim i,j as integerFor i=l to 6For j=l to 6Print ”杆;Next jNext iEnd Sub【提问1】:1、以上两个程序代码我是怎样改动的?改动之后的图案是什么样的?【学生齐声回答】:(观察刚才教师演不得出)1、删去print “*”后面的“;”打印的图案是:6个竖排的“*” 一字排开,且每个竖排都 是6个“*”2、删去nextj和nexti中间的print,打印的图案是一排36个紧挨着的“*”。如:【提问2】:那么由此看出,第一个print语句后面”;”的作用是什么?第二个print作用又 是什么?(帮助学生回顾print语句作用)【学生回答】:“;”的作用是紧跟着上一个“*”后面打印“*”,第二个print作用是换行。 【具体分析】:多重循环语句执行的过程当i=l,j=l是打印的是第一彳丁的第1个“*”当i=l,j=2是打印的是第一彳丁的第2个“*”当i=l,j=6是打印的是第一彳丁的第6个“*”以上是外循环变量i执行第一次内循环变量j执彳丁一遍,打印的图形是第一彳丁的六个“ *”,.*接着:当i=2,j=l是打印的是第二彳丁的第1个“*”当i=2,j=2是打印的是第二行的第2个当i=2,j=6是打印的是第二行的第6个“*”当外循环变量i执行完第二次内循环执行第二遍后打印的图形是前两行的如:【提问3】依次类推:你们知道下面是怎样执行的?学生很容易回答出:当i=3时j=l j = 6打印的是第二行当i =4时j = 1 j = 6打印的是第四行当i =5时j = 1j = 6打印的是第五行“*”当i =6时j = 1j = 6打印的是第六行“*”【归纳总结】从刚才我们共同探讨的例题中得出如下结论:1、打印这种“*”图案一般用for/next多重循环来解决。2、一般外层循环变量用于控制打印的彳丁数,而内层循环变量用于控制每彳丁打印“*”个 数。外循环变量i执行一次,内循环变量j要执行一遍。3、注意print语句和“;的使用【设计意图】:本题是一道运用for/next多重循环语句来实现打印“*”图案的最基木最简单 的题目。讣学生很容易接受,使他们对此种题型产生兴趣,激发他们对for/next多重循环语 句来实现打印“*”图案的探索求知欲望。同时下面教学将在此题的基础之上,进行不同的 变换,使教学内容由浅入深,由易到难,层层深入,最后顺利的完成本节课的内容。【图案变化1】:(展示课件2)代码如下:Private Sub Forml-Click() Dim i,j as integerFor i=l to 6Print Tab () For j=l to Print Next jNext iEnd Sub【学生观察】:这个图案与上例题图案有什么不同之处和相同之处?【学生回答】: 不同之处: 1这个图案是平彳丁四边形,上一个是长方形。还有从第二彳丁开始每彳丁第一个“*”与上一彳丁 的第二个“*”对齐开始打印。2 Print提到tab()函数前面了相同之处:仍然是6行,且每行都是6个“*”。师:回答很好!【分析】:由于图案仍然是6行,且每行都是6个“ * ”所以i和j的终值仍然是6不变,print 放在前面作用也一样还是换行。我们将用tab()函数控制每行第一个字符打印的起始列数。 假设第一行是从第一列开始打印,第二行是从第二列打印,以下以此类推。请同学们填写上 面三个空即处。学生积极思考,分组进行讨论最后得出答案:i6【归纳】:行数与每行字符个数没变所以i和j的终值不变,而是用tab()函数控制每行第 一个字符打印的起始列数。(展示课件3:)【图案变化2】:*代码如下:Private Sub Forml-Click()Dim i,j as integerFor i=l to For j=l to Print Next jNext iEnd Sub【问题预设】:1. 、图案的彳丁数和每行“*”的个数是如何变化的?那么i和j的终值应该怎样变?2、每一行第一个是从那一列开始打印?学生讨论后积极发言:行数没变仍然是6行,所以i的终值还是6,每行“*”的个数分别是1个2个6个。每行都是从第一列开始打印。学生积极思考,分组进行讨论最后得出答案:6没填*【师生共同探究】:请同学们观察每行“*”的个数与控制行数的变量i之间有什么关系?学生观察思考并回答:当i是1时第一行打印一个“*”;当i是2时第二彳丁打印2个“*”当i是6时第 六行打印6个“*”所以处填i师接着问:处还有没有问题。(没人回答)【上机演不】:让学生用VB输入代码尝试,并进行调试。学生举手回答:在后添“;”。【归纳】:1、这样图案一般认为每彳丁第一个字符是从第一列打印2、j终值变化的规律一般要和i联系起来。【图案变化3:】(课件展示4)*代码如下:Private Sub Forml_Click()Dim i,j as integerFor i =1 to Print Tab()For j =1 to (3)Next jNext iEnd Sub【问题预设】1、这是一个什么样的三角形?与图案变换2有怎样关系?2、每一行“*”的个数与变量i之间有怎样关系?3、怎样用tab()函数定位每彳丁字符的起始列数? 学生分组讨论,教师巡回指导。【学生回答】:1、这是一个轴对称三角形,是由原来的图案与图案2水平翻转180度后的组成的。 第2、3有难度学生回答不上来。【师生共同探究】:现在你们数一数每行的个数。生回答:分别是1、3、5、7、9、11、师再次引导:它的个数是什么样的一组数据?与行数分别为1、2、3、4、5、6之间有怎样 的对应关系?学生试着寻找规律并回答:的个数是行数的2倍减1、即2*i-l 教师同学们继续探讨第3问:你们能确定第一彳丁的第一个“*”是从第几列打印的,学生还是不能确定,师提不:如果我 们把最后一彳丁的第一个“*”位置定为第一列,那么第一彳丁的“*”位置就定为第六列 学生豁然开朗,有一种成功的喜悦!学生回答:i7-i2*i-lprint*”;【归纳】本题不要考虑行数变化,只要考虑j终值变化与tab()函数的使用。【图案变化4】(课件展示5)*程序代码如下:Private Sub Forml_Click()Dim i,j as integerFor i =(DFor j=l to Print. *” ;Next jNext iEnd Sub*【师生共同探究】:1、
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号