浅谈高中信息技术学业水平测试的复习
2016-10-31濮阳莉
濮阳莉
摘要:在信息技术考试复习阶段,教师要把握重点,制订计划,采取多种方法将知识融汇广通。该文通过对循环结构这一模块的复习,简单谈谈高中信息技术学业水平测试的复习。
关键词:信息技术;复习;一题多解
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2016)22-0123-02
1 概述
随着新课改的不断深化,高中信息技术课程已经成为课程标准要求的必修课,全国各地信息技术学业水平测试是与高考直接挂钩的。
高中信息技术学业水平测试的范围包括必修模块(《信息技术基础》)和四个选修模块(“多媒体技术运用”“网络技术运用”“算法与程序设计”和“数据管理技术”)中必选且只选一个模块作为考试内容,相对其他科目范围不是很大。然而,现在高中阶段学生课业较重,信息技术课一般都是安排在高一、高二阶段一周一节课或者两节课,学生往往在学习新知识时,容易将之前的知识遗忘。因此,在信息技术考试复习阶段,教师要把握重点,制订计划,采取多种方法将知识融汇广通。
下面以复习选修模块《算法与程序设计》中的循环结构为例,简单谈谈高中信息技术学业水平测试的复习。
2 以“水仙花数”的一题多解为例
“一题多解”最多的用在数学和物理的学习上,它能复习巩固多项基础知识,能加深理解和加深记忆多条规律,熟练 多项解题技能,而且锻炼了人的思维能力,有利于培养多角度、全方位地看问题的能力,使我们的头脑更加灵活、聪明。在程序设计的复习中我们可以借助“一题多解”来帮助将学习过的知识做个串联。
水仙花数对于绝大多数学习过程序设计的人来说应该都不会陌生,作为一个经典问题,编程求解的方法着实不少。下面我们就以三位“水仙花数”为例来用“一题多解”的方法复习VB循环的结构。
循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体,但重复一般都是需要条件的,即在满足条件的情况下执行循环体,否则退出循环体。
VB循环结构有两种循环语句,即for/next循环,Do/loop循环。
For-Next循环语句的格式
For <循环变量>=<初值> To <终值> step <步长>
<循环体>
Next <循环变量>
For语句功能:给循环变量赋初值,记录下终值与步长值,判断循环变量的值有无超过终值,没有超过则执行For与next语句之间的语句组(循环体),否则执行Next的后继语句;Next语句的功能:循环变量的值增加一个步长,判断有无超过终值,没有则执行循环体,否则执行Next的后继语句。
题目:设计程序,找出所有水仙花数。(所谓水仙花数,是指一个3位数,其各位数字的立方和等于该数字本身。)
解法一:
程序设计思想:通过枚举三位数的个位十位和百位来解决这个问题。设置三重循环,每位数都是一个循环,使百位数字从1至9,十位数字从0至9,个位数字从0至9,当三个数字的3次方和等于这个三位数时,这个三位数就是水仙花数。
代码如下:
Dim n as integer
For i =1 to 9
For j=0 to 9
For k=0 to 9
n=100*i+10*j+k
If n=i^3+j^3+k^3 then print n
Next k
Next j
Next i
运用for/next循环循环语句的嵌套,这是学生最先想到的方法,也是最容易理解的方法。
解法二:
解法一虽然在理解上学生比较容易接受,但是除了在取值范围上学生容易出现错误以外,由于他们对于程序结构掌握得还不是很熟练所以在程序结构上也会出现这样那样的问题,因此我们可以引导学生用解法二。
解法二程序设计思想:通过枚举所有的三位数来找到所有的“水仙花数”。 我们必须从给定的三位数n=ijk中,分离出百位数字i,十位数字j,个位数字k。而分离i j k也有多种方法,我们可以用n整除100得到i,用(n-i*100)整除10得到j,用n-i*100-j*10得到k。或者用100去除n,然后取整数,就可得I,只要将n-100*i*j再用10去除,然后取整数部分,即可得十位数字j,要得个位数字,只要将n-(100i+10j)即可,然后计算i^3+j^3+k^3看它是否等于n,即可判定该数是否为水仙花数.
代码如下:
For n =100 to 999
i=n\100
j=(n-i*100)\10
k=n-i*100-j*10
If n=i^3+j^3+k^3 then print n
Next n
End sub
或者
Dim i as integer,j as integer ,k as integer
Dim n as integer
For n=100 To 999
i=int(n/100)
j=int((n-x*100)/10)
k=n-int(n/10)*10
If n=i^3+j^3+k^3 Then Print n
Next n
解法三:
以上两种解法对于用枚举法解决的问题我们都是用For—next循环语句,其实这个题我们也可以用循环语句的另一种语句Do—loop循环语句来完成。同样我们需要从给定的三位数n=ijk中,分离出百位数字i,十位数字j,个位数字k,然后计算i^3+j^3+k^3看它是否等于n.即可判定该数是否为水仙花数。
For-Next循环的次数是确定的,如果只知道循环结束的条件,重复执行的次数事先并不知道,这就要使用Do-loop循环。
Do While 条件
循环体
Loop
当VB执行Do While –loop循环时,先判断指定的条件是否为真,若条件为真,执行循环体,条件为假时退出循环体。
代码如下:
Dim i as integer,j as integer ,k as integer
Dim n as integer
n=100
Do while n<=999
i=n\100
j=(n-i*100)\10
k=n-i*100-j*10
If n=i^3+j^3+k^3 then print n
n=n+1
Loop
以上就是以三位“水仙花数”为例来解决VB编程中的“一题多解”。 通过这三种解法,不仅让学生对“水仙花”数这种类型的题目有了深入的了解,更让学生对于循环结构的基本语句以及他们之间的关系有了充分的认识,对于这个知识点的复习效果就达到了高中学生学习程序设计并不是为了培养他们今后个个都成为程序员,而是培养他们对程序设计的兴趣和意识,排除学生畏惧的学习情绪,为他们以后的学习打下一个基础。在教学实践中我感觉用这种方法来复习学生更加容易接受,教学效果事倍功半。
3 总结
1)“吃透基本概念,强化基本操作。”这是我在几年的实践中总结出来的。在复习阶段,吃透基本概念,是信息技术学科的关键,接下来就是动手操作。很多大的实践题都是由基本操作组成的,越是复杂的题目其操作方法就越多,有些同学做不出来归根结底是基本操作不熟练;信息技术学业水平测试的命题,注重考查高中信息技术的基础知识和基本技能,重视联系实际的应用,促进学生在知识与技能、过程与方法、感情态度与价值观等方面的全面发展。
2)目前,信息技术学业水平测试只分合格和不合格两个等级,考试的题目难度系数不大。目前,高中阶段学生的负担比较重,信息技术课时少,我们作为信息技术教师,要认识到信息技术教学的重要性的同时,充分重视高中信息技术学业水平考试,掌握切实有效的方法和技巧,这样才能让我们面对血液水平测试时可以做到游刃有余。
3)高中阶段实行信息技术学业水平测试,是时代的需要,也是我们整个社会在进步的需求。与其他学科相比,信息技术缺少完善的教学经验,这就需要我们信息技术老师在教学过程在不断地学习,在实际的运用中不断的改进教学方法,帮助学生顺利通过考试。
参考文献:
[1] 算法与程序设计(选修)[M].教育科学出版社,2004.
[2] 算法与程序设计实践指导[M].东南大学出版社,2009.
[3] 胡建.做好高中信息技术考试复习的方法[J].教师博览,2014(7):60.
[4] 刘延明.我对高中信息技术学业水平考试的看法[J].信息技术,2011(25):217.
[5] 汤辉.从信息技术考试反思高中信息技术教学[J].教学实践,2014(6):79.