【精品】浅谈利用多重循环打印图_第1页
【精品】浅谈利用多重循环打印图_第2页
【精品】浅谈利用多重循环打印图_第3页
【精品】浅谈利用多重循环打印图_第4页
【精品】浅谈利用多重循环打印图_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅谈利用for/ncxt多重循环打印图形案例一、教材分析:for.jext循环选至高中选修教材算法和程序设计(教科社版)2.3.3节循环结构。循坏结构主耍包含for.next循环和«do while.joop循坏等两部分内容,各用一 课时,共计两课时。木设计为第1课时的一个专题一一利用多重循环打印图形。多重循环结构是最为常用的语法结构z,也是三次基本结构小难度最大的-个;不仅是 本章的重点与难点,也是全书的重点学好程序的基本结构,是学生理解和学习后续章 节的基础。二、学情分析:在学习木课z前,学生本应已把握vb程序的编程环境与运行方法,了解顺序及选择结 构for/next循环结构的程

2、序执行流程,具备一定的算法基础和比较分析、归纳总结能力。故本课有意弱化学生在vb编程环境中的操作,而重在培养他们根据需要采用多重循环结 构解决实际问题的思想,并提炼for/next语句的基本结构,故任务设置以采用填空方式居多。三、教学目标1. 知识与技能:1)把握for.next语句的基本结构、功能和执行过程;2)尝试采用多重循环结构编写图案,解决实际问题。2. 过程与方法:经历分析、实践、讲解、探究、归纳,通过循序渐进、层层深入,逐步深化对循环思想 和执行过程的理解。3. 情感、态度与价值观:通过一个个任务的实战演练,感知使用循环结构解决问题的便捷和优越,培养学生运用 循环思想解决实际问题的

3、能力,进一步激发学生学习编程的爱好进一步提升学生的信息素 养。四、教学的重难点:根据图案的形状来外循环和内循环变量的初值和终值,及每行字符的个数与外循环变量 z间的关系。五、教学方法和教学手段教学方法:任务驱动法、讲解演示法、分析法、探究法和讨论法教学手段:多媒体计算机教室、联想传奇多媒体教学系统的广播教学、i人i机,ppt课件。七、教学过程:(一)、创设情景,激情导入我们己经学习了 vb语言的一些基本语句,for/next循环结构的格式、执行过程、及注 意事项等,下面请用for/next循环结构來编写2个程序:打印6个竖排的心”和打印6个 横排的“*”【学生尝试】:学生稍作思考编写代码如下:

4、竖排代码如下: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)上上上vtwrtw- » < * v*vizviz*7*卜*学生跃跃欲试,结果没试出来。师:当然可以用f

5、or/next的循环语彳j编写,不过不是一个for/next的循环语旬,而是多 个for/next的循环语句,即嵌套循环,也称多重循环。【情景创设意图】:通过复习,设置简单的任务,激发学生的求知欲望;通过设问,导出新课,说明经常用 嵌套循环来打印图案。二.师生互动,层层深入【理解概念】:什么是循环结构?什么是多重循环结构?【幻灯片展示】:运行程序时重复执行的某一程序代码称为循环结构。循环体内部还有循环语句的循环叫 做多重循环,又叫多层循环或嵌套循环。我们今天主要学习利川for/next的多重循环结构打印不同的图案。这是我们本节课学习 的一个专题,也是近儿年会考的热点题型。【例题教学】:现在,我

