公务员期刊网 精选范文 循环小数教学设计范文

循环小数教学设计精选(九篇)

循环小数教学设计

第1篇:循环小数教学设计范文

1“整合”能有效检验算法的正确性与合理性

算法初步中赋值语句、输入、输出语句、条件语句、循环语句的教学,必须结合实例进行编程来说明各语句的作用,实践性、操作性强. 如果只是在黑板上编程教学,那无异是 “纸上谈兵”,学生体验不深,而且所编的程序有时自认为是正确的,但往往因为一个小的疏忽,而在计算机上不能运行通过或结果错误. 例如我在讲解循环语句时,在课堂练习中请学生先做了这样一道练习题,设计计算1×3×5×7×…×13的一个算法程序.对这道题大部分同学都能比较顺利地写出程序1:

程序1接着笔者提出如下问题,这个程序执行完共循环了多少次?能否修改程序使循环次数减少?学生A回答一共循环了7次,若将i=1改为i=3,则循环次数减少1次. 我接着追问,若交换s=s*i,i=i+2的先后顺序,输出的结果s的值是否变化?对于这个问题,学生中出现了不同的结论,经讨论后学生B举手回答,若交换s=s*i,i=i+2的先后顺序,输出的结果s的值将会改变,因为交换后当循环变量i=11时,循环一次后i=13,s的值已为1×3×5×7×…×13,由于此时i=13满足循环条件,再循环一次i=15,s的值已变为1×3×5×7×…×13×15. 这时我再在电脑上当场执行这两段程序,使学生信服地看到s=s*i,i=i+2的先后顺序不能随意交换. 在讲评完这道题后,我又给出了如下一道变式题让学生练习,设计求满足条件1×3×5×7×…>135135的最小整数的一个算法程序. 请学生思考这道题与刚才这道题有何不同?经思考后学生C回答,一是前一道题已知循环次数,而这道题循环次数未知. 如何设计算法程序?学生D举手回答他设计的程序2:

程序2大多数同学同意这个程序设计,这个程序究竟是否正确?我们将此程序输入计算机执行后得i的值是17,若交换s=s*i,i=i+2的先后顺序,再将程序输入计算机执行后得i的值为15. 显然由前一题1×3×5×7×…×13=135135可知,15是使1×3×5×7×…>135135成立的最小整数. 这道题由于数字较大不易手工检验,所以如果没有计算机即时执行程序检验较难发现错误. 通过这两道题的练习,引导学生总结出用循环语句编写程序时,循环体内的最后一条语句一般应是改变循环变量的值.

2“整合”能有效促进学生数学机械化思想的养成

现代数学机械化思想的核心就是算法,即把现实问题数学化,数学问题代数化,然后构造算法,通过计算机来试探、尝试和证明,从而发现、证明规律. 在算法初步的教学中,我们应通过案例教学法初步让学生学会用计算机解决问题的基本思想,即首先找到解决问题的算法(可用计算机实现),然后通过编写程序借助计算机的高速运算使问题快速获解. 如设计一个程序,实现:从键盘上输入一个不小于2的正整数n,判断n是否为质数,并在屏幕上显示“是质数”或“不是质数”.根据质数的定义“除了n=input(“请输入不小于2的正整数n的值:”);

程序3能被1和它本身整除之外不能再被其它整数整除的数叫质数”,故这个问题的算法思想是:由键盘任意输入一个不小于2的正整数n,设置循环变量i的初值为2,循环条件为n是否不能被i整除,若是循环变量增加1,继续检验,直到n能被i整除为止,结束循环. 然后判断n与i是否相等,若相等说明n只能被1和它本身整除是质数,若不等则说明n不是质数. 程序如程序3:(用Scilab-533语言编写)

然后上机执行程序,检验所编程序是否正确. 只有让学生经历设计算法编写程序上机调试这样的实际体验,才能逐步建立起用算法语句编程解决实际问题的思维方法和数学机械化思想的养成.

3“整合”能有效提高学生学习算法的积极性

在算法初步的教学过程中,应注重将算法融入到高中数学课程的相关内容中,让学生体验用算法在解决数学实际问题中的作用和信息技术与算法整合的优越性,提高他们学习算法的兴趣和积极性. 例如学生在高中一年级时学过用二分法求方程的近似解,当初利用笔算或计算器计算做这类题都比较繁琐,现在利用算法语句编成程序在计算机上执行,则方便快捷. 也可选取一些用常规方法解决比较困难的数学问题,通过编程后在计算机上运行直接得到结果,学生有了在计算机实现算法的体验,会增强对算法的感性认识,也会增强对算法的兴趣,真正理解算法的实际应用. 例如我在算法案例教学中,曾给学生这样一个数学问题:“一个人欲登上第10级楼梯,如果规定每步只能跨上一级或两级,则不同的走法共有多少种?”这个问题的一种解法是用分类计数原理,第一类:没有一步两级的,则只有一种走法;第二类:恰有一步是走两级的,则走完10级要走9步,9步中选一步是走两级的,有C19=9种可能走法;第三类:恰有两步是一步走两级的,则走完10级要走8步,8步中选两步是一步走两级的,有C28=28种可能走法;依次类推,共有1+C19+C28+C37+C46+C55=89种走法. 但这种解法不能算是一个好的算法,因为这种算法不便于编程在计算机上运行. 要使这个问题能够通过编写程序让计算机运行解决,前提必须要寻找到一个好的算法. 用计算机解决问题的核心思想是通过循环语句让计算机反复运行,借助计算机的高速运算,达到快速解决问题的目的. 为了要使用循环语句,通常利用递推思想建立起一个递推关系式. 本题的具体算法思想如下:假设走完这10级楼梯有an种走法,这些走法可按第一步来分类,第一类:第一步是一步一级,则余下的n-1级有an-1种走法;第二类:第一步是一步两级,则余下的n-2级有an-2种走法,所以an=an-1+an-2,又易得a1=1,a2=2. 据此递推公式和初始值可编写程序4.a=1;

程序4此程序输入计算机运行后得c=89. 将此程序稍作修改,第一行添加语句“n=input(“请输入登上楼梯的级数n=”);”循环条件改为i

第2篇:循环小数教学设计范文

关键词:错误 预设 生成 精彩

循环小数是五年级数学上册的教学内容,是在学生学习了小数除法的意义、小数除法的计算及商的近似值的基础上进行教学的,是一个新的知识点。这部分内容概念较多,又比较抽象,是教学的一个难点。新《课标》指出:“学生的学习是应当是一个生动活泼的、主动的和富有个性的过程,应有足够的时间与空间经历观察、猜测、计算、推理、验证等活动过程,从而形成知识与技能、方法与过程、情感态度及价值观的三维目标。”所以,在本节的课堂教学中我始终把学习与练习相结合,让学生边计算边观察边思考,去发现计算题的规律,并运用规律来指导自己更简洁地进行计算,学生在观察、比较、猜测、验证等交流讨论中感知循环的意思,从而更好的理解循环小数的特点。这种教学思路贯穿了我的整个教学设计。在上课之前,我精心备了课,原以为按自己的教学设计进行教学,这节课效果一定很好。但课堂上出现的一些情况有的完全出乎我的预料,让我有点措手不及。由于老师没有灵动的演绎,让学生生成的宝贵资源白白浪费,与一节精彩的课堂失之交臂,留下很多遗憾。

遗憾一:应该如何对待错误?

这节课让我想到了教育家汪广仁的一句话:“美丽的错误。”的确,有时错误是一种美丽,可遇而不可求。

在教学例题 7.3÷2.2中,黑板上板演的同学在计算时出现了错误,而当时时间已不允许再让别的同学上去重新做。这时,我采取的方法是问全班同学,做得对吗?(不对)哪里错了?(是把13-6算成了8),简单评析了这个同学出错的原因,就直接在8这里打了个×,说了句这个数算错后面的就全错,就弃这题而不顾。然后将收集的另外两个同学计算的正确答案展示出来,比较题的异同点。

