第一篇:1.2基本算法语句(教学反思)
1.2基本算法语句(教学反思)
数学组 蔡云巧
课型:汇报课
算法语句是继“程序框图”之后学习的内容,是解决某一个(或一类)问题的算法的程序实现. 学习算法的目的,“就是体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力”这是因为,随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养. 以下我谈谈这堂课的两点体会:
一、对教学内容的认识
“算法语句”是“新课标”的新增内容.虽然这部分内容不太便于高考考查,但是,它的学习却有利于培养学生的逻辑思维能力.因此,我们应该认真地组织教学,让学生“体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力”。
二、现代信息技术的使用
这节课是数学课.但图形计算器起到了很好的辅助作用.程序框图提供了一个解决问题的设计思路,是否可行、可靠?需要把算法相应的程序语句输入到计算器上来验证.仅仅画出程序框图,写出算法语句,没有经过验证,仍然有点“纸上谈兵”,对程序框图的可行性缺少验证,也缺乏真实感的信任.由于有了计算器的支持,不仅能在课堂上很快进行各种赋值计算,验证所设计的算法,而且便于学生实时的讨论与修改,从而帮助学生更好地把握算法结构的特征,增强对算法结构的了解,加深了对算法的体验,提高了课堂教学效果.由于有了图形计算器的支持,学生的学习方式改变了,学生的兴趣浓、积极性高,参与度高效果明显增强了.他们可以方便地在“做”中学,既是对自己设计的算法进行验证,并能及时解决复杂的计算问题正如陆游所说“纸上得来终觉浅,绝知此事要躬行”,更好地体现了学习的本质.
2013-11-20
第二篇:基本算法语句教案
篇一:(教案1)1.2基本算法语句
第一课时 1.2.1输入、输出语句和赋值语句
一、教学目标:
1、知识与技能
(1)正确理解输入语句、输出语句、赋值语句的结构。
(2)会写一些简单的程序。
(3)掌握赋值语句中的“=”的作用。
2、过程与方法
(1)让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、模仿。
(2)通过对现实生活情境的探究,尝试设计出解决问题的程序,理解逻辑推理的数学方法。
(3)编程一般的步骤:先写出算法,再进行编程。
二、重点与难点
重点:正确理解输入语句、输出语句、赋值语句的作用。
难点:准确写出输入语句、输出语句、赋值语句。
三、教学设计
在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听mp3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢? 计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能够理解的程序设计语言(programming language)翻译成计算机程序。
程序设计语言有很多种。如basic,foxbase,c语言,c++,j++,vb等。为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:
语句和赋值语句。
【探究新知】
我们知道,顺序结构是任何一个算法都离不开的基本
构。输入、输出语句和赋值语句基本上对应于算法中的顺
构。(如右图)计算机从上而下按照语句排列的顺序执行这
句。
输入语句和输出语句分别用来实现算法的输入信息,结果的功能。如下面的例子:
32结序结些语输出用描点法作函数y?x?3x ?24x?30的图象时,需要求出自变量与函数的一组对应
值。编写程序,分别计算当x??5,?4,?3,?2,?1,0,1,2,3,4,5时的函数值。
程序:
问题1:在这个程序中,你们觉得哪些是输入语句、输出语句和赋值语句呢?
问题2:“input”和“print”的中文意思是什么?
(一)输入语句
在该程序中的第1行中的input语句就是输入语句。这个语句的一般格式是:
其中,“提示内容”一般是提示用户输入什么样的信息。如每次运行上述程序时,依次输入-5,-4,-3,-2,-1,0,1,2,3,4,5,计算机每次都把新输入的值赋给变量“x”,并按“x”新获得的值执行下面的语句。
input语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为: 例如,输入一个学生数学,语文,英语三门课的成绩,可以写成: input “数学,语文,英语”;a,b,c 注:①“提示内容”与变量之间必须用分号“;”隔开。
②各“提示内容”之间以及各变量之间必须用逗号“,”隔开。但最后的变量的后面不需要。
(二)输出语句
在该程序中,第3行和第4 行中的print语句是输出语句。它的一般格式是:
同输入语句一样,表达式前也可以有“提示内容”。
输出语句的用途:
(1)输出常量,变量的值和系统信息。(2)输出数值计算的结果。
(三)赋值语句
用来表明赋给某一个变量一个具体的确定值的语句。
除了输入语句,它的一般格式是:
赋值语句中的“=”叫做赋值号。
赋值语句的作用:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变
量,使该变量的值等于表达式的值。
注:①赋值号左边只能是变量名字,而不能是表达式。如:2=x是错误的。
②赋值号左右不能对换。如“a=b”“b=a”的含义运行结果是不同的。
③不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)
④赋值号“=”与数学中的等号意义不同。
四.【例题精析】
〖例1〗:编写程序,计算一个学生数学、语文、英语三门课的平均成绩。
分析:先写出算法,画出程序框图,再进行编程。
算法:程序:
〖例2〗:给一个变量重复赋值。
程序:
[变式引申]:在此程序的基础上,设计一个程序,要求最后a的输出值是30。
〖例3〗
:交换两个变量a和b分析:引入一个中间变量x,将a的值赋予x,又将b的值赋予a,再将x的值
赋予b,从而达到交换a,b的值。(比如交换装满水的两个水桶里的水需要再找一个空桶)
〖例4〗:编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积。(? 取3.14)
分析:设圆的半径为r,则圆的周长为c?2?r,面积为s??r2,可以利
程序: [同步试题]
1、计算机的程序设计语言很多,但各种程序语言都包含下列基本的算法语句:,。
2、在程序语言中,下列符号分别表示什么运算 * ;\ ;∧ ;sqr();abs()?,,3、下列程序运行后,a,b,c的值各等于什么?
(1)a=3(2)a=3 b=-5b=-5 c=8c=8 a=ba=b b=cb=c print a,b,cc=a end print a,b,c end(1)________________________(2)________________________
4、.指出下列语句的错误,并改正:
(1)a=b=50(2)x=1,y=2,z=3(4)input,x(5)print a+b=;c(6)print good-bye!5 下列给出的赋值语句中正确的是()a 4?mm??m b?a?3d x?y?0 6 对赋值语句的描述正确的是()
①可以给变量提供初值 ②将表达式的值赋给变量 ③可以给一个变量重复赋值 ④不能给同一变量重复赋值 a ①②③ b ①② c ②③④ d ①②④
7.已知一个三角形的三边长分别是a,b,c,它的面积可用海伦—秦九韶公式计算。s?p?a?b?c2 设计一个算法程序,输入三角形的三条边长a ,b,c,输出三角形的面积s。
篇二:基本算法语句教学案
教案55 基本算法语句
一、课前检测
1.右图的程序框图,输出的结果是 ??1,xa y=??1,x?0??0 ,x?0 by=??1?0,x?0 ??1,x?0 c y=??1,x?0?1,x?0 d y=???1,x?0?0,x?0 ?? ?1,x?0 答案:d.2.如图,程库框图所进行的求和运算是 a 1?12?13?110b 1?1113?5?19 c 11112?4?6?20 d 12?11122?23?2 10 答案:c 3.如图,程序执行后输出的结果为_________答案 64
二、知识梳理
输入语句
(1)输入语句的一般格式
(2)输入语句的作用是实现算法的输入信息功能;(3)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;(4)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式;(5)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开。输出语句
(1)输出语句的一般格式
(2)输出语句的作用是实现算法的输出结果功能;(3)“提示内容”提示用户输入什么样的信息,表达式是指程序要输出的数据;(4)输出语句可以输出常量、变量或表达式的值以及字符。解读:
赋值语句
(1)赋值语句的一般格式
(2)赋值语句的作用是将表达式所代表的值赋给变量;(3)赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的。赋值号的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;(4)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或算式;(5)对于一个变量可以多次赋值。解读:
条件语句:
1、条件语句的一般格式有两种:(1)if—then—else语句;(2)if—then语句。
2、if—then—else语句
if—then—else语句的一般格式为图1,对应的程序框图为图2。
图1图2 解读:
do-until语句 do-until 对应的程序框图是
解读:
三、典型例题分析
例1.编写程序,计算一个学生数学,语文,英语三门课的平均成绩。解:程序:input“maths=”;a input“chjinese=”;b input“english=”;c print “the average=”;(a+b+c)/3 end 变式训练写出已知函数 ?1?y??0 ??1?(x?0),(x?0),(x?0).输入x的值,求y的值程序.解:input “请输入x的值:”;x if x&0 then y=1 else if x=0 then y=0 else y=-1 end if end if print “y的值为:”;y end 小结与拓展: 例2.若输入8时,则右图程序执行后输出的结果是
解:0.7 变式训练1:右图程序运行后的输出结果为()a.17b.19c.21d.23 解:c 变式训练2:右图程序运行后输出的结果为()a.50b.5c.25d.0 解:d.变式训练3:右面程序输出的n的值是______________.小结与拓展:
例3.读程序
s=s+i s=s+i i=i+l i=i-1 对甲乙两程序和输出结果判断正确的是()a.程序不同结果不同 b.程序不同,结果相同 c.程序相同结果不同 d.程序同,结果同
答案:b 变式训练:用两种循环语句描述1+ 1111+2+3+?+9.2222 小结与拓展:
四、归纳与总结(以学生为主,师生共同完成)1.知识:
2.思想与方法:
篇三:《基本算法语句——循环语句》教学设计
《基本算法语句——循环语句》教学设计
教学目标
(1)正确理解循环语句的概念,并掌握其结构;
(2)会应用循环语句编写程序.
教学重点
两种循环语句的表示方法、结构和用法,用循环语句表示算法.
教学难点
理解循环语句的表示方法、结构和用法,会编写程序中的循环语句.
教学过程
一、问题情境
1.问题1:设计计算1?3?5?7??99的一个算法,并画出流程图.
二、学生活动
流程图: 解决问题1的算法是: s1 s←1 s2 i←3 s3 s←s×i s4 i←i+2 s5 若i≤99,则返回s3 s6 输出s 对于以上算法过程,我们可以用循环语句来实现.
(1)“for循环”是在循环次数已知时使用的循环,for i from“初值”to“终值”step“步长” ?end for 例如:问题1中算法可用“for循环”语句表示为: s?1 print s end 说明:①上面“for”和“end for”之间缩进的步骤称为循环体;
②如果省略“step 2”,默认的“步长”为1,即循环时,i的值每次增加1(步长也可以为负,例如,以上“for循环”第1行可写成:for i from 99 to 1 step-2); ③“for循环”是直到型循环结构,即先执行后判断.
其中a为判断执行循环的条件. s?1 print end ③任何一种需要重复处理的问题都可以用这种前测试循环来实现.
四、数学运用 1.例题:
例1.编写程序,计算自然数1+2+3+??+99+100的和。
第三篇:排序算法教学反思
《选择排序》教学心得
教学内容:
选择排序的算法思想 选择排序的实现过程 选择排序的编码实现
总结和思考:大数据背景下的排序
排序(Sort)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。排序方法分为两大类:一类是内排序:冒泡排序、选择排序、插入排序、希尔排序、交换排序、快速排序等;另一类是外排序。
从教学理念上看,本节课利用维果斯基的“最近发展区理论”,把学生的现有水平和兴趣点,结合教学的目标,形成最近发展区。教学着眼于学生的最近发展区,提供带有难度的内容,调动学生的积极性,发挥其潜能,超越其最近发展区而达到下一发展阶段的水平,然后在此基础上进行下一个发展区的发展。
从教学方法来看,主要使用案例分析法、讲授法等,从分析当前流行的冒泡排序算法的案例开始,由浅入深的介绍选择排序的基本概念,算法思想以及编码过程。
从教学过程来看,首先从回顾冒泡排序的内容导入,在改进冒泡排序的过程中,提出选择排序的概念和思想。用直观的动画方式展现选择排序思想和过程,总结分析出关键代码,引导学生写出完整代码,最后分析选择排序的关键点,并提出思考,大数据背景下的排序改进方法。
在整个过程中一直都力求让学生在已知的知识结构中推导、归纳出需要掌握的知识点。但是上完课程后感觉案例还不够多,相对于非计算机的学生来说,算法的分析比编码的过程更加重要。所以学生感到有些难,本来已经调动起来的积极性没能保持到整节课。非计算机专业的学生思考计算机问题深度不够,在以后的备课中要更多的挖掘教学案例的广度和深度,给他们更多的思维训练。
第四篇:《简便算法》教学反思
《简便算法》教学反思推荐简便算法出现在小学四年级下册第三单元,安排在加法运算定律和乘法运算定律之后,简便算法是本章乃至与本册非常重要的一部分,我对简便算法的理解是简便计算应该是灵活、正确、合理地运用各种性质、定律等,使复杂的计算变得简单,从而大幅度地提高计算速度及正确率。
学生在刚开始学习简便算法的时候,表现出很大的兴趣,课堂气氛也非常的活跃,因为在做题过程中运用这些定律摆脱了繁琐的计算过程,不用列竖式,口算即可得出答案,学生非常乐于使用,可是这种兴趣没有持续太久,随着简便算法的类型逐渐地增加,学生们开始混淆了,不知道在什么情况下使用什么样的运算定律,在这种情况下我开始深思,简便算法并不只是盲目的计算,能够准确地简便计算出一道题,需要有敏捷的观察力,运用合理的分析找出这道题可以简便计算的特征。
为了使学生更好的掌握简便算法我做了一下策略:
一,通过一些直接简算的题,让学生总结出常见的可以简算的对象,如25×4=100,125×8=1000,25×8=200.二,学生在实际做题中使用乘法的分配律和乘法的结合律出现混淆的现象,解决这类问题我主要让学生从分配律和结合律的形式上区分,在出现两个积和的形式时我们就往分配律上想,有时会给出乘法分配律的变式形式,这就要求学生对分配律有深刻的认识,可是通过变形找到简便算法。
三,无论是怎样的题型,我们都应该有一个凑整的思想,观察算式的特点,找到适合的方法
四,在简便算法的练习题中不至运用了前两个课时所学习的加法和乘法的运算定律,更引申入减法和除法的运算定律,对于连减连除的问题重要是小括号的添加和去掉小括号时括号内运算符号的改变,总结起来括号外是减或除号时加上括号或去掉括号时,括号里的运算符号变成它相对的符号。
五,培养学生的逆向思维能力,尤其对a-(b+c)=a-b-c和a÷(b×c)=a÷b÷c的运用。逆向运用的训练对于解决简便算法问题很有
必要。
简便运算的思路会有很多,只要把握“凑整”这个解题关键,正确、合理地使用运算定律,就是正确的。本章的学生有助于培养学生的观察力,以及学生的逻辑思维能力,让学生更好地感受到数学的魅力。
第五篇:算法与程序设计教学反思
1.1计算机解决问题的过程 课堂教学反思
2011年01月07日 10:58:52 来源:隆德县第二中学【字体:大 中 小】 “1.1计算机解决问题的过程”课堂教学反思
本节是对用计算机程序解决问题的基本过程的入门介绍,是体验计算机程序,体验并理解用计算机程序解决问题的基本过程。这个过程包含以下环节:分析问题,设计算法,编写程序,调试运行,检测结果。
学情分析:
1、高中学生已具备了较丰富的计算机使用经验,但接触的多是文字处理、媒体表达等常用工具软件及网络应用等,对于计算机程序只有极少的学生接触过,许多学生只是听说,对于计算机程序的工作过程、设计过程知之甚少。
2、高中学生具有很强的逻辑思维能力,也掌握了较高的数学知识水平,对于初步了解计算机程序困难不很大。
我设计了这样一个问题“农夫带着狼、羊、白菜从河的左岸到河的右岸,农夫每次只能带一样东西多河,而且,没有农夫看管,狼会吃羊,羊会吃白菜。”让同学们设计一解决这个问题的方案,大家立刻讨论起来,不一会儿提出了两种不同的方案,问题解决了,通过这个问题的引入,调动了学生的积极性很自然的引入这节课的内容,起到了比较好的作用。紧接着“韩信点兵问题的设计”学生很自然的想到应用计算机解决,成功地引领学生走进了程序设计的殿堂,让他们有兴趣、有意识地进行更多的实践与探索。这种引导,正是本课的重点,也是本课最成功之处。
本节课的目的是通过激发学生的兴趣,吸引学生自主地体验程序,感受程序解决问题的过程,理解程序的概念,从教学效果来看,学生从一开始就被深深吸引,很主动地投入到教学活动过程中探究体验程序的运行过程。
本节课比较困难的是如何向没有任何程序概念、从未接触过程序语句的学生讲述程序及其作用,如何突破这个难点是本节课的关键。为此设计了先让学生体验“100!”的程序,学生体验到计算机的计算能力和运算速度,并且懂得了程序是由一系列语句组成,运行程序计算机会自动按语句执行。
巧妙设计教学任务,采用任务驱动式的教学过程,学生能够体验到应用计算机解决问题的过程,实现本节课的教学目标。
2008年2月20日上午第4节在高一(4)班上了第一节课《1.1 计算机解决问题的过程》。本节主要结合教材上的“华南太阳能设备厂生产方案选择”的实例讲解和体验计算机解决问题的过程。师姐前去听了课。总体来讲效果不是很好。最大的问题在于没有调动学生的学习积极性。从而导致学生没有跟着我一起思考问题,没有理解透彻例题。练习时虽然布置的任务很简单但做出的人不多。课后师姐对本节课进行了点评。现将得到的启示列举如下:
启示一:要重视学生的课堂反应。关注教学中的学生这个要素。教学最终是为了让学生学到知识,提高能力,而不是为了完成教学进度和任务。当学生对提问反应不热烈,只有个别学生回答时,要考虑放慢节奏,让学生把一个环节搞清楚再进入下一个环节。否则也影响学生的学习积极性。
启示二:批评学生要讲究技巧。本节课学生的纪律没有前几个班好,于是我直接作对比说道:我们四班的纪律没有另外几个班好,这样非常容易引起学生反感,既容易对学生的学习积极性产生消极影响又可能影响课堂满意率。所以尽量不要作班之间的对比批评。对比表扬学生倒是很受用。本节课的批评可以改为这样说:“我们班在新的学期表现出了较好的风貌,没有同学迟到,在课堂上玩其他的也没有,这很好。如果在课堂纪律上再加强一点老师就满意了。这一点以后一定要注意。”这样先褒奖再提要求,同时措辞比较委婉可能学生更容易接受。
启示三:提高学生学习积极性的一点。设置简单的、能出成果的课堂练习。让学生觉得学有所得,这样积极性才能提高,才不会厌学。
程序模块的教学很有难度,要认真备好课,想办法激发学生的学习兴趣,让课堂活跃化。才能获得较好的教学效果及课堂满意率。
2008年2月22日在高一(2)班上了本学期第二节课《1.2 算法和算法的描述》。本节课主要讲授算法的概念、三种描述算法的方法、算法的特征,后面要求学生通过猴子吃桃的课后练习巩固流程图描述算法的方法。总体感觉比较好。学生能跟着一起思考问题,同时保持了较好的课堂纪律。王国汉老师前去听了课,并给予了较高评价。以下是评价要点:
本堂课的优点:多次运用对比,联系前后的知识点及例子,瞻前顾后,显得课堂紧促条理;分总结合,注意对所讲知识点进行小结,再进行下面的环节,可以帮助学生梳理知识点;善于运用课堂激励,不断夸奖和鼓励学生,激起他们的学习动力。
缺点:练习题难度较大,具体问题的算法层面没有讲清楚,部分学生不理解解题步骤,自然无法顺利画出流程图。导致这样的原因是部分学生(优生)讲出了解题思路,于是作为教师我没有细致分析解题思路,学生在这里花费了过多时间。
启示如下:其一,教学要面向绝大多数学生,有时甚至是全体学生,不能被部分优生左右了教学进度。要兼顾大家,考虑大多数学生的情况。其二,继续发扬“捧”、“扬”、“夸”的课堂激励机制,学生在轻松夸奖的气氛下思维会更活跃,同时积极性更高,更愿意配合教学。
要“捧”出好的教学效果,“捧”出高课堂满意率。
保持好的心情去上课。记得——微笑。
2008年2月25日在高一(3)班上了本学期第三节课《1.3程序与程序设计》。本节课主要讲授程序的概念及特征、程序的三种基本结构、程序设计语言的发展及高级语言的分类。彭敏老师前去听了课。本节课讲的比较一般,其中课堂练习的设置也不合理:完成课后的第一章扼要回顾及一道已知三角形三边求其面积的题目。
本节内容以理论为主,基本没有涉及实际操作。学生听课兴趣不大。彭敏的意思是略过不讲,因为学生一节课下来学不到东西,文绉绉的理论学生不可能去记,三种基本结构这个本节课的重点内容在教材后面的章节还要继续学习。有一定的道理。后面上课的班级课堂练习只布置了已知三角形三边求其面积,画算法流程图这样一道题目,且略去了对能否构成三角形的判断,大多数学生能够当堂完成。
启示:要合理安排教学内容,不能按教材按部就班;要分析学情,力争让他们每节课都有长进,从他们的角度分析课堂的价值。
后上课的班级,要在前面上过的基础上反思,以改进。
第三节 程序和程序设计语言
教学过程:通过浏览“求三角形面积”源文件,认识程序并理解算法和程序之间的对应关系。通过单步运行“点到直线的距离”、“求绝对值问题”、“0到20之间奇数之和”三个程序,理解程序的三种基本结构。
教学反思:本节课在备课时,基本上是按照教材上的活动顺序来设计导学案,只是把活动一中的“个人理财”程序改为水平考试题“求三角形面积”,和活动二中的程序改为“0到20之间奇数之和”。我觉得这此课设计思路较好,通过引导学生分析程序和单步运行程序,并完成导学案上相应的任务,通过将笔记本电脑连到班通上讲课,使学生比较直观的理解了顺序结构、选择结构和循环结构程序,为以后学习程序设计打下了很好的基础,避免了在机房上课学生思想不集中,用班班通操作VB不方便,直接讲课又不直观的缺点。从已经上过的两个来看效果比较好。
这一节上下来,最大的感触就是对讲课的重点突出有了更深的理解。本节内容很多,涉及VB语言的特点、程序的基本构成、数据类型、常量变量、运算符函数表达式及可视化编程环境。什么是重点?数据类型中的整型和单精度实数以及可视化编程环境。其他的都只能是附带讲一下。因为你想,如果你是学生,一节课下来你能学到多少,全部都细讲等于什么都没讲,学生无法接收消化。后面的练习也要围绕重点,求实用。
有时候上课,换位思考学生的感受,很重要。
2008年3月3日在高一(1)班上了本学期第五节课《2.2程序的顺序结构》。本节课主要讲授顺序结构的执行方式、赋值语句、输入数据的函数InputBox、输出Print和msgbox。讲到赋值,同学们觉得难以理解,特别是实现两个变量值的交换。我灵机一动借助讲台上三个喝水的瓶子,说明了交换过程的三个步骤的含义,学生就理解了。
讲到输入时文本框内的默认值,还渗透语文,讲了“默认”和“缺省”两个词的含义。
后来为了为循环结构埋伏笔,还讲了以“s=s+p,p=p*2”为循环体的循环语句执行方式和结果(s=s+p+ 2p+4p+„)。这两个小环节都没有体现在事先的教学设计中。
启示:
1、讲的东西一定要保证绝大部分学生完全理解,不理解就要反复讲。不关注效果的讲课是失败的。
2、要善于运用其他的教学媒体和教学方式,换思维方式讲解。
3、课堂是活的,要把握好,同时根据需要生成一些事先没有准备的环节或其他东西,有时能起到好的效果。
2008年3月7日在高一(1)班、高一(2)班上了本学期第六节课《2.3程序的选择结构——条件格式》。本节由标准体型的判断引入,内容比较多,涉及条件格式的单行完整模式、单行省略模式、多行模式、关系运算和逻辑运算及其运算顺序等。使用了彭老师的课件。该课件制作精美,原课件流程环节较多,自制资源丰富,是他参加青年教师教学基本功大赛的课件。两个班的课堂都比较沉闷。2班怎么都没办法调动起来,1班稍好一点。连一班都这样让我觉得很不正常。深究其原因,竟然是天气使人困乏,同时适逢三八降至,下午第八节学校组织女儿节活动,大家有一部分心思早跑了。
课堂沉闷,没办法我想尽办法调节。说到标准体型不忘一顿自夸“像我这样就是很标准的啦”,部分学生不认真听讲我说道“有些同学的课堂行为很不利于师生关系和谐”,逻辑运算我还说到了与或非跟数学的交集并集、乘和加,物理中的并联与串联电路的相似之处,可谓旁征博引。但都效果一般。学生有的直接说没有学习的动力。怎么办?程序设计的确是不容易让学生产生学习动力的一个模块。
从一下几个方面努力吧,我想:
1、激励。让学生做出东西。多练。增加成就感。
2、调节。一定要想办法调节到满意的课堂气氛再讲,学生精神好了讲一遍比精神不好讲多少遍都管用。所谓磨刀不误砍柴功,刀磨利了再砍不迟。
3、鼓励班干部做好表率。
路漫漫其修远兮,我将上下而求索。
2008年3月12日下午第八节在高一(1)班上了本学期第八节课《2.4程序的循环结构——FOR循环语句》。本节课是我为参加学校青年教师教学基本功大赛上课比赛精心准备的一堂课。从“国际象棋棋盘上的麦粒”案例引入教学,让学生分析实际问题,经历补充程序、程序挑错、阅读程序最终做到独立编写For语句循环结构的程序。环节设计循序渐进,环环相扣。吴和发副校长(历史)、卢昭琼老师(历史科长)、谢黎川老师(语文科长)、明长杰老师(历史)、杨玉蓉老师(综合科长)、欧阳少英老师(物理科长、特级)、王国汉老师(以上为评委)、赵旭华老师、师姐等参加听课。教学效果:吴校长课后对我笑着说了句“可以”,珊姐评价较好,课堂上的编程练习第一题大部分学生编出来了,第二题也有部分学生编出来。学生在课后围上来说听懂了,“上得这么好”。而且还有学生围上来问没弄明白的地方,这在以前没有发生过,好几个男生还不愿意离开电脑室,不过这次的原因可不是想上网玩,而是继续调试VB程序,令我很开心。
成功的总结:
一、多问,这堂课上课前我问了老爸,一位有近三十年教龄的中学教师,问了师姐,他们都对课的设计及实施提出了很多好的建议,也鼓励我放开讲,要相信自己,极大地鼓舞了我的自信心。妹妹(慧)也电话鼓励我放开讲就好。这样我上课时不再紧张,发挥比较正常。
二、学生比较配合,前面的课中渗透了一些本节课的思想和方法,学生聪明,接受这一部分知识较快,学习效果较好。
三、过程经过了精心设计,课前的一天脑子里冒出几个好的与教学相关的幽默素材,用上效果较好。怎么讲也在其他班试过多次,虽然过程和教学方法不尽相同。
四、本身教学具备一定的经验,课堂调控还行。
启示:
1、要充分自信。要充分相信我的学生,好学生。
2、增加一些幽默素材调节气氛。
3、要完全放开。轻松上阵。不背包袱,不要有负担。
4、有激情点。掌控好时间。
不足:
1、有学生课堂嚼口香糖。要注意并加强课堂管理。
2、课堂纪律感觉没有上学期的公开课好。
3、备课还没有充分备学生。教学设计还有可改进的地方。
记住:自信。我很棒!
微笑。用微笑征服世界。
幽默。大家都笑了。
激情。年轻人的本色。
2008年3月21日下午第6节在高一(2)班上了本学期第九节课《2.4程序的循环结构——DO循环语句》。本节课设计为先复习FOR语句,进行一个程序填空的练习:编程求1000以内的正奇数和。然后结合教材“种树”的案例,分析DO循环的特点及语句格式。最后进行练习巩固,完成教材上的实践1:求使累加和S小于30000的最大正整数N。内容少且相对简单,教学效果却并不是很好。
这里要总结的并不是教学设计和实施方面。我发现我在教师素质上还有待进一步提高,我做不到诲人不倦。讲了多次的“循环终止条件要从两个方面分析,一是不能一开始就满足了,如果一开始就满足那么将不进行任何一次循环,二是要在循环体内让循环终止条件逐渐趋向于满足,否则可能一直循环造成死循环。直到后来,我明确提出循环终止条件不是S<30000,还有学生写S<30000,我就很恼火了。语气也不再平淡,心里也暗骂他们笨还不愿意听讲。这与我之前想要努力做到的完全不符。之前我说的最多的一句是:听明白没有?还不清楚的话我再讲一遍。讲完再问同样的话:听明白没有,没有的话我再讲。再讲完还不明白?那我再讲一遍。直到他们很“无奈地”认真听一遍,弄明白,省得我“这么烦”。
突然想起一句话:没有学不会,只有教不会。没有学不好,只有教不好。反思一下,我还是做得不够。信息技术作为一个不参加高考的科目,学生不可能像语文数学一样去学。这是客观事实。那么我要做的应该是想方设法调动他们的学习积极性,吸引他们参与到教学活动中来。而不是严要求,看到与预期差距大的结果就心里不舒服。
作为信息技术教师,大家都一样。心要宽。要提高素质,提高修养,练好脾气。这样才能做一个合格的教师。
第7节课在高一(1)又不一样了,只要题目给出来,何浩彬就立马能给出答案。甚至比我还快。重点班的学生思维还是活一点。我想另一方面也得益于师生关系的和谐。
最后说一说具体教学内容的两点注意:一是教材上关于种树的累加和分析Tree=Tree+Tree+1这个是有问题的。这样事实上曲解题意为每一年种的树都比前面种的所有树数目多一。程序中Tree=Tree+Age-14则是正确的。二,本节课的练习,教材P54实践1求使累加和S小于30000的最大正整数N,直接将循环终止条件写为S>=30000是不符合题目要求的,此处本来就将N多算了一,如果循环体中N=N+1再放在S=S+N的下面,最后输出应该写为print n-2。程序为:
Private Sub Command1_Click()s = 0 n = 1 Do s = s + n n = n + 1 Loop Until s >= 30000 Print n1 End Sub
《算法与程序设计》的教学反思 标签: 楼梯 案例 算法 结构 教材 分类: 教育随笔 2010-11-05 10:44
在新课程实施过程中,教学反思被视为促进教师专业发展和自我成长的核心要素,学校也倡导教师写教学反思。本人就本学期的教学实践过程中的一些反思小结如下。
1、关于教材
个人认为,新课程标准是进行教学设计的出发点,而教材是进行教学设计的主要依据,也是学生课堂学习的主要依据。本学期信息技术的选修模块我们学校选择的是教育科学出版社的《算法与程序设计》,当时选择这个模块是考虑到算法与程序设计和老教材衔接的比较紧,一是教师容易上手,二是学校无须添加其它机房设备,第三是为了学生的可持续发展,为今后大学的计算机学习打下基础,为通过计算机二级考试而打下铺垫。
从整体章节结构上来看,本套教材还是符合新课程标准的,但是教材上有一些案例和教材的知识结构在课堂教学活动中还是存在一些问题。
(1)难度大
例如第一堂课讲解的有关“韩信点兵”的案例。按理,这个案例可以极大的调动学生的求知欲,是一个好的例题,但是证明这个定理的难度太大了。尽管在集体备课时大家充分讨论了这个问题的证明方法,甚至还请教了数学教师,但是在课堂教学中还是被学生发现了定理证明过程中的一个漏洞。
漏洞如下:被5、7整除,而被3除余1的最小整数是70,由此推导出被5、7整除,而被3除余2的最小整数是70×2;事实上被5、7整除,而被3除余2的最小整数应该是35。所以需要将前提中的“最小”去掉,变为被5、7整除,而被3除余1的整数是70。但是前提改了之后定理的证明就不是那么严谨了。
再回过头来看这个案例在课堂中所起的作用,其实是为了说明人脑解决问题的过程,因此个人认为这个案例完全可以不讲,让学生上网去查找有关证明的资料。课堂上讲解一个学生同样感兴趣,也同样能够说明问题的案例,比如说“韩信分油”的问题。
(2)跨度大
例如第二章一开始就要求学生上机编写一个打字测试程序。在此之前,学生仅仅了解了VB的设计界面,刚刚完成了一个简单程序的编写。而打字测试程序中所涉及到的窗体、控件以及对象的属性、方法、事件,包括VB的事件驱动原理,学生在头脑里是空白的。再加上那么多的程序代码,教师看了也会头疼的。学生一下子要感受这么多的新鲜事物,似乎步子太快了,不符合知识迁移的客观规律。
继续回过头来看这个案例在课堂教学中所起的作用,其实是为了让学生初步了解VB程序建立与运行的一般步骤。老教材在说明这个问题的时候就比较容易让学生上手。案例可以改成学生所熟悉的“求圆的周长和面积”或者是“求物体的位移”,明确给出程序建立与运行的五个步骤,一步一步让学生实践、探索,从而完成这方面的知识建构。
(3)知识结构有不合理的地方
最明显的就是教材第三章和第四章的顺序问题。第三章介绍具体的算法,这是教材的重点,包括五种常用算法,解决了“怎么样”的问题。第四章讲程序设计的思想,介绍VB面向对象的程序设计思想,主要是让学生掌握对象的三要素以及VB的事件驱动原理,解决了“为什么”的问题。知识结构不合理在哪?首先,从第二章的内容来看,第二章介绍的是VB的语言规则(语法)和程序的三种基本结构,解决了“是什么”的问题。从人的认知规律来说,了解了“是什么”之后需要了解“为什么”,最后才是“怎么样”。其次,从第三章具体的内容来看,每一种算法的程序实现都需要涉及到对象的三要素以及VB的事件驱动原理,每一个程序都要修改对象的属性,程序代码的编写也都涉及到VB的事件驱动原理。所以,个人认为第三章和第四章在教学过程中需要灵活的调整两者的顺序。
2、关于学生
个人认为,学生能够学好这门课是教师进行教学活动的最终目的。相对于其它选修模块,算法与程序设计稍显枯燥。如何培养学生的兴趣,进而使学生认真学好这门“副课”,这是个人一直考虑的问题。
(1)就算法与程序设计而言,学生处在同一起跑线上,以前都没有学过。尤其是对一些在其它课程学习中有困难的学生来说,这是一次让他们找回自信的机会。个人一直感到很遗憾,没有在第一节课的时候向学生介绍比尔·盖茨,包括国内的许多IT人物的的传奇经历,让他们一开始就拉近与这门课的距离。
(2)要让学生重视这门“副课”,教师先要重视你的学生。如何让学生感受到呢?个人做了一些尝试,但感觉远远不够。比如在学生进入机房之前,帮他们开好电脑,一方面确保学生的电脑使用正常,另一方面可以让学生心里知道,教师在这里等着他们;需要经常抽查学生的笔记,看看是否写的认真;每一份学案都作详细的批阅,等等。个人也存在这样的想法,是否每个礼拜都可以安排半个小时的作业量?
(3)活跃课堂气氛,拉近教师与学生的距离。是否在课堂上拉着学生的思路跟着教师走,个人认为课堂气氛是否活跃是一个标志。在讲VB语法的两节课上,学生倒是安安静静的在记笔记,个人却觉得站在讲台上毫无激情,当然这跟教学的内容有一定的关系,但个人觉得这堂课很失败。也有灵光一闪的时候,在讲“走楼梯”的算法时,个人随口说道班里的某某同学在走楼梯时如何如何,问某某同学走完n阶楼梯共有多少种走法时,突然课堂里一下子热闹了起来,个人知道,学生在思考了。
(4)有时惩罚是必要的。一次,下午第一节课,全班集体迟到超过了5分钟,问原因,午觉睡过头了,还有学生甚至说教学任务完不成,索性让他们上网。个人当即回答:做梦!最后教学任务完成了,拖课10分钟。
3、关于教学过程
(1)重视知识的最近发展区理论。一个例题或者一个案例不能涉及过多的新概念。例题或案例的呈现需要有一个循序渐进的过程。
比如在介绍循环结构语句时,因为循环结构语句相对来说比较复杂,是学生在算法与程序设计中遇到的第一个难点,因此学生理解起来也比较困难,如何克服这个学习障碍呢?首先教师要讲明白循环结构语句的格式,然后通过一个最简单的例题,比如说求s=1+2+3+„„+99+100,详细讲解循环的各个步骤,接着再举相似的例题进行反复,比如说求s=1+1/2+1/3+„„+1/99+1/100,最后解决求s=1-1/2+1/3-1/4+„„+1/99-1/100的问题。这三个例题都可以套用同一种循环结构,但是前两个例题重点在于循环结构的讲解,而第三个例题是在学生初步掌握循环结构的基础上加以一定的提高:循环体用到了前一节课所学的if语句。
又如在介绍双重循环结构语句时,由于双重循环结构语句是后面具体算法(解析、穷举、查找、排序、递归)的程序结构基础,因此必须要求学生掌握。个人也有体会,掌握起来难度颇大。在教学过程中如何实现由易到难,由简单到复杂呢?个人设计了一个打印图形的五步区:第一步,打印矩形,教师主导,力求讲的清晰明了,学生易于理解;第二步,打印直角三角形,教师修改前一个程序,启发学生,让学生尝试写出程序运行的结果;第三步,打印倒直角三角形,继续启发学生,此时学生为主体,让学生修改程序;第四步,打印奇数行直角三角形,继续启发学生,让学生修改程序;第五步,打印等腰三角形,教师给出提示,让学生参与程序的修改。五个图形环环相扣,程序代码短小精悍,所有代码都套用同一种双重循环结构语句,修改起来较为方便。
(2)尊重学生的思维方式。课堂上需要允许或者鼓励学生发表自己的见解,有时需要对学生意想不到的发现而喝彩。
比如上文所提到的求s=1-1/2+1/3-1/4+„„+1/99-1/100的问题,在教学设计时没有考虑到可以用分支结构语句来实现它,而是这样一段代码:s = s +(1 / i)*(-1)^(i + 1);幸运的是一开始没有给出以上代码,而是让学生来填写这条循环体代码。结果就有学生给出了分支结构的循环体代码:if int(i/2)=i/2 then s=s-1/i else s=s+1/i;个人思考了五秒钟,立即对这种解法给予了充分的肯定,课堂上讲解的内容进行了及时的调整。课后想了想,确实是学生的解法更符合他们的思维习惯,通过条件判断解决正负号的问题,所用的代码正是上一个课时所教授的if语句。个人思考,教学相长,是有道理的。
(3)让枯燥的程序算法转变为贴近生活、有趣味性的实际中来。例如在讲解分支结构的select case语句时,由于是刚过年不久,个人想到了一个有关年货打折的案例,要求学生参考教材上的程序代码进行改写。在最近的复习课上,学生仍然对这个案例记得很清晰。再如上文所提到的“走楼梯”的算法、“韩信分油” 的算
算法与程序设计作为信息技术课程中的选修模块,其内容在广度和深度上都具有较高的要求。课标中对本模块的教学目标表述为“体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”这一表述包含了两方面的要求,即知识目标与能力目标,同时也是两种不同层次的要求。显然,“体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用”是知识目标也就是第一层次的目标,强调的是“体验”和“了解”。“能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题”是能力目标也就是第二层次的目标,强调的是“应用”和解决问题的能力。从课标的行文表述中可以看出,第二层次的目标即能力目标才是本模块教学的落脚点和最终目标。但以个人的教学经验来看,我们的教学大多还徘徊在第一层次上,极少能达到第二层次的高度。作为选修模块的教学,这样的情况是值得我们深思的。