6、们想在窗体上打印以上图案:(再次展示课件图案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 6print 计'next jp

7、rintnext iend sub变化2private sub forml-click() dim i j as integer for i=l to 6for j=l to 6print ;next jnext iend sub【捉问1】:1、以上两个程序代码我是怎样改动的?改动z后的图案是什么样的?【学牛齐声回答】:(观察刚才教师演示得出)1、删去prim 后而的“;”打卬的图案是:6个竖排的一字排开,且每个竖排都 是6个2、删去next j和next i中间的print,打印的图案是一排36个紧挨着的“*”。如:rj% rj% rj% rj% rp rj% rprj% rj% rj% r

8、p rj% rp rj% rj% rp rprp rj% rj%【提问2】:那么由此看出,第一个print语句后而于的作用是什么?第二个prim作用又 是什么?(帮助学生|叫顾print语旬作用)【学牛回答】:“;”的作用是紧跟着上一个后面打印第二个print作用是换行。【具体分析】:多重循环语句执行的过程当i=l,j=l是打印的是第一行的第1个当i=l,j=2是打印的是笫一行的笫2个当i=j=6是打印的是第一行的第6个以上是外循环变量i执行第一次内循环变量j执行一遍,打印的图形是笫一行的六个“*” , 如:*接着:当i=2j=l是打印的是笫二行的第1个当i=2,j=2是打卬的是第二行的第2个

9、当i=2j=6是打卬的是第二行的第6个“*”当外循环变量i执行完第二次内循环执行笫二遍后打印的图形是前两行的如:*【提问3】依次类推:你们知道下面是怎样执行的?学生很容易回答hh当i =3时)=1j = 6打印的是第三行“*”当i =4时j = 1j =6打印的是第四行“*”当i =5吋j = 1j =6打卬的是笫五行当i =6时j = 1j =6打印的是第六行“*”【归纳总结】从刚才我们共同探讨的例题屮得出如卜结论:1、打卬这种图案一般用for/next多重循环来解决。2、一燉外层循环变量用于控制打印的行数,而内层循环变量用于控制每行打印“*”个 数。外循环变最i执行一次,内循环变量j要执行

10、一遍。3、注意print语句和“;”的使用【设计意图】:本题是一道运用for/next多重循环语句来实现打印图案的最基本最简单 的题目。让学生很容易接受,使他们对此种题型产生兴趣,激发他们对for/next多重循环语 句來实现打印“*”图案的探索求知欲望。同时下面教学将在此题的基础z上,进行不同的 变换,使教学内容由浅入深,由易到难,层层深入,最后顺利的完成本节课的内容。【图案变化1】:(展示课件2)代码如下:private sub forml-click()dim ij as integerfor i=l to 6print tab ()for j=l to print next jnext

11、 iend sub*丄91%rjw< * v* » v*1* 7* rpvizviz*7* 卜*【学生观察】:这个图案与上例题图案有什么不同z处和相同z处?【学生回答】:不同之处:1这个图案是平行四边形,上一个是长方形。述有从第二行开始每行第一个“*”与上一行 的第二个对齐开始打印。2、print提到tab()函数前面了相同z处:仍然是6行,且每行都是6个“*”。师:回答很好!【分析】:由于图案仍然是6行,且每行都是6个所以i和j的终值仍然是6不变,print 放在前面作用也一样还是换行。我们将用tab()函数控制每行笫一个字符打印的起始列数。 假设第一行是从第一列开始打印,第

12、二行是从第二列打印,以下以此类推。请同学们填写上 面三个空即处。学生积极思考,分组进行讨论最后得出答案:i6【归纳】:行数与每行字符个数没变所以i和j的终值不变,而是用tab()函数控制每行笫 一个字符打印的起始列数。(展示课件3:)【图案变化2】:*7* 咛.卜 *7*卜代码如下:private sub forml-click()dim ij as integerfor i=l to for j=l to print next jnext iend sub【问题预设】:1、图案的行数和每行“*”的个数是如何变化的?那么i和j的终值应该怎样变?2、每一行笫一个“”是从那一列开始打印?学生讨论后

13、积极发言:行数没变仍然是6行,所以i的终值还是6,每行“*”的个数分别是1个2个6个。每行都是从第一列开始打印。学生积极思考,分组进行讨论最麻得出答案:6没填*【师生共同探究】:请同学们观察每行的个数与控制行数的变量i之间有什么关系?学生观察思考并回答:当i是1时第一行打卬一个“*”;当i是2时第二行打印2个当i是6吋第 六行打印6个所以处填i师接着问:处述有没有问题。(没人回答)【上机演示】:让学住用vb输入代码尝试,并进行调试。学生举手回答:在“*”后添【归纳】:1、这样图案一般认为每行第一个字符是从第一列打印【图案变化3:】(课件展示4)*上上2、j终值变化的规律-般要和i联系起來。代码