当时也只想到这题没有改的原因之一在于老师通过其他两个同学的作业已评讲这题,错误的同学也应该知道怎么改正;原因之二想到这节课内容比较多,重新抽同学做会占用时间,怕这节课的任务完成不了,因此,老师小结后就直接做下一题。

课后反思,学生出错了老师应怎么处理?想想,确实,当时自己的处理太过简单化,这是一个多好的资源!其一,教材编辑这一题的目的除了要发现商和余数的变化关系外,还要思考如何用这种关系来指导自己的计算,也就是除到余数在重复出现时,就要想它相应的商也会重复出现,除到这里就可以不再往下除,这样做就比较简洁。老师只是在展示平台上比较了算法,学生有一些印象,但可能还有一些同学不明白。如果老师这时能及时改正错题,问:同学们,我们一起来帮助这个同学改正这题好吗?来,一起算,学生说,教师写,学生就会在说、听、看的过程中更能体会出余数与商的关系,更能明白不再继续往下除的原因,从而自觉地进行简洁计算。其二,教师要利用这题的商与其他小数一起发现循环小数的特点,这道题没有改过来,黑板上就没有写商,不利于学生的观察。其三,这题的商没有写出来,对于怎样写循环小数的商学生还比较模糊,如果老师及时处理,问:我们发现这题的商的小数部分从第二位开始就不断重复出来1818,写得完吗?那怎么写这个数呢?学生可能会这么写3.318……,问:这样写能清楚看出是18在循环吗?(不会),那想想我们在发现图形规律时如只有一组图形你会发现规律吗?(不会)那怎么办?(多写一个18,再打……)这样处理,就再次巩固了这个知识点,突出重点,突破难点了,就不会有学生在后面练习中写商用0.108……的错误了。做为老师,没有很好的利用错误的资源,这是一种遗憾。

遗憾二:对于学生已会的知识,教师该如何处理?

教师备课提问及预设:同学们发现这道题除不完,也就是说它的商的小数位数有多少个3?(无数个)那“2÷6=?”它的商这个小数该怎么写呢?抽生回答,0.333……省略号表示什么意思?能不能不写省略号?为什么?

设计意图:学生第一次接触循环小数,还不知道怎么来表示?通过观察计算题的特点,知道商的小数位数中的一个数字在不断地重复出现,根据学生的语文知识及开课时图形无限时用省略号的展现,引导学生自己回答在重复数字后面打省略号可表示一个循环小数,为后面的知识打下基础。

课堂实录:师:同学们发现这道题除不完,也就是说它的商的小数位数有多少个3?

生:(无数个)

师:那“2÷6=?”它的商这个小数该怎么写呢?

生:写成0.3在3的头上打小圆点。

学生的回答让我无所适从,我没想过学生会用循环节的形式表示,因为那是这节课学生认识了循环小数、循环节、用循环节表示后才知道的知识。怎么处理?当时,我就问了学生,在3头上打小圆点是什么意思?生答:循环节。为什么要打点?表示什么?学生回答后,教师简单地对他进行了表扬,说了句,是不是这样呢?我们继续学习后再来看。当时我设想,现在学生用循环节的形式表示循环小数,在他们认识了循环节和用循环节来简写循环小数后再返过来看这一题,看刚才他的写法,要学生明白为什么可以这样表示,知其然要知其所以然。同时,让学生把这个循环小数写成一般表示形式,进一步让学生理解循环节的含义和用循环节表示要比一般形式要简洁些。可当上到循环节这部分内容时却把这个反馈给忘了,显得这节内容不完整,留下遗憾。

遗憾三:如何利用学生生成的资源?

学生生成的资源教师没有充分利用,精彩的瞬间在老师不当的处理中消逝。在处理试一试的计算时,板演的学生写商时写成了0.108……,师问:同意吗?有无异议?一个学生自主地走到讲台上,指着商说,在108头上打小圆点。师:为什么?生:表示后面有很多108在重复出现。同学这样说,表示他已经明白用循环节表示,而且也知道数字上打点表示的意思。但在学生错误的板书上再这样写就不对了,当时,我只是说这里有了省略号表示后面有无数个108在重复出现,所以就不在数字上打点,老师这时直接就把数字上的小圆点擦掉了,再抽别的同学来改商的写法。事后反思,觉得这节的处理不恰当,的确,老师的处理过于简单,当时学生已经知道商可以用两种方式表示,即后面打省略号和用循环节表示,但把这两种表示方法写在一起就不恰当,老师擦掉数字上的小圆点后,在商的下面再写一个“=”,后面用学生说的循环节表示出来,这样学生就能清楚地看出这两种表示方法的异同点,使全班学生对循环节表示有初步的认识,为后面自学循环节这部分内容做一些铺垫。其二,学生对108用了3个小圆点表示,可后面的学习中学生要知道循环节是3个或3个以上的可只打前后数字各2个小圆点,那样更简洁些。如果教师当时能利用学生这种资源进行恰当地处理,让学生通过课前自学与课中学习后知识点的对比,那样对于学习内容就会理解更好,掌握更牢固。

第3篇:循环小数教学设计范文

关键词 小学数学 复习 数学能力 思维品质

中图分类号:G623.5 文献标识码:A 文章编号:1002-7661(2017)05-0050-03

小学数学复习课在小学数学教学中占有很重要的地位。据统计,复习课至少占教学课时数的三分之一。它不同于新授课和练习课,新授课有主题和基本结构存在,能有重难点让教师把握,能让学生有明显的从“不会”到“会”的变化;练习课紧跟在新授课后面,是对新知的巩固和突破,它只是新授课和复习课的一个组成部分;而复习课内在的逻辑结构需要教师自己去发现,学生也只能是经历从“本来就会”到“会”的过程。也正因为如此,教师在组织复习课教学时,大多是对知识进行简单重复、罗列,并没有在学生已有的知识基础上进行高层次的在学习,复习课也往往成了简单的炒冷饭,或者是复习时要做到面面俱到而导致时间上的不允许,使学生真正需要的薄弱知识难以得到充分展开,无法在知识的动态变化中,掌握知识的本质,建构知识的系统。如何在复习课的熟练与深刻之间回首,实现真正的有效教学,笔者认为需要关注以下几点。

一、沟通联系,关注学生认知结构的系统化

复习课的知识点学生本来就会,教师在复习的时候不应着眼于学生会不会做题,计算结果是否正确,而要努力使学生弄清基本概念,帮助学生整理所学知识,理清知识的来龙去脉,构建知识体系,做到“竖成线、横成片”,深刻理解算理,指导其正确计算。如:教学《小数除法的复习》时,课始,老师可以先让学生浏览书本,翻阅、回顾知识点,此时学生回忆的知识仅仅是几个课本上的课题而已;课中,通过前测再现典型题型,让学生自己分析这些典型题型,层层剥开显现小数除法计算的潜在方法,如“被除数整数部分不够除,要商0占位”、“商的小数点要和被除数的小数点对齐”等等,并在理练过程中将小数除法知识系统地进行了梳理,从而形成一个知识网络,同时学生也在不知不觉中经历了知识由薄到厚的过程。最后,教师通过小数除以小数、小数除以整数、整数除以整数各知识间的转化,使孩子顿悟:只要将除数转化成整数,除数是小数的除法和除数是整数的除法计算方法是一样的;更深一层,只要注意被除数整数部分不够除商0和除不尽得添0继续除以外,其他的步骤小数除法和整数除法也无一差别,就连商的小数点要和被除数的小数点对齐这个重点也是为了要相同数位对齐而已。这样,学生就能从整体上、从本质上理解和掌握小数除法的基本法则,从而完善其认知结构。

二、错例评析,关注学生数学知识的查漏补缺

教师除了在新授课教学时细心搜集错例外,还应该在课前做好前测,并针对学生的实际练习情况有所取舍地设计教学过程。另外教师还可以针对学生交流时出现的问题或者教学重点、难点进行错例评析设计,通过判断、辨析、比较、改错为主的学习方法,澄清学生的错误认识,从而起到对知识的查漏补缺。这是复习课中最基本的练习,体现了练习的层次。

例如:在教学《小数除法的复习》时,教师设计了以下练习:

第(1)题 第(2)题

