论文部分内容阅读
摘 要 Visual Basic程序设计针对非计算机专业开设,本文介绍了课程的一次教学设计,以任务为动力,逐步深入,从表面到问题实质,从基础知识到编程能力培养,重点强调算法设计时计算机思维方式的培养。设计时突出了教学对象的针对性。
关键词 Visual Basic程序设计 非计算机专业 算法 计算机思维
中图分类号:G424 文献标识码:A
"Loop Structure" Instructional Design
——A Case Study of Visual Basic Programming
WU Xiaoqing
(College of Information Science & Technology, Hai'nan University, Haikou, Hai'nan 570228)
Abstract Visual Basic program design opened for the non-computer professional, this article describes a teaching curriculum design, task force, and gradually deepening from the surface to the real problem, from the basics to programming ability, with emphasis on computer algorithm design thinking when culture. Designed to highlight the relevance of teaching objects.
Key words Visual Basic Programming; non-computer professional; algorithm; computational thinking
1 背景
Visual Basic程序设计在笔者所在的学校是面向非计算机理工科专业学生所开设的计算机基础课。学习本课程目的是掌握程序设计的基础知识和基本方法,使用计算机编程来解决本专业或其他方面的问题,为将来更好地使用计算机打好基础。本次教学设计之前,已经讲过了控制结构中的顺序结构和分支结构,此次课主要介绍循环结构。循环结构是结构化程序设计中重要的一种结构,可以重复执行某些操作,充分发挥计算机的效能。对初学者来说,循环结构更难理解。所以,要对学生逐步引导,使其掌握循环结构的要素以及设计程序时要注意的问题,让其能正确地写出基本的程序。另外,我们会在讲基本编程的同时,融入一些计算机的概念,学计算机不只是学习一些编程语言。
2 教学目标
本次课的教学目标是:(1)理解什么是循环结构;(2)学会将实际问题重复部分用循环结构来实现;(3)掌握循环结构的基本要素及编程方法。
循环结构的基本要素是本次课的重点;将实际问题重复部分用循环结构来实现是难点。
3 教学方法及过程
教学以具体问题为驱动,结合举例,逐层深入,以达到激发学生的学习兴趣,培养其思考、分析和解决问题的能力。讲授过程分以下几个步骤:
3.1 提出问题
展示已经打印的杨辉三角形,见图 1,这种图形化的展示容易将学生引入正题。采用顺序结构和分支结构,编写的程序不能在运行时改变打印的行数,引出本次课的主题-循环结构。
图1 打印杨辉三角形
3.2 建立对循环结构的初步认识
用一个简单的例子说明循环结构程序的写法。先举求从1加到100的累加和的例子,这个例子学生早有所闻,相对容易写出,学生不会感到困难,同时获得了对循环结构的初步认识,引出“重复执行某段代码”这一基本特点,这是循环结构的形式上的特点,也是学生对循环结构的表面认识,主要代码如下:
Do while I<=100 '循环条件
s = s + I '重复执行的代码, s:存放累加和,I:累加的数
loop
3.3 举实例说明循环结构用法
以“迭代法求 近似值”为例,说明只采用采用顺序结构和分支结构,实现起来相当困难,而采用循环结构,设定好近似标准让计算机去做这件事情,则非常高效。代码如下:(近似公式:=1++…,最后一项的值小于10-6 为止)
Do While Abs(t) > 0.000001 '循环条件
sign = sign * (-1) '循环体开始
t = sign / (2 * n + 1) ' n:用于产生分母,sign:符号位,相邻项之间符号相反
s = s + t 's:累加和,t: 用于累加的通项
n = n + 1 '循环体结束
Loop
这个例子让学生对循环结构有了进一步的认识。
3.4 总结出循环结构的的基本要素及优点
在上述两个例子基础上,分析并归纳出循环结构的三个基本要素(循环变量、循环体和循环终止条件),并解释计算机为什么能做到这一点(因为对于非计算机专业的学生,他们没有多少计算机专业课知识),循环结构其实可看作是这两种语句的组合:一个条件判断语句和一个向回转向语句。在此基础上,总结出循环结构的优点:减少源程序代码重复书写工作量,重复执行某段算法,让非计算机专业的学生对循环结构有了更进一步的认识。
3.5 进一步的举例
举十进制到二进制数的转换,为全班同学的成绩根据平均分进行“优”、“良”、“中”、“及格”和“不及格”分级,通过这些实例,让同学分析和解决此类问题的能力有所提高。 3.6 结合开始的举例,进行总结
通过对图1的输出结果分析,发现每行元素个数与行号一致,除第1、2行元素外,其余各行两边元素均为“1”,中间元素是其上一行斜上方两元素之和。求出各个元素之后,再用循环将元素输出。用循环结构实现这种有规律的问题求解很合适。程序代码如下:
For i = 1 To n – 1 '产生数组各元素,n为行数
a(i, 0) = 1: a(i, i) = 1 '两边元素赋值
For j = 1 To i - 1
a(i, j) = a(i - 1, j - 1) + a(i - 1, j) '中间元素计算
Next j
Next i
For i = 0 To n – 1 '按图形输出结果
Picture1.Print Tab(15 - 2 * i);
For j = 0 To n - 1
Picture1.Print Spc(3 - Len(Str(a(i, j)))); a(i, j);
Next j
Picture1.Print
Next i
编写的代码解决了本次课一开始提出的问题,让学生有一种成就感。在此例基础上,改变输出行数,改变图形的输出形状,让同学体会循环结构的奇妙,只要总结出求解问题的规律,循环结构就能解决复杂的问题,这正是计算机的强大所在。
4 教学总结
(1)教学过程由浅入深,符合学习规律。Visual Basic程序设计这门课的一个班的班级人数较多,教学主要是老师教授,这样,教学设计对于提高学生学习兴趣,保证教学质量尤为重要。本次教学设计,先给出杨辉三角形的图形显示,提起同学对本次课的兴趣。接着,举了求累加的例子获得对循环结构的感性认识,总结了循环结构的三要素及其优点。进一步,举了迭代求圆周率的近似值,让同学对循环结构的用法认识更进一步,最后回到一开始所提的打印杨辉三角形问题,使所学的知识进一步巩固。
(2)设计教学实例考虑教学了对象。设计的实例有简单的求累加和,也有让同学体会循环体变量有规律变化的迭代法求圆周率,此例中,有符号位、通项、累加和这三个变量在变化。在打印杨辉三角形中,融合了数组的使用,让同学对计算机的特点认识提高。
(3)注意对学生计算机思维方式的培养。非计算机专业的理工科学生,虽然思维方式比较严谨,但由于接触计算机专业知识不多,特别是大一学生,有的还带有中学阶段的思维方式,应该提醒他们注意,数学等式和计算机语言中常见的赋值语句(比如x = x+1)之间的区别,赋值语句的左右两端是不一样的,两边不能互换位置。另外,由浅入深地对学生讲述了计算机语言中编程的方方面面,由简单变量到数组,特别是二维数组与矩阵的关联。告诉同学,变量名就类似于仓库的编号,变量值类似于仓库实际存放的东西,数组是连续存放的一组变量,把二位数组想象成一张表,让同学在学习中不会觉得很抽象。
(4)注重学生对讲授内容的反应。非计算机专业理工科学生,虽然思维比较严谨,但也存在学生水平参差不齐的情况,有的学生对于计算机学习感到较难。授课时,尽量使用易懂的方式让同学理解所讲内容,比如有学生提出,不太明白写程序的顺序,我们讲,计算机程序类似于我们所实际生活中做事情,比如,我们的一学期的流程:报到-学习-考试,编程序也一样,一般,放在后面执行的语句需要前面的语句执行的结果,这就是顺序。
(5)尽量采用平实的课堂语言。计算机语言,体现计算机思维,有的内容很抽象,比如一个变量,不直接讲 x就是一个变量,变量是存放我们写程序时要存放的数据的,它有名字和其实,它的名字和同学们的名字功能是一样的,同学的名字是让人叫的,变量的名字是在编程序时让人“叫”的,计算机不像我们人这样具有高度智能,所以,计算机变量不能有重名的。这样,同学会感到,计算机思维也不那么抽象了。
总之,在给非计算机专业理工科学生讲授Visual Basic语言时,进行了一定的尝试,在实例选取、教学语言和对学生的反应方面体现出基础课的特色,为学生进一步学习计算机以及在专业中使用计算机打下良好的基础。
基金项目:省自然科学基金(编号613159)
参考文献
[1] 龚沛曾,杨志强,陆慰民编.Visual Basic程序设计教程.第3版.北京:高等教育出版社,2007.3.
[2] 陈明锐.Visual Basic程序设计及应用教程.北京:高等教育出版社,2008.12.
[3] 裴承丹.分层分类教学模式在独立学院VB教学中的应用探讨.软件导刊,2011.12.
[4] 唐大仕.“递归算法”微课教学设计——以“文科计算机基础(下)”为例.计算机教育,2013.9.
关键词 Visual Basic程序设计 非计算机专业 算法 计算机思维
中图分类号:G424 文献标识码:A
"Loop Structure" Instructional Design
——A Case Study of Visual Basic Programming
WU Xiaoqing
(College of Information Science & Technology, Hai'nan University, Haikou, Hai'nan 570228)
Abstract Visual Basic program design opened for the non-computer professional, this article describes a teaching curriculum design, task force, and gradually deepening from the surface to the real problem, from the basics to programming ability, with emphasis on computer algorithm design thinking when culture. Designed to highlight the relevance of teaching objects.
Key words Visual Basic Programming; non-computer professional; algorithm; computational thinking
1 背景
Visual Basic程序设计在笔者所在的学校是面向非计算机理工科专业学生所开设的计算机基础课。学习本课程目的是掌握程序设计的基础知识和基本方法,使用计算机编程来解决本专业或其他方面的问题,为将来更好地使用计算机打好基础。本次教学设计之前,已经讲过了控制结构中的顺序结构和分支结构,此次课主要介绍循环结构。循环结构是结构化程序设计中重要的一种结构,可以重复执行某些操作,充分发挥计算机的效能。对初学者来说,循环结构更难理解。所以,要对学生逐步引导,使其掌握循环结构的要素以及设计程序时要注意的问题,让其能正确地写出基本的程序。另外,我们会在讲基本编程的同时,融入一些计算机的概念,学计算机不只是学习一些编程语言。
2 教学目标
本次课的教学目标是:(1)理解什么是循环结构;(2)学会将实际问题重复部分用循环结构来实现;(3)掌握循环结构的基本要素及编程方法。
循环结构的基本要素是本次课的重点;将实际问题重复部分用循环结构来实现是难点。
3 教学方法及过程
教学以具体问题为驱动,结合举例,逐层深入,以达到激发学生的学习兴趣,培养其思考、分析和解决问题的能力。讲授过程分以下几个步骤:
3.1 提出问题
展示已经打印的杨辉三角形,见图 1,这种图形化的展示容易将学生引入正题。采用顺序结构和分支结构,编写的程序不能在运行时改变打印的行数,引出本次课的主题-循环结构。
图1 打印杨辉三角形
3.2 建立对循环结构的初步认识
用一个简单的例子说明循环结构程序的写法。先举求从1加到100的累加和的例子,这个例子学生早有所闻,相对容易写出,学生不会感到困难,同时获得了对循环结构的初步认识,引出“重复执行某段代码”这一基本特点,这是循环结构的形式上的特点,也是学生对循环结构的表面认识,主要代码如下:
Do while I<=100 '循环条件
s = s + I '重复执行的代码, s:存放累加和,I:累加的数
loop
3.3 举实例说明循环结构用法
以“迭代法求 近似值”为例,说明只采用采用顺序结构和分支结构,实现起来相当困难,而采用循环结构,设定好近似标准让计算机去做这件事情,则非常高效。代码如下:(近似公式:=1++…,最后一项的值小于10-6 为止)
Do While Abs(t) > 0.000001 '循环条件
sign = sign * (-1) '循环体开始
t = sign / (2 * n + 1) ' n:用于产生分母,sign:符号位,相邻项之间符号相反
s = s + t 's:累加和,t: 用于累加的通项
n = n + 1 '循环体结束
Loop
这个例子让学生对循环结构有了进一步的认识。
3.4 总结出循环结构的的基本要素及优点
在上述两个例子基础上,分析并归纳出循环结构的三个基本要素(循环变量、循环体和循环终止条件),并解释计算机为什么能做到这一点(因为对于非计算机专业的学生,他们没有多少计算机专业课知识),循环结构其实可看作是这两种语句的组合:一个条件判断语句和一个向回转向语句。在此基础上,总结出循环结构的优点:减少源程序代码重复书写工作量,重复执行某段算法,让非计算机专业的学生对循环结构有了更进一步的认识。
3.5 进一步的举例
举十进制到二进制数的转换,为全班同学的成绩根据平均分进行“优”、“良”、“中”、“及格”和“不及格”分级,通过这些实例,让同学分析和解决此类问题的能力有所提高。 3.6 结合开始的举例,进行总结
通过对图1的输出结果分析,发现每行元素个数与行号一致,除第1、2行元素外,其余各行两边元素均为“1”,中间元素是其上一行斜上方两元素之和。求出各个元素之后,再用循环将元素输出。用循环结构实现这种有规律的问题求解很合适。程序代码如下:
For i = 1 To n – 1 '产生数组各元素,n为行数
a(i, 0) = 1: a(i, i) = 1 '两边元素赋值
For j = 1 To i - 1
a(i, j) = a(i - 1, j - 1) + a(i - 1, j) '中间元素计算
Next j
Next i
For i = 0 To n – 1 '按图形输出结果
Picture1.Print Tab(15 - 2 * i);
For j = 0 To n - 1
Picture1.Print Spc(3 - Len(Str(a(i, j)))); a(i, j);
Next j
Picture1.Print
Next i
编写的代码解决了本次课一开始提出的问题,让学生有一种成就感。在此例基础上,改变输出行数,改变图形的输出形状,让同学体会循环结构的奇妙,只要总结出求解问题的规律,循环结构就能解决复杂的问题,这正是计算机的强大所在。
4 教学总结
(1)教学过程由浅入深,符合学习规律。Visual Basic程序设计这门课的一个班的班级人数较多,教学主要是老师教授,这样,教学设计对于提高学生学习兴趣,保证教学质量尤为重要。本次教学设计,先给出杨辉三角形的图形显示,提起同学对本次课的兴趣。接着,举了求累加的例子获得对循环结构的感性认识,总结了循环结构的三要素及其优点。进一步,举了迭代求圆周率的近似值,让同学对循环结构的用法认识更进一步,最后回到一开始所提的打印杨辉三角形问题,使所学的知识进一步巩固。
(2)设计教学实例考虑教学了对象。设计的实例有简单的求累加和,也有让同学体会循环体变量有规律变化的迭代法求圆周率,此例中,有符号位、通项、累加和这三个变量在变化。在打印杨辉三角形中,融合了数组的使用,让同学对计算机的特点认识提高。
(3)注意对学生计算机思维方式的培养。非计算机专业的理工科学生,虽然思维方式比较严谨,但由于接触计算机专业知识不多,特别是大一学生,有的还带有中学阶段的思维方式,应该提醒他们注意,数学等式和计算机语言中常见的赋值语句(比如x = x+1)之间的区别,赋值语句的左右两端是不一样的,两边不能互换位置。另外,由浅入深地对学生讲述了计算机语言中编程的方方面面,由简单变量到数组,特别是二维数组与矩阵的关联。告诉同学,变量名就类似于仓库的编号,变量值类似于仓库实际存放的东西,数组是连续存放的一组变量,把二位数组想象成一张表,让同学在学习中不会觉得很抽象。
(4)注重学生对讲授内容的反应。非计算机专业理工科学生,虽然思维比较严谨,但也存在学生水平参差不齐的情况,有的学生对于计算机学习感到较难。授课时,尽量使用易懂的方式让同学理解所讲内容,比如有学生提出,不太明白写程序的顺序,我们讲,计算机程序类似于我们所实际生活中做事情,比如,我们的一学期的流程:报到-学习-考试,编程序也一样,一般,放在后面执行的语句需要前面的语句执行的结果,这就是顺序。
(5)尽量采用平实的课堂语言。计算机语言,体现计算机思维,有的内容很抽象,比如一个变量,不直接讲 x就是一个变量,变量是存放我们写程序时要存放的数据的,它有名字和其实,它的名字和同学们的名字功能是一样的,同学的名字是让人叫的,变量的名字是在编程序时让人“叫”的,计算机不像我们人这样具有高度智能,所以,计算机变量不能有重名的。这样,同学会感到,计算机思维也不那么抽象了。
总之,在给非计算机专业理工科学生讲授Visual Basic语言时,进行了一定的尝试,在实例选取、教学语言和对学生的反应方面体现出基础课的特色,为学生进一步学习计算机以及在专业中使用计算机打下良好的基础。
基金项目:省自然科学基金(编号613159)
参考文献
[1] 龚沛曾,杨志强,陆慰民编.Visual Basic程序设计教程.第3版.北京:高等教育出版社,2007.3.
[2] 陈明锐.Visual Basic程序设计及应用教程.北京:高等教育出版社,2008.12.
[3] 裴承丹.分层分类教学模式在独立学院VB教学中的应用探讨.软件导刊,2011.12.
[4] 唐大仕.“递归算法”微课教学设计——以“文科计算机基础(下)”为例.计算机教育,2013.9.