第一篇:for循环语句教学反思1
For循环语句教学发思
发表人:陆京鹏
我在程序设计教学中的几点尝试与反思
如何解决程序设计本身枯燥、难懂,学生普遍不感兴趣这个问题,如何找到一种比较新颖的教学方式。我搜集了大量的资料,结合学生的实际情况,在组织有关循环程序设计的课堂教学时,做了以下几点积极的尝试,运用体悟教学法、问题教学法和条件迁移教学法在程序设计教学过程中进行了一些具体的运用,并对在程序设计过程中如何培养同学们的逻辑思维能力和抽象思维能力给予了适当的关注。
一、课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以学生的已有知识为基础,按照学生的认知规律,遵循先易后难、先具体后抽象的原则,通过观看、模仿、理解、总结、提高五个阶段进行教学。从知识的逻辑结构体系考察,这样安排无可非议,但从学生的认知规律考量,我认为把对学生开始不讲基本概念,而是和我一起做,在做中由同学们自己在直观上先去体悟这些概念,然后在时机成熟时再和同学们一起归纳总结。所以在组织本章课堂教学时,我采用了自然过渡、类比等方法,与前面所学习到的语句的运用简单的相比较,提出一些有趣的问题,让同学们去操作。
二、注意通过一系列问题的引动,来激发学生的学习主动性和加深对一些概念的理解。有一些概念之间的差别和程序的设计步骤如果只通过教师讲述,同学们在字面上可以接受,但在理解深度上往往难以达到令人满意的效果,如果能设计出一系列问题,让同学们在实践和解决问题的过程中自己去体验,情况将完全是另一个样子。
三、在教学过程中,注意通过在书本原有程序的基础上逐渐改变和增加条件的方法来提高同学的综合编程能力。例如,同学们在学习FOR循环时,书本内给出了一段求前100项自然数和的程序。这段程序在同学们弄懂FOR循环之后,理解起来是并不困难的,为了提高同学们的编程能力,我要求同学们对原程序做如下几种变化:
(1)求1~100中所有偶数的和
(2)计算并输出1-3+5-7+……-99+101的值
(3)在程序运行过程中任意输入一个自然数n,计算n的阶乘n!(n!= 1 × 2 × 3 …… × n),并将结果输出。
这里第一小题和书本原程序相比难度不大,只要将循环的跳数改为2即可,在模仿的前提下同学们就可以完成。第二小题难度相同,在编程过程中,需要做的变换是奇数变偶数。循环变量相似。第2小题在前面的基础上又增加了一点要求,即循环变量的终止值需用变量n来表示,二需要在程序的前面增加一条定义变量n的语句。这两点要求同学们能够把以前所学的知识综合起来运用,对刚刚学习编程的同学来说这还是有一定难度的,但通过练习同学们的综合编程能力可以得到训练提高。
四、程序设计教学中可以有意识的在以下几个方面给予比较多的关注:(1)对于一些比较简单的程序要求同学们直接写出结果;(2)对于有循环或判断结构的程序,要求同学们根据条件一步步向前走,把循环过程写下来;(3)故意给出一些错误的程序,给同学们设计一些陷阱,让同学们自己去发现;(4)让同学们把书本中程序编写错了的地方改正过来。
程序设计教学的主要目标是为了使同学们了解现代程序设计理论中的面向对象编程和结构化程序设计等基本思想,培养现代程序设计过程中所需要的一些基本能力。围绕着这个目标,在保护同学学习积极性的前提下,按照同学们的认知规律组织教学,一切可行的教学方法都可以在我们的教学过程中加以运用。
第二篇:循环语句教学反思 15
循环语句教学反思
本节在教材中的作用及地位:本节在教材中起着承上启下的作用。一方面把框图转化为语言,将循环结构在计算机上实现,另一方面为以后学习较复杂的流程图打下基础。
学生知识现状分析: 1.学生掌握了三种基本结构的框图; 2.学习了输入语句、输出语句、赋值语句和IF语句; 3.学生有一定的上机操作经验。教学目标分析:
知识目标:掌握循环语句的功能和格式,能由循环结构写出循环语句,并学会用计算机解决简单的实际问题。
能力目标:通过观察、转化、类比、联想等思想方法的运用,培养探索能力和逻辑思维能力,增强表达能力。
情感目标:在合作学习中形成团体精神,在观察发现中树立探索精神,在上机操作中增强实践意识,在编程成功后体验学习乐趣。循环语句是在学习完三种程序框图以后,又学习了输入输出语句、条件语句之后本节课主要学习对应于程序框图中的两种循环结构的两种循环语句(WHILE语句和DO语句),理解两种循环语句的格式及运行方式,清楚知道它们的区别与联系。回想着这节课的得失:
这节课由创设情境,设置一系列问题,引导学生思考、归纳、总结。学生根据教师提供的情境,主动探索知识,归纳知识。我认为我这点把我较好。这节课从学生已有的知识引入写出1+2+3„100的程序框图和语句,复习旧知识同时引入新课将对应的循环结构改写成循环语句,辨析两种循环结构的异同点,之后以当型循环为重点,分别从以下几个方面展开新课:改写当型循环的程序框图为对应的程序语言;对照特殊的循环语句与一般的循环语句,讲解循环语句的执行顺序;师生共同分析当型循环语句的特点;重点分析循环体追踪计数变量和累加变量的变化;对照直到型程序框图与直到型循环语句;最后比较直到型循环语句和当型循环语句的区别;第三个环节是练习巩固,第一个层次是辨析循环语句中初始值、条件、循环体对程序功能的影响,给出三组对照让学生辨析各自的功能,之后给出三组练习:分别是添加完整程序,看程序计算输出结果,看程序写出对应的程序框图。最后一个环节是作业,分别布置了以下几个层次的作业:给出两个程序辨认是否功能一样,对应练习给出每种一个作业题,布置了有点难度的思考题。我认为我的课堂程序把握得当,重点突出,学生该掌握的落实了。
循环结构是三种基本结构中最为复杂的一种,学生第一次接触循环结构的程序设计,程序的分析和设计都有一定难度。通过这节课的教学,发现了一些比较适用的方法,也看到了很多在教学过程中需要改进的方面。
一、应把讲台“让”给学生
不管怎样说,在这节课中我还是讲得太多了,并没有给充分的时间让学生站起来发表自己的看法,学生在教学中的主体地位还有待提高。应该尽可能多地让学生提出自己的想法,让他们相互探讨,教师在课堂上只需要做一个“主持人”,为其创造一种气氛,并维持一种高效的秩序。
二、启发式教学法在我们的学生中也是可行的
使用启发式教学最大的好处就是能调动学生的主观能动性,让学生通过自己的努力来探求新的知识,不光有知识的积累,还有学习能力的提高,也让学生在这个过程中体会到成功的乐趣,增强信心,培养兴趣。
总怀疑我们学生的能力,以为不管怎样“启”,他们也“发”不出来,但这次教学的实践证明,学生表现得非常活跃,教学效果也不错。
三、教学方法要灵活多样
启发式教学虽好,但在教学过程中用得太多了,整个教学过程显得有些单调。尽管也用了一点讨论法,但问题难度小了一些,学生没有充分地讨论起来。
如果在教学中能够根据教学内容和学生情况灵活地采用多种教学方法,肯定能让整个课堂活跃起来,使学生能完全融入到教学内容中,这还需要在今后的教学中去不断地尝试和研究。
第三篇:FOR循环语句教学设计
FOR循环语句教学设计
一、教材分析:使用教材:教育科学出版社出版的《算法与程序设计》(选修)。循环结构是程序设计的三种基本结构之一,是程序设计的基础。这节课是循环语句的第一部分内容,教材只是通过一个应用题引出了循环结构,并应用for循环结构实现了程序和编写,没有给出其语句格式和执行过程。我认为这样会导致一些学生进行简单模仿,而不是真正的掌握和理解。学生只有熟练掌握了FOR循环语句的语句格式,理解循环执行过程,才能在实际应用中游刃有余。因此本部分内容分二节课完成,这节课主要讲for循环语句的语句格式及其执行过程,下节课再讲实际应用。
二、学生分析:教学对象为高二的学生,在高一下学期数学课上学过程序设计三种方法及流程图的画法,但没有上机实践。通过前面的学习对VB程序设计已有了一定的认知并且刚学习了顺序结构和分支结构。
三、教学目标及确立依据:根据本节课教学内容以及学生的特点,结合学生现有知识水平,确定本节课教学目标如下:
1、知识目标::
1)掌握FOR循环语句的基本格式; 2)理解FOR循环语句的执行过程;
3)能根据实际问题确定程序中的循环变量、循环条件和循环体; 4)能用for循环结构编写简单的程序。
2、能力目标:培养学生分析问题,解决问题的能力。
3、情感目标:使学生积极参与,发挥他们的主动性,激发他们的求知欲。
四、教学重点、难点及确立依据: 学生只有掌握了for循环语句的语句格式,理解了其执行过程,才能在实际应用中得心应手。
教学重点:
1、掌握FOR循环语句的基本格式;
2、理解FOR循环语句的执行过程;
教学难点:根据实际问题,确定程序中的循环变量、循环条件和循环体。教材处理:教材上没有讲for循环语句格式,也没讲它的执行过程,直接讲了它的应用。若直接按教材上的来讲,学生不容易接受。很容易造成学生的简单模仿,而不是真正的掌握。所以先用一节课的时间讲for循环语句的语句格式,执行过程。下一节再讲其实际应用。
五、教学环境:多媒体教室(无网络)
六、教学过程:
自我评析:这是我评教学能手时设计的案例。在整个教学过程中,充分体现了学生的主体地位、以及对学生各种能力的培养。无论是引入课题还是对本节课的重点、难点,我都没有直接讲解,而是通过启发引导、提出问题、巩固练习等形式,充分调动学生的学习积极性,使他们参与到教学的整个过程,让学生在积极思考,积极探索中掌握新知识、消化本节课的重点、难点。从反馈情况来看,这是一节比较成功的课。当然也有不足之处,希望同行们批评指出。
第四篇:FORNEXT循环语句教学设计
FOR/NEXT循环语句教学设计
----建构主义指导下的教学设计案例
一、课前分析
教学内容:FOR/NEXT循环语句。
1、教材分析
1)教学内容和地位:程序设计是教学中的重点也是难点,循环结构是其中的一种设计结构,其作用是使一段程序反复执行。FOR/NEXT语句是循环运算的专家,在程序设计中频繁出现。本节课的学习,会使学生对算法有一个更深刻的理解,为实现独立编程起到了关键性作用。
2)教学重点与难点:本节课重点是掌握FOR/NEXT循环语句的格式,并能运用其来编制简单的小程序。难点是解决问题的方法和思路,要绘制好流程图,确定循环变量和循环体。因为用流程图描述算法,能够把解决问题的步骤清晰、直观地表示出来。
2、教学目标分析:
1)认知目标:通过FOR/NEXT语句的学习,写出简单的循环程序。2)能力目标:培养学生分析问题,解决问题的能力。3)情感目标:激发学生学习热情,培养学生学习的积极性。
二、教学过程
1、创设问题情境
师:同学们,请先看这个图形(画5个竖行排列的“*”),想想看用以前学过的程序设计语言怎样来编写它的程序呢?(本节程序均设置为单击命令按钮cmdstart运行即代码加在private sub cmdstart_click())
生(稍做思考,然后回答):使用PRINT语句 PRINT“*” PRINT“*” PRINT“*” PRINT“*” PRINT“*” 师:同学们做得很好,那么,我想画10行,100行,1000行“*”呢?难道就这样顺序写下去吗?这样编写是不是太繁琐了。如果能让计算机去完成这部分重复的内容,而我们只要告诉计算机重复操作的次数就可以了,这个愿望能否实现呢?能!通过我们今天学习的FOR/NEXT循环语句,就可以很容易的实现这个愿望。
[疑问是建构教学的起点。新课伊始,就提出一个真实的问题,力求创设一种教学情境,它可以激起学生的未知欲,有利于建立新的认识结构。]
2、给出程序,并通过流程图加以理解
师出示上题程序代码并通过流程图和卡通图片分析 程序代码: cls
forI=1to5step1 print”*” next
师:循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。但重复一般都是有条件的,即在满足FOR语句中的条件下才执行循环体,否则退出循环体。下面我们就来看一下FOR/NEXT语句的语句格式:
格式:FOR〈数值变量名〉=〈数学表达式1〉TO〈数学表达式2〉STEP〈数学表达式3〉 〈语句序列(循环体)〉 NEXT
说明:1)当步长为1时,STEP 1可省略不写;
2)语句序列中可以含有任意多条语句,也可无任何语句,称为空循环; 3)语句序列中可以含有循环结构;
4)有时需中途退出循环,这时用EXIT FOR命令。
3、设置“陷阱”,强调语句格式。
[师出示下列有错误的程序段。学生分成六组讨论,发现错误并纠正,然后每组完成一题。在讨论中,学生扮演了一个积极的参与者的角色自觉思考、积极发言,讲出自己的思考和结论,并与他人展开争辩,在自主探索中掌握知识要点,同时也可学习到他人的好的思维方式和学习方法。]
1)打印1~5这5个数clsfor n=1 to 5 step?1print n next[步长应为1]2)打印5~1这5个数clsfor n=5 to 1 print n next[步长为-1,不能省,应for n=5 to 1 step?1] 3)打印1~5这5个数clsfor 1 to 5 print “n” next[n加上引号,就变成了字符串,应把引号去掉]4)s=0 for x=1 to 10s=s+xif s>20 then exitend if print x next[退出FOR循环语句为EXITFOR]
5)打印1~5这5个数clsfor n=1 to 5 print n[FOR与NEXT必须成对出现,不能缺省] 6)打印1~5这5个数clsfor 1 to 5 print n next[循环变量n要赋值,for n=1 to 5]
4、阅读程序,为程序设计打基础
[教学中通过分析已有程序,慢慢渗透程序设计的思想方法,引导学生从模仿开始,由易到难、循序渐进,逐步过渡到独立进行程序设计。]
师:请同学们分析下列程序,绘制出流程图,说出程序功能。示题。
s=0 for x=1 to 100 s=s+x next prints功能:求1到100的和clsfor I=20 to 10 step?2 print Inext功能:输入出20,18,16,14,12,10六个数
(流程图略)
5、突破难点,尝试独立编程。
[尝试是开始某种新事物所必需的。任何事情的第一次都需要勇气,教师要鼓励学生大胆尝试编程,在一次次尝试中获取分析、解决问题的经验。注意选题的难度要适当]
师:刚才我们通过分析阅读已有程序,对循环结构又有了进一步理解,但我们不能仅局限在看懂、读懂程序上,我们的目的是要自己完成程序设计。首先要进行审题,认真分析题目需要解决什么问题,达到什么目的,然后从已知条件出发,分析经过哪些处理才能解决问题。再把分析出来的处理步骤用流程图表示出来,最后用VB语言描述出各个解题步骤,程序设计就不会让你束手无策。下面我们就参照例题,按照老师介绍的程序设计步骤,试着来自己来编制2个小程序。
[这两道题在循环体这一部分稍有难度,采取分组讨论,共同写流程图的方法,最后由学生独立写出程序代码,并上机调试]
1)编写程序,求100以内的奇数和clss=0 for n=1 to 100 step2 s=s+n print s next2)编写程序,y=x+2,当x=1,2,3,4,5时,y的值分别是多少。Clsfor x=1 to 5 y=x+2 print y next
5、归纳小结,反思提高
[学生总结本节课的FOR/NEXT语句的格式和功能,运用语句进行程序设计的步骤。唯有反思,才能控制思维操作,才能促进理解,提高自己的元认识水平,从而促进程序设计的算法形成和发展,实现良好的循环。]
总结略。
师:各门学科之间,各学科的内容之间都是有联系的,都不是孤立的,同学们要把知识动态化,多角度、多方式地去思考,掌握知识的内在联系,提高解题能力,开阔自己的视野。课后请同学们完成这样一个程序设计作业:(作业与数学知识联系密切)
作业:试编写程序,求10!。总评
本节课教师采用分析法、演示法、实验法、讨论法等多种教学方法,充分体现了学生是教学活动中的主体;而教师通过对学生参与学习的启发、调整、激励来体现自己的主导作用。学生在合作学习中目标明确、态度积极、气氛活跃,有效地培养了学生的分析问题、解决问题能力,体现了学习的主动性。不足之处是练习题略多了一点,时间有些紧张。
第五篇:DO循环语句教学设计
DO循环语句教学设计
【教材内容分析】
注重实例分析,将程序设计语言作为解决问题的工具,充分利用VB的特点,从实际需要出发,围绕实例进行DO循环语句教学并上机实践程序代码的编写。本节内容属于程序设计基础部分中循环结构内容的教学,循环结构是程序设计中的重点也是难点,仅靠教材上的一个例题是不能让学生真正掌握和理解的。实现循环结构的语句除了FOR循环语句之外,还应该给学生介绍DO循环语句,它可以实现未知循环次数的循环结构。【学生情况分析】
本模块教学对象为高一的学生,在学习本课之前,学生已经学习了FOR循环语句,理解了循环的含义,并且能够运用FOR循环语句实现累加计算。本阶段的学生求知欲望强烈,喜欢自己思考问题,但缺乏互相讨论的意识。由于“算法与程序设计”模块的特点,内容抽象难懂,表现形式枯燥,很容易造成书写程序的畏难心理,因此教师需要帮助学生克服这种心理障碍。【教学方法】
教法:实例分析、任务驱动 学法:自主探究、协作学习【教学资源】
教师用资源:教学演示文稿(PPT)学生用资源:“折纸游戏”源程序 【教学目标】 知识与技能:(1)能够按照格式要求正确书写DO循环语句。
(2)结合实际问题,能够理解Do While……Loop格式的执行过程。(3)能够说出FOR循环语句与DO循环语句的区别。过程与方法:
(1)通过实际问题分析,能够正确选择所应用的循环语句。
(2)根据问题需求,能够确定循环控制条件及循环内容,积累程序设计经验。情感态度与价值观:
(1)在“折纸超身高”和“植树问题”的实例分析中积极思考,形成主动探究新知的意识。
(2)增强DO语句在实际生活中的应用价值,提升主动学习程序设计的欲望。【教学重点】
DO循环语句的执行过程及适用条件。【教学难点】
结合实际问题,确定控制循环的条件及循环内容。【教学过程】
环节1:创设情景,趣味引出
(设计意图:在游戏中激发学生兴趣,找出纸的厚度的变化规律。)
教师:一张普通的办公用纸,它的厚度大约有0.05毫米,现在要将此纸对折5此,纸的厚度是多少?你有哪些计算方法? 学生:(1)0.05*25(2)对折一次,计算一次。这样每次对折的厚度是上一次对折厚度的2倍。教师:很好!用赋值语句来实现就是S=2*S。环节2:循序渐进,发现问题
(设计意图:巩固FOR循环语句的应用,在问题分析中引导学生发现FOR循环语句的不足,引出本课的主题。)
教师:经科学实验证明,由于纸的厚度和柔韧度的影响,一张纸最多只能对折7次。(来源于中央电视台的“走进科学”栏目)
因此,下面将要研究的问题是在理想的状态下。(提问)将此纸对折10次,纸的厚度是多少?
学生:(打开练习源程序,完善教师给出的不完整程序。)
教师:(再次提问)如果有一张无限大的纸,对折多少次后纸的厚度能够超过你的身高呢?
学生:(学生上机尝试修改程序)
教师:(提问完成的学生)你的计算结果是什么?你是如何修改程序的? 学生:我的身高是1.62米,需要对折15次。(展示其修改的程序)
For N=1 To 15
S=2*S
If S>1620 Then Print N,S
Next N 我在循环中加入了判断,如果纸的厚度超过了1.62米,则输出折纸次数和纸的厚度。
教师:(进一步提问)你是如何确定循环次数的呢?
学生:(边讲解边演示)先把终值稍微改大一些,比如12,运行程序发现没有输出结果,我觉得可能是估算次数太小了,于是我又把终值设为20,运行程序发现输出了多组数据,从这些数中我发现应该是折15次。
教师:从这位同学的尝试中可以看出,要想得到正确结果,需要不断测试终值。终值小了,没有输出结果;终值大了,就会有多余的数据输出。因此要实现次数未知的循环,FOR语句是比较困难的。为了解决这个问题,今天同学们将学习一种新的语句——DO循环语句。(教师板书课题)环节3:讲解新知,初试身手
(设计意图:讲授DO循环语句的相关知识,利用“折纸计算”初步体会DO循环语句的实际应用。)
教师:首先我们来了解DO语句的格式。(教师板书)(结合流程图讲解DO语句的执行过程)
按照程序自顶向下执行的原则,当程序遇到DO语句时,首先判断WHILE后面的条件,如果条件满足,将执行循环体语句,之后再判断条件是否满足,从而形成重复的过程,直到条件不满足时结束循环。
学习了DO语句的基本知识,该语句在“折纸计算”问题中如何实现呢?(课件展示计算过程,如右图。)请同学们尝试将流程图用程序 语言实现。
学生:(学生上机实践)
教师:(巡视学生,对个别人进行指导)
已经有同学完成了程序代码的书写,他发现有多组数据输出,我们来帮他看看问题出在哪里?
(利用电子教室软件转播一位学生的程序代码)Do While S<=1600
N=N+1
S=2*S
Print N,S Loop 学生:(互相讨论)
输出语句应该放在Loop的后面。教师:(进一步追问)为什么呢?
学生:因为输出语句不属于重复执行的部分。
教师:很好!请大家注意这个问题。下面,程序仍有问题的同学继续调试;已完成任务的同学,请尝试一下计算至少对折多少次后纸的厚度能够超过珠穆朗玛峰的高度(8844米)。
学生:(结合自己完成任务的进度有选择的上机实践)
教师:(阶段小结)通过实践发现,FOR语句实现次数未知的循环时需要估算循环次数,并且在循环体中需要加入条件语句进行判断;而用DO语句时则不必考虑循环次数的限制。因此,在实现次数未知的循环时,利用DO语句是比较理想的。
环节4:再接再厉,融会贯通
(设计意图:通过阅读两段相近的程序,体会DO语句的执行过程,并强调避免死循环的重要性。)
教师:(课件展示练习内容,如右图。)阅读程序1,思考其执行结果是什么?
学生:(思考后回答)a和b的初值分别是50和15,此时a的值大于10,执行一次循环,即a=35;此时a的值依然大于10,再执行一次循环,a=20;此时a的值依然大于10,再执行一次循环,a=5;此时a的值小于10,循环结束。因此结果是:35、20、5。
教师:阅读程序2,思考其执行结果是什么?
学生:(思考后回答)结果是35、15、35、15、……。因为此时a的值是50,程序中没有修改a的值,因此a>10永远成立,循环将会永远执行下去。教师:(演示程序)我们上机运行一下这个程序。这种现象我们称为“死循环”,即程序会无休止的运行,此时可以利用“Ctrl+Break”组合键终止程序运行。由此可以看出用DO语句实现循环时,为了保证循环能够正常退出,循环体中必须有改变条件变量值的语句,避免出现“死循环”。环节 5:巩固知识,拓展提高
(设计意图:巩固DO循环语句的使用,提高分析问题、书写程序代码的能力。)教师:(问题描述)
陈婷今年17岁,为了支持环保,她在今年生日的这一天种了1棵树。她有一个美好的愿望,那就是从明年开始她每年比前一年多种一棵树。这样下去,到多少岁时才能累计种到活超过100棵? 请同学们分组讨论可以有哪些实现方案。学生:(分组讨论,上机实践。)(成果展示交流)
学生甲:(展示其实现的程序)
Dim tree As Integer
Dim n As Integer
Dim t As Integer
tree = 1
n = 17
t = 1
Do While tree < 100
n = n + 1
t = t + 1
tree = tree + t
Loop Print “到”;n;”岁时累计种到”;tree;”棵” 学生甲讲解:
我用tree表示种树总和、n表示年龄、t表示每年种的树,在总和不超过100的条件下,年龄要+1,计算当前这一年要种的树,还要计算出当前的种树总和。
学生乙:(展示其实现的程序)Dim tree As Integer Dim n As Integer tree = 0 n = 0 Do While tree < 100
n = n + 1
tree = tree + n Loop Print “到”;n+17;”岁时累计种到”;tree;”棵” 学生乙讲解:
在循环中我没有计算年龄的变化,因为n既可以表示每年种树,也可以表示种了多少年,因此最终的年龄应该是n+17。学生丙:(展示其实现的程序)
Dim a As Integer Dim t As Integer a = 17 t = 1 Do While t < 100 a = a + 1
t = t + a-16 Loop Print “到”;a;”岁时累计种到”;t;”棵” 学生丙讲解:
我用a表示年龄,用t表示总棵数。我发现每年所种树木=年龄-16,因此计算总棵数就可以用t=t+a-16。
教师:看到同学们用多种方法完成了问题求解,老师很高兴。同学们的方法都有自己独到的见解,这说明大家在程序设计的道路上又迈进了一大步。环节6:自我考察,课堂反馈
(设计意图:通过完成教师给定的练习题,重点考察学生对DO循环语句执行过程及“死循环”的理解,)
学生:(完成教师指定的练习题目,并将答案反馈给老师。)
1.以下程序的运行结果()
Dim a As Integer
a=1
Do While a<=10 a=a+2 Loop Print a;
A、10
B、11
2.以下哪种情况会出现“死循环”(A、x=0 s=0
Do While s<=20
s=s+x
Loop Print x B、a=5
b=10
Do While a
a=a+1)
b=b-1
Loop
Print a,b 教师:(根据学生的反馈总结)
通过同学们给老师反馈回来的答案看,大家对DO循环语句的执行过程基本上没有太大问题,正确答案是B。第二个练习中的A选项中虽然循环体中的s=s+x貌似对循环条件变量s的值进行了修改,但x的值始终是0,因此s的值并没有变化。
环节7:总结提升,结束本课
(设计意图:总结在实际问题中循环结构的实现过程,强调DO语句在实际生活中的应用。)
教师:到目前为止,同学们已经学习了两种循环语句FOR和DO,以后在遇到循环问题时,该如何运用这两个语句呢?我们需要分析以下几点(课件展示内容)1.
循环次数:
次数已知——一般采用FOR语句实现 次数未知——一般采用DO语句实现 2.
进行循环的条件: FOR语句——由循环终值控制
DO语句——循环体中必须有改变循环条件的语句
3.循环内容:需要重复执行的语句。
在日常生活中,次数未知的循环问题还有很多,比如:现在的音乐播放器都有循环播放的功能,当点击“停止”时,循环结束;为保证信息安全,现在的手机卡密码都有输入次数的限制,当连续输入3次错误的密码时,SIM卡将被锁。这些都可以用今天学习的知识解决。
(强调)程序为生活服务,希望同学们尝试将更多的程序应用到日常生活中。【板书设计】 DO循环语句 格式:
Do While 条件 循环体 Loop 【教学反思】 1.以问题为主线。
本课充分体现了新课程的理念,在问题解决中学习新知,在问题中提升能力。为引起学生兴趣,本课中所选实例均来自于生活,使学生能够意识到所学知识的实用价值。
2.情景引入,恰到好处。
本课从折纸游戏出发,调动了学生学习的积极性。通过“折纸游戏”复习巩固了FOR循环语句的知识,通过学生自己尝试“折纸超身高”的计算,发现FOR语句在实现次数未知循环上的局限性,由此引出了学习DO循环语句的必要性。3.恰当引导,发散学生思维。
“算法与程序设计”涉及的知识范围非常广泛,其中尤其与数学知识联系紧密。本课抓住了这一学科特点,在讲授DO语句的相关知识后,引导学生完成“折纸超身高”的计算,教给学生应用DO语句解决问题的思想。巩固知识之后,由学生自主完成“植树问题”的求解,通过实际上课发现学生想到了多种解决问题的方法。由此可见,发散学生思维,可以收到意想不到的效果。4.不足之处
在学生进行折纸计算的过程中,我主要采用的是“半成品”教学法,即给出部分程序代码,由学生来填空。这虽然降低了难度,但对于优秀生来讲无疑出现了“吃不饱”的想象,因此要考虑到对学生的分层教学。