第一题的设计可谓用心良苦,首先得注意小数除以小数转化成小数除以整数时,被除数和除数得扩大相同的倍数,若被除数数位不够得在末尾添0补足;其次,当被除数整数部分不够除时,得在整数部分添0占位;第三,若除的过程中出现余数得在后面添0继续除;第四,这题的主要错误点就是被除数不够除,末尾添0时得先添小数点再除,这一点是学生练习时错误率达到了50%左右,学生往往忽视了这一点,起到了查漏补缺之作用。而第二题的练习并非错例,但过于繁琐,教师在前测时发现学生在竖式计算时很难以最少的步骤发现其得数是一个循环小数,因此教师的评析重点就在于“你在哪一步就能发现它的得数是一个循环小数?”“你觉得这个竖式计算该怎么做才合理?”,做到了学生数学知识习得的查漏补缺作用。

三、巩固旧知,关注学生数学能力的延续发展

《数学课程标准》指出:在数与代数的教学中,应帮助学生建立数感和符号意识,发展运算能力,初步形成模型思想,新课教学时需要建立,复习教学时就需要强化,教师在复习时应设计相应的练习予以关注。

如:在教学《数的运算复习整理》时,教师可以设计以下这样的教学。

第一环节:大小比较,发展数感。

你能将这四个算式按照得数的大小排列在数轴上吗?只要填序号。

这样的复习题结合小数、分数的乘、除法运算复习,将“运算结果的估计”和“比较数的相对大小”融入其中,对学生数感以及运算能力的培养无疑是十分有意义的。

又如:在教学《数的运算复习整理》的简便计算时,有一位教师先出示了几个算式让学生进行了简算,然后再给学生出示了下面这样一张表格。

第一栏中教师让学生独立举例,可以是刚刚练习时做过的例子,也可以是再举例;第二谑翘钫庋计算的依据(可以用语言叙述,也可以直接填定律);第三栏是填出运算定律的字母表示式;第四栏是填做题时容易做错的地方。除此以外,教师还让学生自行选择,可以是选择自己感兴趣的几个定律,也能是全部完成。

经历这个过程使学生从具体情境中归纳、整理,体会符号化的优越性,同样,这样的内容也有助于学生模型思想的进一步形成。

四、着眼发展,关注学生思维品质的有效提升

如果仅仅是通过回忆解法、模仿例题等非思维性活动就能解决的练习,其作用除熟练技能以外,是不能发展学生的思维的。因此,教师在复习时需要设计一些让学生通过观察、思考、猜测、交流、推理等富有思维成分的活动才能解决的任务。

例如:教学《小数除法的复习》时,教师在课最后设计了这样一题:请你在0.935989中点上循环点,使得到的小数最大。

这是“小数除法”复习之后的一个提高题,从这道题的功能来看,首先,这是一个低起点、高落点的练习,每个学生都能写出至少一个符合要求的循环小数;再者,不同的学生在面对这个练习时,经历的思维过程是不同的,每个人的思维所达到的高度也是不一样的,但是,相同的是,每个学生在思考的过程中都会有那种使所得到的循环小数逐渐逼近的,尽可能大的体会;再从这题的反馈来看,它无疑点燃了火线,使学生的思维碰撞非常激烈。

其中出现了以下几种不同的答案:(1)0.935989,循环节为935989;(2)0.935989,循环节为989;(3)0.935989,循环节为89;(4)0.935989,循环节为9。

比较这3个答案,4人小组展开讨论,要使写出的循环小数尽可能大,你有什么好的想法?反馈的层次有以下几种:(1)要使循环小数尽可能大,就得让0.93598接下去的数位上的数尽可能大;(2)第一种、第二种和第四种方法接下去的数位上都是9,所以要看更小的数位,所以是第四种方法更准确;(3)确定一个循环小数大小的并不是循环节的长短,而是循环节中的数的大小。可见,这个题目所涵盖的知识是比较丰富的。因此,练习的设计需要教师对问题有深刻的认识,这样,才能更好地挖掘其隐含的内涵,以充分体现数学思维的深刻性。

五、解决问题,关注学生综合应用能力的提升

数学应用能力是指学生在面临数学问题时能有效地运用所学的数学知识,进行科学迅速地计算、推理、假设和思考,进而解决数学问题的能力.当前数学新课程改革把数学教学的关注点投向了对数学能力特别是数学应用能力的培养.而复习课更应该是数学应用能力培养的最好n型。

如:在教学《小数除法的复习》时,教师设计了进行了如下教学:

出示:苹果1.7千克9.86元 樱桃 0.5千克8.45元

香蕉6.1千克共51.85元 橘子2.3千克13.57元

请你观察这些水果的价格,并根据它们的单价从高到低排列在下面的横线上。

反馈时出现了以下几种情况:第一种学生将所有水果的单价按照总价除以数量的方法进行了计算并将其排列在横线上。当然这种孩子的时间花的比较多,教师首先得肯定评价学生的计算能力;第二种孩子计算了苹果、橘子和香蕉的价格,这些孩子也洋洋得意,毕竟比起刚才的孩子,他们有所进步,他们不算樱桃的理由是算都行,不需要这么麻烦。此时教师应该肯定学生在具体情况可以选用口算或笔算方法;第三种孩子告诉老师只要计算苹果和橘子就可以了,樱桃可以采用口算的方法,香蕉可以估算大约是8元,而其他两样水果的估算都在6元左右,所以香蕉是第二贵的水果,最后的两种水果需要进行笔算。这样的反馈后,教师让学生分析三位同学的发言,思考“你有什么想法?”使学生明白:不同的实际得选择不同的计算方法;各种计算方法本身的优缺点。从而达到学生数学综合应用能力的提高。

总之,相信教师如果关注以上几点,立足激发学生内在的“需要”,做到沟通知识系统化、辨析难点清晰化、提升能力个性化,就能真正实现复习课的“温故知新,完善认知结构,发展数学能力”功能,复习课也就真正实现了技能的熟练与数学知识、数学思维能力的深刻性。

第4篇:循环小数教学设计范文

关键词:C语言;程序设计;教学;循环结构;课堂用例

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)35-0163-03

Research on Cycle Structure of Teaching Cases in The Course of C Language Programming for Non-computer Major

XIA Yun, CHEN Chuan-ming, YU Qing-ying

(School of Mathematics and Computer Science, Anhui Normal University, Wuhu 241003, China)

Abstract: C language programming is a common course in some universities for the students of non-computer science and engineering major, and in the teaching there are many problems such as the students have little interest and no goal in learning, and they are lack of programming thinking, etc. It mainly discusses the teaching design and implementation of teaching cases about cycle structure in this paper, which can help the students to grasp the basic knowledge about cycle structure, and can solve problems by using the knowledge of cycle structure. Teaching practice proves that the design of teaching cases can stimulate the students’ study interest of learning programming and can help the students quickly grasp the basic knowledge and programming skills of cycle structure.

Key words: C language; programming; teaching; cycle structure; teaching use cases

1 背景

《C语言程序设计》课程作为高校大一学生的公共基础课开设,希望通过这门课程的学习,培养学生的计算思维能力,激发学生对于程序设计语言的兴趣,让学生掌握一些基本的算法,会使用C语言编写程序解决问题。

在实际教学过程中,随着教学内容的不断深入,非计算机专业的学生由于时间投入不够、重视程度不高等原因,会觉得内容越来越难,从而丧失学习的兴趣,导致学习困难。因此,教学中有必要通过适当的教学手段来吸引学生的学习注意力,激发学生的兴趣。本文主要针对《C语言程序设计》中循环结构程序设计的教学用例进行探讨,设计用例模拟实际生活场景,吸引学生的注意力。

2 循环结构教学用例的设计

作者在《C语言程序设计》公共基础课的实际教学过程中,发现在循环结构教学中如果仅仅将普通计算题作为例题讲解,学生的兴趣一般不大;若使用现实生活中的一些例子,学生的学习兴趣会有很大的提高。在教学中,作者使用程序模拟孩子做错题后被妈妈罚做题的生活例子,引起学生浓厚的好奇心和学习兴趣。

