版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高中算法与程序设计课堂教学中学生有效意识的培养桐乡一中 安伶俐【摘要】高中信息技术课程注重学生观察能力、识记能力、操作能力、分析和解决问题能力的培养。本文从自觉构建知识模块意识、审题的精准意识、灵活思考与大胆探究的意识、纠错能力和自我监控意识等几个方面探讨了在高中算法与程序设计课堂教学中培养学生的有效意识。有利于高效的完成教学目标,有利于提高学生的学习能力。【关键词】 信息技术 课堂教学 有效意识问题的提出11例1普源为晚上的班级联欢会设计了一个抽奖程序,将所有同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,程序会随机产生一个1到50的正整数(同时包括1和
2、50),作为中奖编号。图一程序界面如图所示,左边列表框List1中显示同学的编号和姓名,单击抽奖按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4中显示恭喜*同学,其中具体同学的姓名从数组b中获取。解决此问题的程序段如下: (代码略)If t 0 ThenLabel4.Caption = 恭喜 + + 同学 End If (代码略)学生在思考划线处应填入什么,生1的答案: “这里应该填的是*,因为题目中写了,同时在标签Label4中显示恭喜*同学。”生2的答案:“应该填的是“郑向文”,因为图中显示的是“恭喜郑向文同学”。在VB程序设计课堂中出现这样的答案并不是
3、个例,大部分学生在回答这类大题时都体现出观察能力弱,分析问题的能力弱的现象。学生在解题时无法明确题意,找不出关键信息,无从下手的情况。在向老师提问时常常会说:“老师这个题目怎么答,我一点也看不懂。”再分析学生的答题心理可以得出:1.学生确实有些基础知识掌握不牢。2.学生无法将相关知识点串联。3.学生在短时间内对于题目文字偏长,代码偏长的VB大题有畏惧心理,下意识的逃避。4.学生无法在题目文字与图示中提取到有效的关键信息。要应对这些表象问题,笔者认为应该在基本知识技能强化的基础上从以下几个方面培养学生的有效学习意识,提高学生分析解决问题的能力,强大内心,有的放矢,一击即中。一、 引导学生自觉构建
4、知识模块意识知识之间是相互联系的,这种联系又是十分复杂的,解题时,要善于引导学生理清它们之间的复杂关系,自觉构建知识模块意识,保证思维的链条不会因为知识结构欠缺而中断。知识整理的方法很多,可以利用知识之间的因果框架图,也可以利用画“脑图”的方式(以某知识为起点,在头脑中联想与其相关联的各个知识点及其树枝状结构),或者自己在读书笔记上做适合自己的知识整理。例如:在浙江省普通高中会考标准中,通过对选修1算法与程序设计的知识条目解释分析可以看到:单元知识条目考试要求第一单元算法和算法表示1、使用计算机解决问题的一般过程a2、算法及算法的表示方法b第一单元VB程序设计初步1、类、对象、属性方法、事件和
5、事件处理的概念b考试要求注解:a(识记:能记住或复现已学过的信息技术基本知识和操作方法。),b(领会:对已学过的信息技术知识及操作方法,能用自己的语言或动作进行表达、判断和直接运用),c(应用:能用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理)除上表中所示三个知识条目外,其余12个条目考试要求都是c,即应用要求。应引导学生按考试要求建立知识模型,并善于从自我的知识结构中进行知识整合,勤于回顾,有利于自身知识阶段进步。案例1中包含了变量,对象,事件,函数,语句等几乎涵盖了VB中的基础知识点。解题时如果明确了各个知识点在相关知识链上的位置和作用就会提高效率,事半功倍。
6、通过上例我们可以构建出知识树如下:变量知识树数组变量定义一维数组dim a(1 to 5)as integerdim a(5)as integer二维数组dim a(1 to 2,1 to 5)as long赋值a(I)=表达式常见于循环中的赋值i(循环变量)指数组元素下标a(i)指数组元素值应用存储一批同类型数据单一变量定义dim a as integer赋值a=表达式应用存储一个数据变量命名可包含字母数字下划线必须以字母开头不能用VB中的保留字变量类型integer(-32768-32767) 整型long长整型single单精度实数double双精度实数string字符串常量加,如123
7、boolean逻辑值为:True或false教师还可以扩展延伸知识点,增加知识树中涉及到的相应练习题。下例是一道关于变量的练习题:例2:某校对新入学的320名高一男生进行1000米耐久跑测试,测试成绩保留2位小数。在Visual Basic中,下列存储成绩数据的变量定义最合适的是(A)定义320个整数型变量(B)定义1000个整数型变量(C)定义一个元素个数为320的一维数组,数据类型为整数型(D)定义一个元素个数为320的一维数组,数据类型为单精度实数型题目从实际出发考查到一批同类型的数据最适合使用定义数组变量的方式,并考虑成绩的数据类型要保留2位小数不能使用整型应当使用单精度实数型。教师还
8、可在此基础上扩展,增加提问:如何用VB定义一个元素个数为320的一维数组,数据类型为单精度实数型,请同学试着写出答案。二、培养学生审题的精准意识在例1中,生1在审题时只看到题目中“在标签Label4中显示恭喜*同学”这半句话,而忽视了后面的“其中具体同学的姓名从数组b中获取”;生2则审题过程中只注意图示中的输出结果,而忽视了题目中“随机抽奖”的题意。因此,教师在课堂应注意指导学生如何审题避免解题思路走入误区。培养学生审题的精准意识就是教会学生在答题前精审题干、读懂题意、看清图示、瞄准变量、数组、对象、函数在题目中的作用,提取有效信息。例如,在分析程序应用题时,让学生养成如下的五步观察解题法:一
9、、 输入 二、输出三、算法 四、函数 五、流程图 具体方法为逐步观察分析下列内容:1、 输入项有吗?通过什么对象输入?保存在哪里?2、输出项?输出在什么对象?输出的是谁?什么事件触发?3、程序的目的?算法应用的是?4、有无自定义函数?如果有,函数的作用是?(通常会有注释说明)函数名是?调用函数点?函数返回值?5、有无流程图?如果有对照流程图找到填空点,写出相应答案。下面,我们以例1为例展开五步观察法。例1. 普源为晚上的班级联欢会设计了一个抽奖程序,将所有同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,程序会随机产生一个1到50的正整数(同时包括1和50)
10、,作为中奖编号。图一程序界面如图一所示,左边列表框List1中显示同学的编号和姓名,单击抽奖按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4中显示恭喜*同学,其中具体同学的姓名从数组b中获取。解决此问题的程序段如下:Dim a(1 To 50) As IntegerDim b(1 To 50) As StringFunction search(m As Integer) As Integersearch = 0For i = 1 To 50 If m = a(i) Then search = a(i) End IfNext iEnd FunctionPriv
11、ate Sub Command1_Click()Dim c As Integer,t as integerRandomize Label3.Caption = Str(c)t = search(c) If t 0 Then Label4.Caption = 恭喜 + + 同学 End If End SubPrivate Sub Form_Load() 此过程用于对数组a和数组b进行初始赋值,代码略End Sub(1)函数search中所用的算法是_。 (选填:顺序查找 或 对分查找)在程序和划线处,填入适当的语句或表达式,把程序补充完整:(2)程序中划线处应填入_。 (3)程序中划线处应填入_
12、。观察并分析如下:1.输入项有吗?通过什么对象输入?保存在哪里?输入同学编号存在数组a ,姓名存在数组b;输入方式题目中略。2.输出项?输出在什么对象?输出的是谁?什么事件触发?单击Command1在标签Label3中输出抽中的编号:Label3.Caption = Str(c)变量c存储随机抽中的编号;标签Label4中显示恭喜*同学:Label4.Caption = 恭喜 + + 同学,具体同学的姓名从数组b中获取。3.程序的目的?算法应用的是?程序目的随机抽取一个号码在数组中查找,并输出结果。采用顺序查找算法。4.有无自定义函数?如果有,函数的作用是?(通常会有注释说明)函数名是?调用函
13、数点?函数返回值?自定义函数 search 用于在数组中查找中奖编号,调用点t = search(c)返回值找到即返回中奖学生编号,未找到即返回0,并且注意函数的返回值送给了变量 t 。5.有无流程图?如果有对照流程图找到填空点,写出相应答案。无。通过这个模式的分析可以得到答案1 (顺序查找);答案2结合上条语句Randomize和下条语句Label3.Caption = Str(c)可得出此处应为随机抽取编号的语句C=int(50*rnd+1);答案3为输出对应编号的同学姓名应为 b(t)或b(c)。三、启发学生灵活思考与大胆探究的意识把握知识内在联系,注重分析和推理勤思、善思。“学而不思则
14、罔”, 思考是学习的灵魂,唯思而明。思考的过程是总结归纳的过程,也是知识深化的过程,更是知识应用的过程。思考是学习者的知识升华,要教会学生如何思考,使知识向纵深发展。学生对于问题的思考常常体现出懒惰的一面,只求表象,不深思,不探究。比如案例1中的问题,有个同学以看图说话方式,认为第二个空Label4.Caption = 恭喜 + + 同学中应填的是“郑向文“。我反问:“你这样设计是指定“郑向文”同学获奖,这样的抽奖程序其他同学能同意吗?“再进一步指导他深入思考,探究抽奖方式随机产生号码C,输出“恭喜编号为C的同学获奖”的通知,这样每点击一次抽奖按钮会随机产生一个号码并输出这个号码的同学姓名。我
15、国的基础教育偏重于理论教育,学生的思考方式也偏重于数学式的理论思考。算法与程序设计与数学知识有着紧密的联系,但是解决问题的方法又截然不同。程序设计突出实际应用,更注重解决问题得到结果。例如对于偶数或奇数的判断学生会先想到用数学理论偶数用2n表示,奇数用2n+1表示,用这样的数学理论做依据,程序设计的算法就变成了输入 nIf 2n+1 then n是奇数 else n是偶数用2n+1做条件显然是行不通的,必须转变学生的这种思维方式,让学生转向走到程序设计的思维路上来。既利用数学理论做基础,又不僵化理论,灵活思考,大胆实践。在数学中对于奇数偶数的解释:用整除的术语来说就是:能被2整除的整数是偶数,
16、不能被2整除的整数是奇数。由此对于一个数n来说如果他不能被2整除即 n mod 20,那么n就是奇数。上述算法应改为:输入 nIf n mod 20 then n是奇数 else n是偶数算法设计完成后还应该实践验证算法的正确性。如利用VB实现算法并调试程序。此时输入需借助 textbox ,输出可以考虑多种方式如利用textbox 、label等。学生建立VB工程,建立窗体,添加text1(输入n),text2(输出结果),添加command1单击事件写程序Dim n as integerN=val(text1.text)If n mod 20 then text2.text=”n是奇数”
17、else text2.text=”n是偶数”启动运行程序,输入任意奇数或偶数点击按钮查看结果。整个过程理论联系实践,灵活思考设计算法,自己动手验证算法,最后解决问题,给学生一种成就感,大大提升了学生的信心。内心强大了,问题就变小了,遇到案例1中的题目时也不会下意识逃避了。四、提高学生的纠错能力和自我监控意识1.程序调试纠错能力。一方面程序调试纠错能力的培养是落实三维目标构建算法与程序设计高效课堂的重要途径。学生在程序调试中难免会出现错误,遇到错误由教师直接指出正确答案的教学是失败的,遇到错误由教师指出改正错误的方法的教学是合格的,遇到错误学生可以自己改正的教学是优秀的高效的。当然学生不可能第一
18、节课学习程序设计就会自己纠错,需要教师在课堂教学中注意培养和提高学生的程序调试纠错能力。如果学生在调试出错时,每次都要依靠教师的帮助来完成改正过程,就会对程序调试产生畏难心理加重学习负担,降低学习兴趣。教师跑来跑去不停帮同学改错的程序设计课堂是低效的甚至无效的课堂,只有培养学生独立调试纠错能力才能生成高效的课堂,减轻学生负担,提高学生自主学习的能力。另一方面,程序调试纠错能力也是浙江省信息技术会考算法与程序设计模块的考察点。在会考复习时对程序调试纠错进行专题训练,有助于学生对错误的总结,反思,提炼。进而巩固所学的知识与方法,提高会考成绩。下面笔者以一节程序改错专题课为例,谈几点帮助学生提高程序
19、调试纠错能力的方法。在课堂上先让学生收集自己在调试程序中遇到的错误。被提到较多的是“要求对象错误”,“子程序或函数未定义”,出现的原因多是学生在打代码时出现的打错字问题。接着提出几个错误,让学生结合VB语法知识判断出错语句,出错原因。例3. 下面程序代码中发生除数为零错误时所执行的语句是( ) Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Single a = 2 b = a + 1 c = a / (b - 3) Text1.Text = Str(c)End Sub例4.下面VB程序段用于计算n2,并将计算
20、结果显示在文本框text2中,调试时出现如下图显示的错误。关于产生错误的原因,下列叙述正确的是( )Dim n As Integer Dim s As Integern = 16s = 2 ntext2.Text = Str(s)(A)216的值太大,计算机无法计算 (B)变量s的值超出其定义类型的数值范围(C)216的值不能在文本框text2中输出 (D)216在VB中不能表示为2n再进行知识迁移,无图情况下判断出错语句,及错误提示。例5运行下面程序代码,会发生 错误,发生错误时所执行的语句是( ),为什么这条语句出错,分析原因。 Dim a(0 To 5) As Integer Dim i
21、 As Integer a(0) = 1 For i = 1 To 5 a(i) = 2 * a(i - 1) + 1 Next i Text1.Text = Str(a(6) 在没有运行的情况下,学生会根据自己的理解解释为“溢出”错误,而运行之后会发现提示的是“下标越界”错误。由此可见程序有规定的程序语言解释方式,与程序的语法设定相关,不能随意用自己的语言组词造句。其次,让学生用怀疑的眼光看VB给出的错误提示。纠错时不能尽信错误提示,而要与代码结合看。如以先给出如下两个例子例6. 例7. 当学生快形成思维定式的时候再甩出下面的例子:例8如果没有前面的例子做对比,学生就此题可能会在选择题中选择
22、错误原因缺少for语句,而此时学生的反应先是诶?产生疑问,师引导提问:“真的没有for吗?”生:“for有的啊。”师:“那少了什么呢?”这时就有思维敏捷的同学发现并回答“是因为少了end if。”师:“所以,这个错误提示有时也是错的,还是需要与代码结合找出真正的错误原因。“这样的对比教学法让学生印象深刻,有利于提高判断问题的能力。2 自我监控意识。自我监控意识既是一种心理适应,又是一种策略。包括基本的时间监控、解题过程监控、方法选择监控、构造模型的监控、试卷整体监控等。考验一个学生整体在特定环境下的心理应对能力,教师平时有意在学生这方面做以必要引导,使学生形成必要的监控意识,有利于在考试中降低错误率,提高考试效率。(1)学生在解题过程中难免会出现马虎,打错字等情况,由此而失分又
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拉萨市墨竹工卡县2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 阿坝藏族羌族自治州红原县2025-2026学年第二学期四年级语文期末考试卷(部编版含答案)
- 铜川市宜君县2025-2026学年第二学期四年级语文第八单元测试卷(部编版含答案)
- 白银市靖远县2025-2026学年第二学期四年级语文期末考试卷(部编版含答案)
- 玉林市兴业县2025-2026学年第二学期二年级语文第八单元测试卷部编版含答案
- 第三节 金属的冶炼与防护教学设计初中化学京改版2013九年级下册-北京版2013
- 活动7 我家厨房“大变身”教学设计小学劳动北师大版五年级-北师大版
- 2026年油气管道施工技术创新与应用展望
- 初中语文女娲造人教学设计
- 书馆防疫工作制度
- 2026工人日报社社招聘7人笔试参考试题及答案解析
- T∕CEA 8019.1-2026 电梯移除工作指南 第一部分 总体要求
- 审计局复审抽审制度
- 2025年幼儿园保育员考试试题及答案
- 2026年宁夏财经职业技术学院单招综合素质考试题库及答案详解(历年真题)
- 2026年宁夏财经职业技术学院单招职业技能测试题库及参考答案详解1套
- 2026春新版二年级下册道德与法治全册教案教学设计(表格式)
- 2026届高三历史复习策略与核心考点精讲
- 鸡场卫生防疫方案制度
- 2026年度大学生云南西部计划考试参考试题及答案
- 中兴新云行测题库
评论
0/150
提交评论