14、如下:private sub forml_click()dim i,j as integerfor i = 1 to print tab() for j =1 to next jnext iend sub【问题预设】1、这是一个什么样的三角形?与图案变换2有怎样关系?2、每一行的个数与变量i z间冇怎样关系?3、怎样用tab()函数定位每行字符的起始列数?学生分组讨论,教师巡回指导。【学生回答】:1、这是一个轴对称三角形,是由原来的图案与图案2水平翻转18()度后的纟r成的。第2、3有难度学生回答不上來。【师生共同探究】:现在你们数一数每行“*”的个数。生回答:分别是1、3、5、7、9、11、

15、师再次引导:它的个数是什么样的一组数据?与行数分别为1、2、3、4、5、6之间有怎样 的对应关系?学生试着寻找规律并冋答的个数是行数的2倍减1、即2*i-l教师同学们继续探讨第3问:你们能确定第一行的第一个是从第儿列打印的,学牛还是不能确定,师提示:如果我们把最后一行的第一个“*”位置定为第一-列,那么第一行的“*”位置就定为第六列 学生豁然开朗,冇一种成功的喜悦!学生回答:i7i2*i-lprint"*"【归纳】本题不要考虑行数变化,只要考虑j终值变化与sb()函数的使用。程序代码如下:private sub forml_click() dim i,j as intege

16、rfor i 二for j=l to print “*” ;next jnext iend sub【图案变化4】(课件展示5)*上*【师生共同探究】:1、这也是一个轴对称三角形,是由原来的图案2少图案2垂直翻转180度后的组成的2、3问学生回答有困难。且只能填print2、对于垂直对称图案来说,外层循环变量一般采用相对于0对称的从一个负值变化到对应 的正值。所以应填-5 to 5正好循环11次产生11行。3、当i为-5与5是内循环都是执行一次打印一个“*”;当i为-4与4是内循环都是执行 2次打印两个“*”。以此类推:应是6-abs(i),【变形图案5】(课件展示6)*丄 上上t*t»

17、;rj* r|r| p£z*7* 卜 rp *7*7* rp*7* rp%1* %1*夕卜.卜吟卜"卜叫0b *1 卜 丄rtw <twrtw*程序代码如2private sub forml_click() dim i,j as integer for i=© to 5 print tab(abs(i)+l);forj=l to 2*(6-)-1print “*"next jnext iend sub【分析】:由于有上一题的经验,木题学生思考讨论示容易填写岀答案:5abs(i)变形图案6:222333334444444555555555666666

18、6777778889程序代码如2private sub forml_click()dim i,j as integerfor i=-4 to 4print tab()for j=l to 2*()1print next jnext i【学生思考】:请同学们找出木图与上图相同之处和不同之处。【学生回答】:相同z处:图案结构相同,控制每行数字打卬的位置与外循环变量的关系一致,所以应是abs(i)+1不同之处:1、图案5是11行而图案6是9行所以根据上一题的方法推算出应是5-abs(i)2、图案5打卬的是“*”而图案6打印的是数字。师:回答很好,那么应该怎样填呢?学住露出闲难表情!师提示:你们观察每一行的数字少外循环变屋i z间的关系?学生讨论后发现应是i+5【归纳总结】:后而三题都属于垂肓对称的图形,外层循环变量一般采用相对于()对称的从一个负值变 化到对应的正值。后两题还要考虑j的终值与tab()函数的应用。总z,通过以上几个例题,我们得出结论,行数变化找i;毎行字符个数变化找j;每行字符 打印的起始位置用tab()函数控制。j终值的变化与tab()函数的使用都与变量i冇关系。【教后反思】:本堂课遵循从易到难,由浅到深的循序渐进的开放式课堂教学。我采用设问法、分析法、 演示法、探究法和讨论法等多种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论