2.1 循环次数确定的例题设计

在学习循环结构程序设计时,循环次数确定的程序相对来说比较容易掌握。在教学时,作者先介绍while语句的语法结构,再以while语句进行编程讲解。接着介绍for语句的语法结构,最后用for语句对原先的while语句程序进行替换。

问题场景1:一个孩子学习了整数加减运算,但是作业的错误率比较高,因此,妈妈决定让他进行20题的专项练习,妈妈报题,孩子答题,妈妈再对孩子的答题情况进行批改。请用程序模拟孩子做20题,及对他的答题情况进行批改这个事件。

提出这个问题后,教师在课堂中积极引导学生思考如下问题,问题1:对于单独一个题目,如何解决妈妈报题、孩子答题、妈妈批改这样的过程;问题2:问题1描述过程中的出题、答题、批改,需要重复20次,这如何解决。教师可以在教学过程中积极引导学生使用所学习的while语句先解决问题2,给出如下所示的算法设计。

Step 1: 设置循环计数器cnt=1;

Step 2: 当cnt

Step 2.1: 妈妈出题;

Step 2.2: 孩子答题;

Step 2.3: 妈妈批改;

Step 2.4: 循环计数器cnt增1。

再用while语句来表示该算法,如图1所示。

给出图1所示的算法后,教师在课堂上需要引导学生思考前文中所提问题1的解决方法,即如何用程序设计语言实现妈报题、孩子答题、妈妈批改这样的操作。

教师可以引导学生去思考“妈妈出题”这个操作,实际上就是获取题目,也就是题目的输入问题,这在C语言中可以用输入函数scanf()完成,让学生观察输入题目的格式,从而得出关于题目描述需要两个int型变量czs1和czs2及其一个char型变量ysf,分别表示两个运算数和一个运算符,相应得出如下语句:scanf("%d%c%d",&czs1,&ysf,&czs2);。

教师再引导学生思考“孩子答题”这个操作,是否类似于刚才的“妈妈出题”操作,实际上就是获取孩子的答案,可以很快的得出如下结论:孩子的答案保存于int型变量reply中,实现的语句是scanf("%d",&reply);。

最后“妈妈批改”这个操作实际上就是将题目的正确答案与孩子的答案作比较,若相同则输出“正确”,否则输出“错误”。正确答案用int型变量key来表示,则批改操作可以用如下语句实现:

if (key==reply)

printf("正确\n");

else

printf("错误\n");。

此时,让学生思考:上述if-else语句执行前,变量key如何赋值?

此例题可以让学生培养循环次数确定时的算法设计,熟悉循环结构语句,练习格式化输入语句scanf,以及选择结构编程语句if-else语句的使用。让学生了解如何用编程语言模拟现实的操作。

2.2 循环次数不确定的例题设计

基于问题场景1解决的基础上,提出问题场景2:一个孩子学习了整数加减运算,但是作业的错误率比较高,因此,妈妈决定让他进行专项练习,妈妈报题,孩子答题,妈妈再对孩子的答题情况进行批改,妈妈批改时发现孩子做对5题就结束练习。请用程序模拟上述的场景。

这个问题提出后,教师在课堂教学中积极引导学生思考如下问题。问题1:对于问题场景2而言,孩子练习的题目数是不确定的,这与问题场景1是不一样的,那么结束练习的条件是什么?对于问题1,经过简单的编程题目分析,就可以让学生得出结论:结束练习的条件是孩子做对5题。接下来,教师可以提出问题2:如何知道孩子做对了5题。教师引导学生了解计数器的使用,特别强调计数器需要在使用前需要赋值。因为此处的计数器是用来统计答对题目的数量,因此它的初始值为0。从而,得出如下的算法用以解决问题场景2。

Step 1: 设置计数器correctcnt=0;

Step 2: 当correctcnt

Step 2.1: 妈妈出题;

Step 2.2: 孩子答题;

Step 2.3: 妈妈批改,如果孩子答对则计数器correctcnt增1。

再用程序设计语句来实现该算法,如图2所示。

问题场景2解决后,接着提出与其非常相似的问题场景3:一个孩子学习了整数加减运算,但是作业的错误率比较高,因此,妈妈决定让他进行专项练习,妈妈报题,孩子答题,妈妈再对孩子的答题情况进行批改,妈妈批改时发现孩子连续做对5题就结束练习。请用程序模拟上述的场景。

在分析题目时,教师要引导学生注意问题场景3与问题场景2的不同之处,要求学生思考问题场景3在设计循环结构编码时循环条件是否要修改,如果循环条件不修改那么应该修改哪些代码,为什么要修改?经过引导,学生会积极地思考如何实现连续做对5题,很容易想到使用计数器correctcnt统计连续答对题的个数,一旦发现孩子答错correctcnt应该置0。从而需要对问题场景2中的答题批改判断代码进行修改,得出如下的代码:

if (reply==key)

{

printf("正确\n");

correctcnt++;

}

else

{

printf("错误\n");

correctcnt=0;

}

这两个例题可以让学生熟悉循环次数不确定时的算法设计,让学生明白程序设计并不是死记硬背代码,应该仔细分析题目,得出问题解决的方案,进一步给出算法,再用程序设计语言实现该算法。

2.3 循环结构使用break语句的例题设计

教师在讲解循环结构break语句的功能后,以问题场景2的程序代码为例,要求在程序中使用break语句退出循环。首先,教师假设在解决问题场景2时因为一时无法确定循环条件,写出了如图3所示的程序代码,让学生分析代码,找出问题,能够分析出该循环是个死循环。

if (correctcnt==5)

break;

通过程序的运行,让学生了解break语句的功能。此外,也可以将此处的break语句改为continue语句,从而让学生了解continue语句的功能,并能很好地与break语句进行区分。

本题的设计不但讲解了break语句和continue语句,而且也让学生了解编写程序解决问题时,因为算法设计时思路不同,写出的程序代码也不相同,所以,在学习过程中并不是生硬地记忆程序代码,而是学会如何设计算法,并用程序设计语言来表述解决问题的步骤。

2.4 课后思考题――课堂例题的延伸

基于上述3个问题场景,教师可以提出问题场景4作为课后思考题。问题场景4:要求将问题场景3中的妈妈出题和妈妈批改操作改为计算机出题和计算机批改操作。实际上,这样的修改就意味着无法使用输入语句“scanf("%d%c%d",&czs1,&ysf,&czs2);”,这需要引导学生思考如何实现让计算机出题。教师可以介绍stdlib.h文件中的两个函数:设置随机种子函数srand((unsigned)time(NULL))和产生随机数的函数rand(),特别需要强调rand()%N产生的随机数的范围是[0,N-1],其中N可以是整型常量也可以是赋了值的整型变量。

一般,学生可以很快地想到两个运算对象czs1和czs2如何生成,但是可能觉得运算符ysf无法自动生成。教师可以引导学生使用rand()%2生成一个随机数,该随机数的取值不是0就是1,那么就可以认为数0代表‘+’,则数1代表‘-’。

计算机出题问题解决后,要求学生思考:如果生成的题目是减法运算式,那么该减法式的运算结果必须是非负数,应该如何设计程序?这个思考题的提出丰富了课堂例题,引导学生独立思考和解决实际问题,并让学生进一步学习和了解C语言中更多的函数。

3 结束语

本文给出了循环结构教学的4个课堂教学用例和1个思考题,这些用例都是结合日常生活的问题场景,这些场景对于学生而言是比较熟悉的,因此,学生在学习时表现出了较好的学习积极性。此外,这些例题体现了循环结构程序设计时循环次数确定和不确定两种情形,很好地体现了循环结构的特点,让学生由浅入深地逐步掌握循环结构程序设计特点,从而达到培养学生使用循环结构编程求解实际问题的教学目标。思考题既延伸了课堂例题,同时也是对教材知识的扩展,鼓励学生进行相关的课后学习和训练,进一步提高学生的逻辑思维能力和C语言编程能力。

参考文献:

[1] 胡明, 王红梅. 程序设计基础――从问题到程序[M]. 北京: 清华大学出版社, 2011.

[2] 罗永龙, 方群. C语言程序设计[M]. 北京: 科学出版社, 2013.

[3] 俞庆英, 刘莉, 陈传明. 非计算机专业C程序设计教学方法创新[J]. 计算机教育, 2010(20):118-121.

第5篇:循环小数教学设计范文

【关键词】Visual Basic;程序设计;教学方法;教学设计

国家新的《基础教育课程改革纲要(试行)》指出:“改变课程过于注重知识的传授的倾向,强调形成积极主动的学习态度,使获得基础知识和基本技能的过程同时成为学会学习和形成正确价值观的过程。”我们从整体上来理解这段话,它强调课程的功能要从单纯注重知识的传授转变为体现引导学生学会学习、学会做人、学会生存;对学生的关注要从更多的关注学习结果转变为也要关注学生学习的过程和方法。根据这个原则我在组织有关VB程序设计方面的课堂教学时,做了以下几点尝试:

1、打破课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以学生的已有知识为基础,按照学生的认知规律,遵循先易后难、先具体后抽象的原则,通过观看、模仿、理解、总结、提高五个阶段进行教学。课本中有关VB程序设计方面的教学内容,象大多数教授程序设计的课本一样,一开始介绍诸如算法、流程图的画法、对象、对象的属性、方法和事件等等一系列的在程序设计中比较抽象难懂的概念,然后介绍程序的建立和运行,最后介绍VB语言基础、分支结构、循环结构和数组。从知识的逻辑结构体系考察,这样安排无可非议,但从学生的认知规律考虑,我认为把一些难懂的、晦湿的抽象的东西放在开始来学习有两点弊端,(1)学生在毫无知识背景的前提下,要完全理解这些概念比较困难;(2)容易伤害同学们学习编程的积极性。受到一些语言知识书籍从介绍一个小实例开始来引入的启发,我决定对本界高一学生开始不讲基本概念,而是和我一起做,在做中由同学们自己在直观上先去体悟这些概念,然后在时机成熟时再和同学们一起归纳总结。所以在组织本章课堂教学时,我采用了自然过渡、类比等方法,和同学们首先一起探讨了VB软件的打开、程序的建立和保存、软件界面等方面的知识,由同学们自己探索着找出VB操作和以前所学软件的异同点。由于同学们已经学过Word应用软件,对这些相似的操作已非常熟悉,所以操作起来得心应手。然后,我给出一个求任意两个整数的加法实例,让同学们和我一起做:(1)在当前窗体内添加了三个标签、三个文本框和两个命令按钮;(2)按照如下表格设计各对象的属性:

缺省的对象名 设置的对象名 属性名 设置值

Form1 frmadd Caption求和

Label1 lbla Caption输入被加数

Label2 lblb Caption输入加数

Label3 lblc Caption和为:

Text1 txta Text (空白)

Text2 txtb Text (空白)

Text3 txtc Text (空白)

Command1 cmdadd Caption 计算

Command2 cmdend Caption 结束

(3)在命令按钮“cmdadd”上双击鼠标左键,输入如下程序:

txtc.text=val(txta.text)+val(txtb.txt)

关闭程序编辑窗口,回到界面设计界面,在命令按钮“cmdend”上双击鼠标左键,输入如下语句:end

关闭程序编辑窗口,按F5键运行程序。

在操作的过程当中,教师不用讲解每件事的含义,同学通过完成任务很自然的就会体会出什么是对象,什么是对象的属性和方法,如何在界面内添加对象、设置事件等等。在此基础上,教师适当的引导同学归纳总结一下,一切都迎刃而解。

按照学生的认知规律组织教学和重视同学们的知识结构体系的建立并不是相互对立的,相反,最终同学们能否在头脑中建立完整的学科体系对于其本身能否对所学的内容有比较深刻的理解起着极为关键的作用,问题的关键在于这种学科结构体系的建立是通过外部手段强加给他们的,还是在同学学习的过程中自然形成的。

2、注意通过一系列问题的引动,来激发学生的学习主动性和加深对一些概念的理解。有一些概念之间的差别和程序的设计步骤如果只通过教师讲述,同学们在字面上可以接受,但在理解深度上往往难以达到令人满意的效果,如果能设计出一系列问题,让同学们在实践和解决问题的过程中自己去体验,情况将完全是另一个样子。 在教学过程中,注意通过在书本原有程序的基础上逐渐改变和增加条件的方法来提高同学的综合编程能力。例如,同学们在学习FOR……NEXT循环时,书本内给出了一段求前100项自然岛偷某绦颉U舛纬绦蛟谕学们弄懂FOR……NEXT循环之后,理解起来是并不困难的,为了提高同学们的编程能力,我要求同学们对原程序做如下几种变化:

(1)求1到100之间所有偶数的和,要求跳数为2。

(2)求1到100之间所有偶数的和,要求跳数为1。

(3)在程序运行过程中任意输入一个自然数n,求1到n之间所有偶数的和。

这里第一小题和书本原程序相比难度不大,只要将循环的跳数改为2即可,在模仿的前提下同学们就可以完成。第二小题增加了难度,在编程过程中,需要做两点变化,一要将循环变量的变化范围变为从1到50,二要修改循环语句中的通项,将循环语句变为S=S+2*I。要做到这些变化,需要同学们对for……next有比较深刻的理解。第三小题在第二小题的基础上又增加了一点要求,即循环变量的终止值需用变量n来表示,二需要在程序的前面增加一条定义变量n的语句,三需要使用InputBox语句在程序运行的过程中将终止值输入给变量n,这三点要求同学们能够把以前所学的知识综合起来运用,对刚刚学习编程的高一同学来说这还是有一定难度的,但通过练习同学们的综合编程能力可以得到训练提高。

3、引导同学们在学习编程的过程中养成运用动态思维判断程序是否正确的习惯,这种习惯的养成,对培养学生的逻辑思维能力和抽象思维能力有非常重要的作用。为了达到这个目的,在程序设计教学中可以有意识的在以下几个方面给予比较多的关注:(1)对于一些比较简单的程序要求同学们直接写出结果;(2)对于有循环或判断结构的程序,要求同学们根据条件一步步向前走,把循环过程写下来;(3)故意给出一些错误的程序,给同学们设计一些陷阱,让同学们自己去发现;(4)让同学们把书本中程序编写错了的地方改正过来。

第6篇:循环小数教学设计范文

关键词:六步教学法;实践;程序设计

《C语言程序设计》是计算机课中一门重要的课程,它作为学生系统地学习高级程序设计语言的一门新课程,本身就比较难;再加上其内容复杂、语言描述灵活,更让学生感觉难上加难。从教学中不难发现,在课程的后阶段,一部分能力强的学生较好地形成了编程的思维,达到了教学的要求;大部分学生的语法细节掌握得相当好,但是涉及较大的实际编程问题时,还是显得相当吃力;也有个别学生始终无法掌握如何把实际问题转化为程序语言。我在实际教学中将六步教学法引进课堂,取得了很好的效果。

一、六步教学法介绍

“六步教学法”的基本内容包括以下六点:

1.定向

就是确定这一课的知识点。例如:讲授“函数”这一内容时,它的知识点为:函数的分类、定义、说明和引用四个部分,重点及难点为函数的定义与引用两部分内容。

2.自学

学生通过书本学习与计算机操作相结合的方式完成自学;不懂的地方,留待下一步解决。

3.讨论

前后每四人为一组,把自学中不懂的地方提出来,互相讨论;讨论也不能解决的问题,留待答疑时解决。

4.答疑

针对分组讨论仍然没有解决的问题,最好由其他小组的学生解答。

5.自测

根据定向指出的重点、难点,结合案例教学法,完成C语言案例的程序编写和上机调试。通过自测,让学生有攻克难题的成就感,从而进一步激发学习兴趣。

6.总结

总结的内容包括学习重点和难点、教学环节、知识点的掌握等方面。

二、六步教学法在《C语言程序设计》课中的具体实践

第一步,根据学生的编程思维与学习情况,将学生每4人分为一组,为了方便讨论选定一名为组长。参考教材,把学习内容的知识点罗列出来,概括出重点、难点和疑点(即要求学生自学的内容)。第二步,学生进入“自学”阶段,具体做法是将知识点融合到实例中,教师将实例要求展示给学生,让学生思考完成这个实例要用到哪些知识点,学生带着疑点,阅读教材开始自学,经过自学,解决疑点,完成实例的程序编写。经过“自学”这一阶段的学习,学生可以解决大部分的疑点,不能解决的自己先记录下来。第三步是“讨论”,对于前面不能解决的疑点,每个小组先进行组内讨论;对于“讨论”过后仍不能解决的问题,教师要组织全班学生进入第四步“答疑”。先由学生来解答,如果学生不能完成就由教师解答。然后进入第五步“自测”,这部分内容是学生根据自学和讨论最终完成案例的程序编写并进行上机调试,调试成功则完成。最后学生和教师可以根据课程的实际情况进行总结。

下面以“For循环语句”这一节内容为例进行具体说明:

第一步:引出实例。如打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

第二步:根据教材,学生自学以下内容:

1.For语句的一般格式

For([变量赋初值];[循环继续条件];[循环变量增值])

{循环体语句}

2.For语句的执行过程

①求解“变量赋初值”表达式。

②求解“循环继续条件”表达式。如果其值非0,执行③;否则转至④。

③执行循环体语句组,并求解“循环变量增值”表达式,然后转向②。

④执行For语句的下一条语句。

3.说明

①“变量赋初值”“循环继续条件”和“循环变量增值”部分均可缺省,甚至全部缺省,但其间的分号不能省略。

②当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。

③“循环变量赋初值”表达式,既可以是给循环变量赋初值的赋值表达式,也可以是与此无关的其他表达式(如逗号表达式)。

④“循环继续条件”部分是一个逻辑量,除一般的关系(或逻辑)表达式外,也允许是数值(或字符)表达式。

自学完成后,学生根据自学到的知识完成案例的程序编写。在这一步中,学生容易出现的疑问是:对于这个三位数,如何将它的百位、十位和个位上的数字单独提出来。

第三步:分组讨论如何将这个三位数的百位、十位和个位上的数字单独提出来。这部分内容可以给出一些提示,利用数学知识及C语言中的运算符和百位、十位与个位数之间的关系进行提取。

i=n/100;/*分解出百位上的数字i */

j=n/100%10;/*分解出十位上的数字j */

k=n%10; /*分解出个位上的数字k */

第四步:有疑问的小组提出问题交给其他小组帮助解决。例如,三位数的范围是100到999之间的数,用循环进行判断,所以用For语句来解决这个问题,同时要确定好循环变量初值、循环条件和循环变量增量。如果仍然不能解决,由教师回答。此时学生能够积极完成这项难题的解决方案,并且增长了极大的兴趣。

第五步:根据前面完成的程序代码上机调试程序,自测程序是否正确。这一环节也是学生特别感兴趣的部分,学生把自己编写的代码输入到计算机中检查能否成功。如果运行正确,会增强学生解决其他问题的兴趣;如果存在问题,可以引导学生检查语句的语法是否正确、语句与语句之间是否存在一些意想不到的矛盾等。也可以根据学生的实际情况,再展示一个新的实例,如古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,

21……(此题也称为“费波那西”数列)

第六步:教师组织学生进行自我总结,一般学生能够回答出:For语句的一般格式、执行过程和基本特征等,这样可以巩固学生对For语句的深刻理解和运用,另外教师可以进行适当的补充,起到画龙点睛的作用。如:在使用For语句时,还要注意循环变量初值、循环条件和循环变量增量的设置;循环条件是循环中的一个必要部分,是控制循环正常进行的重要内容;循环中的循环语句可以使用以前学习的If语句、运算符等知识。

三、六步教学法实践的效果

1.调动了学习的主动性

六步教学法能让学生准确把握教学内容,节省教学时间,能使学生主动地、富有兴趣地学习。因为程序教学是以学生自学为主,在学习过程中学生始终处于高度活跃的思维状态。学生每完成一步作业,就感到高兴,激起了做下一步作业的兴趣;发现错误,就迫切要去寻找正确的答案,充分发挥了学习的主动性。

2.培养学生的自学能力

六步教学法中后期应用最大的优点之一是培养学生的自学能力。

六步教学法是一种具有启发性、实践性,能开发学生智力,提高学生决策能力和综合素质的新型教学方法。使用这种方法将枯燥和抽象的概念变得生动具体、重点突出、简单明了,既活跃了课堂气氛,又调动了学生的积极性。

3.培养学生的团队合作精神

一个复杂的程序,往往需要一个团队的共同努力。在这两种教学法的结合过程中,一开始将学生分成小组,在自学讨论和后期共同探讨过程中,都需要学生参与到小组协作中来。因此,学生的团队合作精神得到培养,学生更会明白在今后的学习和工作中应该明确责任分工和团结合作。

参考文献:

[1]谭浩强.C程序设计.[M].北京:清华大学出版社,2005.

第7篇:循环小数教学设计范文

创设教学情境激发学生主动学习

创设问题情境,引发学生对知识本身发生兴趣,产生认知需要,产生一种需要学习的心理倾向,激发自主探究的学习动机。有效的教学情境创设要以激发学生的兴趣为基点,合理选择情境素材;以激活知识、技能为支点,以积淀学生信息素养为重点作为创设情境之目标。例如,对必修模块中《4.2表格信息加工》的教学,在学生参考课本先通过自主探究掌握Excel的基本操作和基础知识后,我重点对“利用公式、函数进行数据计算”展开教学。那时正是期中考试前夕,我在大屏幕展示如右图所示的成绩表并告诉学生:“同学们,下周就是期中考了,假设期中考后班主任让你利用所学的知识和技能帮他完成一项很重要的工作,打印出我们班的成绩表,你能否好好地表现一下呢?”有一部分基础比较好的学生很自信地回答:“我能。”全班同学的学习热情一下子被调动起来。为了引导基础相对较差的学生,我对全班学生说:“这节课让大家自己动手实践,可以参考课本,也可以与其他同学讨论、交流,看谁能把这项工作完成得最好!”

在教师的引导下,学生进行了自主探究学习,不仅能利用公式或函数正确地计算出每位学生的总分和各学科的平均分,圆满完成教学任务,而且对课本上没有介绍的知识和方法能主动发现、拓展学习。例如,预览发现成绩表没有边框线,学生会主动加上,使成绩表打印出来更加美观;有的学生还在成绩表最右边增加一列“名次”,对全班的学生按总分由高到低进行正确的排序操作后通过“自动填充”功能快速填入每位同学的名次;有的学生根据“总分”绘制出直观形象的柱形图等。可见通过联系生活、让学生解决实际问题来创设有效的教学情境能挖掘学生的学习潜力,开发学生的创造力,充分调动学生的学习兴趣,从而能自觉主动地参与学习。

巧妙设计教学任务激发学生探究欲望

学生对学习新知识有三分生、七分熟的基础,学生既有原有的知识结构,又有对新知识的顺应和同化的思维属性,所以学生能自主探究、自主学习。自主探究并不是盲目的随意学习,而是在教师指导下,有意义、有目的地自主探究学习。例如,《算法与程序设计》中“循环结构”是教学的重点与难点,特别是“当型”(do while … loop)循环和“直到型”(do … loop until)循环。在学习“当型”循环后,进行“直到型”循环的教学中,我针对数学必修Ⅲ《算法初步》中数学老师只讲理论没有上机实践的情况,巧妙地设计了这样的一个学习任务:让学生通过自主探究学习,用“当型”循环和“直到型”循环编写“辗转相除法求两个数的最大公约数”的程序。由于这个问题也是数学必修Ⅲ的一个思考题,数学老师也要求学生课后去思考并写出程序。现在有机会上机实践并验证程序的正确性,学生的学习热情空前高涨,由于刚学习完“当型”循环,学生经过自主探究,很快写出如下“当型”循环的程序并通过机器验证是完全正确的。

Private Sub Form_Click()

Dim m As Integer, n As Integer, r As Integer

m = InputBox("m=", "输入一个整数")

n = InputBox("n=", "输入另一个整数")

r = m Mod n

Do While r 0

m = n

n = r

r = m Mod n

Loop

Print "最大公约数为:"; n

End Sub

学生通过动手实践获得成功的喜悦激发了他们进一步探究的欲望,开始积极主动思考如何用“直到型”循环来完成这项任务。他们通过参考课本,对照“当型”循环的程序后又很快写出如下“直到型”的程序,可惜运行程序后输入跟刚才相同的测试数据验证发现答案是错误的。

Private Sub Form_Click()

Dim m As Integer, n As Integer, r As Integer

m = InputBox("m=", "输入一个整数")

n = InputBox("n=", "输入另一个整数")

Do

r = m Mod n

m = n

n = r

Loop Until r 0

Print "最大公约数为:"; n

End Sub

正当学生感到迷惑不解的时候,我进行必要的引导与点拨,避免学生在错误的“道路”上越走越远。我告诉他们:注意“当型”循环与“直到型”循环“条件”的差别。这时学生豁然开朗,马上知道问题出在什么地方,立刻把程序中语句“loop until r0”改为“loop until r=0”,当他们还沉浸在胜利的喜悦时,按F5键运行程序,输入跟刚才相同的测试数据验证发现仍然得不到正确的结果,答案始终为0,学生开始感到很茫然。我又提示学生,告诉他们认真模拟计算机执行程序的过程,看能否发现计算机输出答案错误的原因。学生通过输入数据模拟计算机运行过程,动脑筋分析与推敲,结果他们终于发现当退出循环后,此时变量n存放的是余数,一定为0,要得到此时的除数、也就是最大公约数,应该输出变量m,把语句“Print"最大公约数为:";n”中的n改为m,再按F5键运行输入跟刚才相同的测试数据验证,结果答案完全正确。

本堂课通过巧妙设计教学任务引导学生自主探究学习,学生不仅巩固了旧知识(“当型”循环),而且以此为基础自主探究,经历挫折后自己发现问题,掌握新知识(“直到型”循环),印象更加深刻,完美地实现了教学目标,圆满地完成了教学任务。学生通过自主探究─发现问题─分析思考─解决问题这一过程,更进一步激发了探究欲望,增添了学习编程的乐趣。

选择自主探究的教学方法实现教学目标

信息技术课堂教学常用教学方法有:讲授法、任务驱动教学法、小组讨论法、教练法、基于问题的WebQuest教学法等。任何一种有效的教学法都应该是为了学生更好地学,特别是要能激发学生自主地学习,才能提高课堂教学效益。为了让学生能更好地实现自主探究学习,实现课堂教学目标,我主要采用任务驱动教学法为主,讲授法和小组讨论法为辅的教学方式进行教学。

为了让学生在自主探究学习的过程中完成任务、掌握学习内容、实现学习目标。我在做好充分准备的情况下一般把教学过程分为以下几个环节。

1.提出任务

为了更好地实现教学目标,任务的提出至关重要,一般要具备以下几个特征:①具有可操作性。让学生通过动手操作来完成任务、实现学习目标可唤起其自主学习、深入探索的学习热情。②体现完整性。把整个任务划分为几个相关联的子任务,通过完成好这些子任务来达到整个任务的完美解决,从而实现学习目标。③体现层次性。通过循序渐进,设置由简单到复杂的任务让学生来完成,以激发他们的探究欲望。④有利于学生自主探究能力的提高。提出的任务要符合学生的认知规律,给他们留有发挥的空间,让其灵活变化、自由发挥去探索新知识、获取新技能,从而提高自主探究能力。

2.分析任务

为了提高学生自主探究的能力,教师不要急于讲解,让学生先独立思考或小组讨论、对任务进行分析,把整个任务分为一系列的子任务,并分析哪些子任务需要用到已学过的知识和技能,哪些子任务需要学习新知识和技能,从而激发学生自主探究学习新知识和技能的积极性,提高分析问题的能力。

3.自主探究完成任务

学生在通过自己或小组讨论完成这一系列的子任务的过程中,教师不要直接告诉他们应当如何去解决问题,而要引导学生在发现问题、解决问题的过程中去学习,在此期间他们学到的不仅仅是新知识和技能,更重要的是他们从中学到了解决问题的方法。让学生亲自体验这种发现问题并解决问题的过程,让他们在这一过程中学会独立思考,主动探索,培养其分析问题和解决问题的能力。

教师在学生自主探究完成任务的过程中可以向学生提供解决该问题的有关思路、线索或资源。例如,教师可以让学生参考课本、自己看书、认真思考,也可以将相关资料做成自学课件引导和启迪学生,还可以组织学生在小组内部讨论、交流,共同找出解决问题的方法,在自主探究学习的同时培养学生与人共事的协作精神。这种以任务驱动教学法为主,小组讨论和讲授法为辅的教学方式便于学生自主探究学习,在知识技能培养的同时,注重过程与方法,也进行了情感态度与价值观的培育,有利于新课标三维教学目标的实现。

多元化和多样性评价相结合,注重发展性课堂评价

评价是信息技术教学的有机组成部分,对信息技术的教学具有较强的导向作用。教师采取过程性、终结性评价与形成性评价相结合,注重发展性课堂评价,有效地评价学生的学习效果。发展性课堂评价应深入学生发展的过程,及时了解学生在发展过程中遇到的问题,有效地指导学生,对学生的学习过程进行全面的分析与评价。

第8篇:循环小数教学设计范文

一、设置VB程序情景,激发学生学习兴趣

案例一:解二元一次方程组

该案例是《算法初步》第一节中为引入算法概念而设计的第一个例题,无论教师按照课本以“加减消元法”解一元二次方程,还是激发学生使用“代入消元法”求解方程,这都是一个枯燥乏味的问题,很难激发学生学习算法的热情。但是如果把该问题转化为程序,以情景的方式呈现出来,让学生真切地体会算法在实际生活中的应用,并产生解决该问题的需要,从而消除课堂的枯燥,激发学生解决问题的自主探索的欲望。

二、搭建探索平台,促进学生主动学习

案例二:编写程序,使任意输入的3个整数按从大到小的顺序输出

在算法初步的教学中,一般都要从具体问题出发,去分析算法中的算理、步骤,然后抽象出一般意义上的算法。对于这个实例,主要有两个难点:一个是两个数据的交换;另一个是数据条件的判断。在这里要用到条件结构,对于条件结构总体难度不大,学生也容易设计出算法,然而对学生学习实际情况分析,无论学生用自然语言、程序框图或是伪代码描述算法,都很难发现算法设计中存在的错误。因此,必须给学生提供上机验证的机会,可以帮助他们检验自己算法设计的正确与否,进而增强学生学习算法的兴趣和积极性。

三、深化教材,延伸知识

案例三:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值比上一年增长5%。设计一个程序框图,输出预计年生产总值超过300万元的最早年份。(教材15页)

分析――设2005年以后第N年生产总值Y,则Y=200(1+5%)n,n∈N

数学课的算法教学更应该注重算法对问题的抽象过程和算法的构建过程,这个过程中要使学生着重理解算法的“算理”,同时体会算法的特点。

循环结构的学习是重点也是难点,也是本章学生最难理解的知识内容,主要是循环语句里面的循环变量和循环控制条件。在循环结构中一个关键的地方是设计累加器,在表示时利用计算机特有的替换方式,n=n+1;学生理解起来还是很有难度的,但是在VB程序中加入若干语句,就可以清楚地显示整个程序的循环过程,从而可以更好地理解循环结构如何预算累加问题。这个实例中只是在循环体内加入了一个输出语句“PRINT 2005 + n, y”,就可让计算机输出每次循环后数据的变化,即n和y的值变化,使学生理解循环结构如何利用判断条件结束循环的。这一点要给学生讲明白,从而使学生理解循环结构是如何利用判断条件结束循环的。

也可以让学生在教师执行程序设计的引导下,写出算法,画出程序框图,这样环环相扣地反复练习,学生不但得到了更好的锻炼,而且学习效果更佳。同时,还让学生认识到自己写出的算法通过计算机的操作,可以更快捷、准确地解决繁杂的问题。

算法初步教学的主要目的,是使学生体会算法的思想,提高逻辑思维能力,在教学中侧重算法思想的培养和算法模型的树立,即重“算理”,通过具体实例来说明由数学算法到计算机使用算法的过渡过程,从而说明算法的必要性,理解算法各个基本内容(结构、框图、语言等)的作用。重点是算法思想的渗透,算法思维模式的建构,经历运用自然语言、算法框图和基本算法语句解决具体问题的过程,注重算法和其他知识的联系与整合,而不能简单地处理成算法语言课或程序设计课。

第9篇:循环小数教学设计范文

关键词:项目教学;“螺旋式”教学模式;C语言

中图分类号:G712 文献标识码:A 文章编号:1672-5727(2013)06-0106-02

传统C语言教学模式虽然在知识传授上具有很强的系统性,但学生最后掌握的情况不理想,存在重理论、轻实践的问题,因此学生的实际编程能力还比较弱。要从根本上提高学生的编程能力,关键还是对教学模式进行改革。近几年,很多高职院校都在进行项目化教学改革,特别是计算机类课程,很多课程把一个大项目贯穿在整个教学过程中,再将大项目拆分成子项目即小项目进行教学,很多教材也如此。但是经过实践,笔者发现,这种模式存在一定问题。首先,由于小项目是由一个大项目拆分而来,因此必然存在一定的连贯性,如果学生对这个项目不感兴趣或者前一个项目没有完成好,就会直接影响后一个小项目的进一步学习;其次,为了遵循项目所谓的连贯性和一致性,有些小项目的安排或设计不是很合适,过于牵强,对这个相关知识的介绍或者讲解不一致。因此,笔者进行了改革,采用相对独立的小项目进行教学,并采用“四重循环”的“螺旋式”教学模式。实践表明,这种教学模式效果更好。

教学模式设计思想

根据高职学生的特点,在程序设计类课程教学过程中,采用小项目引导“四重循环”的“螺旋式”教学模式。所谓“四重循环”,指在教学过程中,每个知识模块采用一个小项目作为课堂教学项目,学生上机实训采用类似的另外一个项目,课外作业另外再设计一个项目,课程结束后,再安排一个综合实训项目。

整个教学过程通过循环练习四重项目,真正提高学生实际编程能力。而在每次课堂教学项目中,其实施过程具体如下:第一步,一般先安排“温故知新”,考虑到高职学生学习的自觉性不强,再加上程序设计类课程知识的连贯性很强,学生若是没有掌握好前面的知识,会影响后面知识的理解和掌握,会使学生的学习情况产生“恶性循环”,因此尽量安排5分钟左右的复习时间,就会起到督促学生复习,巩固知识,提高编程能力的目的。第二步,通过创设小项目情境引入任务,接着讲解相关语法知识,进行算法分析,然后解决提出项目。第三步,让学生“依葫芦画瓢”,通过让学生进行一些相对简单的实训练习,对这个相关知识有个基本的熟悉和掌握。第四步,就是对知识进行扩展应用,进一步提高学生实际编程能力。最后是总结和巩固环节,完成配套自编习题。

以C语言课程为例

(一)C语言课程地位

《C语言程序设计》课程是计算机及有关专业中专业主干技术基础课程,与其他技术基础课和专业课衔接紧密,为学生进行后续课程学习、课程设计、毕业设计及参加工作提供必需的程序设计基本理论与技能。该课程的教学效果对学生今后学习其他课程有很大关联。从实用角度讲,目前大部分操作系统、计算机控制系统、嵌入式系统及工业控制的软件都可以用C语言来完成,可以用“基础地位显著,实用前景广阔”来概括该课程的地位。

(二)传统教学模式的弊端

传统的教学模式还是偏向理论,实训操作相对欠缺,而且一般理论和实训的课时安排大多都是1∶1,即一半课程安排在多媒体教室,另一半课程在机房进行,学生的实际编程能力比较薄弱。

(三)“螺旋式”的教学模式

为真正提高学生实际编程能力,笔者对教学模式进行改革,实践并探索出一种小项目引导“螺旋式”的教学模式。这种模式最大的特点是小项目不是从一个大项目拆分而来,该模式的好处是项目相对独立,学生如果对前一个项目不感兴趣,对下一个项目的学习也不会有很大影响,而且,这样的小项目比从一个大项目拆分出来的子项目更适合相关知识和语法的讲解。整个教学模式是一环套一环,层层递进,“螺旋式”进行,对学生而言,他们更容易接受和理解。

项目选择 在教学模式中,项目的选择也十分重要,要遵循典型性、适用性,趣味性等原则。首先,项目的选择应该和需要讲解的知识相对配套,具有典型性;其次,应该选择对学生而言相对比较熟悉的项目,这样学生比较容易理解、容易接受;再次,根据高职学生的特点,为了进一步提高学生的学习兴趣,应该选择有趣味性的,或者他们相对比较感兴趣的项目。

项目举例 例如,传统教学过程中,C语言的“数据类型与表达式”这一章语法知识很多,讲解起来十分繁琐,学生不容易接受,以本章为例,笔者对该内容的教学模式进行如下设计:首先,由一个计算器导入项目情景,提出项目的目标是设计并完成一个简易计算器,并且完成最常见的加减乘除运算;其次,学生学习要完成该项目所需要掌握或使用相关语法知识,C语言中的数据类型、常量和变量、运算符和表达式等;最后,实现完成项目。学生模拟完成简易版的计算器,并要求学生对其功能进行完善,进一步对知识进行扩展,进一步提高学生的编程实战能力。又如,在介绍函数时,考虑到高职学生的特点,笔者设计了一个打字母游戏的项目。游戏较为传统,即从屏幕上方随机掉下一个字母,然后快速敲打相应的键,该字母就消失。此游戏只是做了简单的实现,功能并不完善,比如生命数和分数等都没有完成。要求感兴趣的同学自己课后完成。在教学过程中,这样的项目,学生比较感兴趣,课题气氛活跃,大大激发了学生的学习兴趣。此外,有余力的学生,自行对该游戏功能进行完善,不同学生有不同要求,充分体现了因材施教的原则。

项目顺序安排 笔者教学过程中发现,在传统教学模式中,函数一般是放在最后几章讲授,函数就知识点来讲不难,主要是在教授过程中,在没有介绍函数之前,程序的编写一直都是写在一个main函数中,学生对这种方式习以为常,再加上教学进度等各种原因,结果学生对函数的掌握和使用不理想。因此,笔者做了一个尝试,把函数放在三种结构语法介绍完成之后讲授,即介绍完顺序结构、选择结构以及循环结构之后,设计一个模拟ATM取款的流程,结果教学效果更好。其具体安排是:首先提出项目情景,模拟ATM工作流程,然后提出完成该项目需要掌握的语法知识,条件语句、循环语句以及函数等,接着完成该项目。学生可以边学边用,一步步实现模拟ATM的取款流程。当然,等基本工作流程完成后,要求学生对其功能进一步完善。在此后的项目中,都运用本项目中的函数的知识,这样学生更好地掌握了函数应用。

“四重循环”的“螺旋式”教学过程 笔者把每个循环项目都拆分成一些子项目或是子任务。而且,每个环节在难度等各方面的设计都遵循“循序渐进”原则。从教学效果看,学生比较适应该教学模式。

实践证明,教学模式对高职计算机程序类课程的教学效果影响很大,一种较好的教学模式往往能起到事半功倍的效果。教师可以从“满堂灌”的教学过程,转换到“以学生为中心”的导演式角色中来,学生也只有在自己不断实践的过程中,真正提高自己的编程能力。

参考文献:

[1]李建青.高职计算机专业教学案例研究[J].职业教育研究,2011(10):26.

[2]李永明.程序设计课程“螺旋式”教学法探索与实践[J].职业教育研究,2011(9):72-73.

[3]刘锦峰.高职院校C语言课程教学改革初探[J].科技信息,2012(35).