Visual Basic面向对象程序设计

[日期:2019-03-18] 作者:信息技术 次浏览 [字体: ]

Visual Basic面向对象程序设计 

一、活动背景:

程序设计是当今信息技术产业高速发展的基础和源动力,已经高度渗透与融合到国民经济和社会发展的每个领域,其技术水平和发展规模已成为衡量一个国家产业竞争力和综合国力的重要标志之一。程序设计可以培养学生严谨数理思维,挖掘潜力。优质生和特长生通过程序设计提高了思维能力和解决问题的能力,参加程序设计竞赛。程序设计也是计算机科学核心,现有信息技术课程,以多媒体应用、图形化为主,不能体现计算机科学核心。信息技术拥有有自己的学科体系,课程不能以“工具”为中心,要回归其本质“计算科学”,程序设计直接体现“计算科学”,中小学信息技术课开设程序是重要的一环。现代学生的信息接触面已经越来越广阔,适当的了解程序设计,学习基本的程序开发,不仅有助于学生帮助了解社会的发展,提升对人类文明的认识。更是培养其对高新科技浓厚兴趣的有效途径之一。

双流中学实验学校实施“以课程改革为核心的素质教育”,其核心是促进学生个性化学习,培养学生综合实践能力,《Visual Basic程序设计》课程的开发与实施,应运而生。Visual Basic是微软公司推出的面向对象编程工具,它也是基于Windows操作系统可视化编程环境。Visual Basic是极具特色和功能强大的程序设计软件。主要表现在:所见所得的界面设计,基于对象的设计方法,把程序和数据封装起来作为一个对象,每个对象都是可视的,同时,具有较易维护的代码。是程序设计教学的良好载体。

经过了一学期的Visual Basic程序设计学习,学生学习了VB集成开发环境和VB语言的简单语法基础;会使用VB的窗体、VB标签、文本框、命令按钮、以及单选框等控件,同时掌握了这些控件的基本属性设置及访问方法;学习了VB常见变量类型及定义方式、数学运算、布尔运算、赋值语句、分支语句、循环语句等基础语句及其流程;能够编写和调试简单的Visual Basic程序。

二、 活动目标:

通过Visual Basic(以下简称VB)程序设计汇报活动,让学生探究VB语言的编程算法规则,体验VB程序设计语言的设计过程。培养学生初步用VB语言设计短小应用程序的能力。

通过该课程的学习,使学生了解算法和程序设计在解决实际问题中的地位和作用。培养学生的算法思维能力,使学生能利用学过的算法和VB语言解决生活和学习中碰到的一些简单问题。随着学习深入,能够设计出有一定实用价值的程序,让计算“听”自己的话,按自己的意图运行。

让学生感悟程序设计思想,体验程序设计过程,发现计算机运行的原理和规律,激发学生进一步继续学习的热情。让学生体验程序中严谨的态度并养成良好的习惯。引导学生发现程序设计中的美如:程序实现效果的美、算法代码规律美、数学模型的结构美。让学生的个性特长得到充分的展现和发展。

三、活动流程:

(一)导入新课

程序设计“大佬”介绍:比尔-盖茨13岁开始学习编程,后创建微软,成为世界首富。马克-扎克伯格10岁开始学编程后来他创立了著名网站Facebook成了最年轻的亿万富翁。百度创始人李彦宏、腾迅创始人马化腾、新浪创始人王志东、网易创始人丁磊、360创始人周鸿祎,小米创始人雷军.....他们都有共同一个共同的起点—程序设计。

巨人是学习榜样,是我们的目标,让我们也一同走进Visual Basic程序设计。

经过大半学期的Visual Basic(VB)程序设计学习,我们学习了:

1、 了解了程序基本知识及常用程序设计语言;

2、 VB集成开发环境和VB语言的简单语法基础;

3、 会使用VB的窗体、VB标签、文本框、命令按钮、以及单选框等控件,同时掌握了这些控件的基本属性设置及访问方法;

4、 学习了VB常见变量类型及定义方式、数学运算、布尔运算、赋值语句、分支语句、循环语句等基础语句及其流程;

5、 能够编写和调试简单的Visual Basic程序。

同学们在学习过程中有什么想法或困惑,我们就请一些同学来展示他们的学习的过程,编程实例及相关经验介绍。

(二)小组汇报

1、利用循环程序实现老鼠繁殖数量模拟。

小组成员:刁俊熙(7.3)、徐伊雯(7.3)、付敏(7.6)

1)需求分析

老鼠作为“四害”之一 ,十分猖獗。其根本原因老鼠的繁殖能力十分惊人。老鼠的繁殖能力极强,如果让雌、雄老鼠交配,母鼠21天就可以产下幼鼠。雄性幼鼠30天后就进入成年;雌性幼鼠40天以后就可以繁殖下一代。这些年轻的老鼠又会接连不断地生下幼鼠,生下幼鼠后,在6-10小时内又可进行交配,怀下另一胎。这样父母和子女同步生产,就像繁殖机器,使老鼠数量急剧增加。

一对成年老鼠若干月后究竟能繁殖多少后代呢?如果用实验的方法来探究这个问题,那么,不管是时间成本、经济成本还是环境成本……代价都是巨大的。所以我们不可能用真实的实验来呈现老鼠的繁殖的规模!计算机模拟实验无疑是这个问题是最佳解决方案。

2)系统设计

    界面及接口设计:通过输入初始老鼠数量、繁殖时间等参数后计算机自动运行模拟计算出老鼠繁殖的总量。

模型设计:为了简化数学模型我们先做以下假设:a)、一对老鼠每月繁殖一胎、平均6只。即:初生幼鼠数量=成年鼠/2 *6,(也可以简化为:初生幼鼠数量=成年鼠*3)。 b)、初生幼鼠经历三个月后长成年老鼠。c)、老鼠总量=幼鼠+成年鼠。

3)程序编码

a)变量的使用 对于不同月龄的老鼠数量用不同的变量表示。其中,初生幼鼠数量用变量n0、一月鼠n1、……成年鼠m。其中幼鼠变量的类型都为整形:Integer,成年鼠的数量有可能会非常庞大所以采用长整型:Long。b)赋值语句 老鼠的繁殖过程可以用赋值语句Let  n0 = m / 2 * 6来实现;而老鼠的生长过程实现起来则要繁琐一些需要几条赋值语句同时使用:

Let  m = n3 + m

Let  n3 = n2Let  n2 = n1Let  n1 = n0而且赋值顺序必须严格按照以上语句顺序进行,否则就会由于赋值混乱造成数据覆盖的严重后果!c)循环结构的使用 由于可以根据繁殖时间精确得出循环执行的次数所以我们采用FOR循环语句来模拟实现老鼠的繁殖和生长情况,具体语句如下:

For i = 1 To month Step 1

    m = m + n3 

    n3 = n2

    n2 = n1

    n1 = n0

    n0 = m * 3

 Next i

最终老鼠的总量计算则由代码LET m = m + n3 + n2 + n1 + n0实现。

4)程序调试

为了验证程序的执行效果,我们特意编排了一系列数据输入进行测试:

a) 在程序中输入下列数据:1、5、10、 30、0、99999、-5  ……;

b)在程序中输入下列数据:a、B、Hello、“米老鼠”、“唐老鸭”……。经测试,程序对预期正常输入数据能作出正确输出,但对非法输入会报类型错误;超大数据则会溢出。

针对这种情况,我们对程序进行了以下完善:a、利用Val 、IsNumeric函数确保输入的合法性;b、利用if语句和Msgbox提示用户输入有效数据;c、对界面进行了进一步的规范和美化。

5)汇报答辩

由学生观众和汇报成员互动答疑(略)

6)教师点评

老鼠繁殖数量模拟程序属于计算机模拟实验的范畴。所谓计算机模拟实验是指:利用计算机模拟某种自然现象或实验现象。很多实验由于各种局限无法实施,如辐射因素、时间跨度、场地限制、危险系数……这时我们可以进行计算机模拟实验。通过一系列观察和推理过程建立它的数学模型;给定的模型条件下不断调整其参数并进行模型修正。这种计算机模拟实验也称作“干式实验”原子能实验、生物遗传实验、经济调控、气象灾害预报等领域有着广泛的运用。

2、等差数列计算程序

小组成员:吴佳轩(7.20)、刘源炳(7.20)

1)需求分析

    高斯是德国著名的大科学家,高斯最著名的故事莫过于小学时计算1+2+3+...+100的值。当时高斯上小学,老师在班上出了这样一道题,叫大家算。那个老师以为至少要20分钟以后才会有答案,正想休息一下,谁知刚坐下高斯就说算出来了。老师很惊讶,问他怎么算的,他就说先算1+100=101,2+99=101,。。。这样一共有50个101,因此1+2+3+……+100=50501一直加到100其实就是一个经典的等差数列求和的计算。回忆起小学计算等差数列的情形无疑是很多同学的梦魇……

2)系统设计

可以用VB程序求出任何等差数列的和,先用VB计算1到100的和 

 

 

 

 

 

3)程序编码

Dim a, s, d, f, g As Integer Let d = Text1.Text Let f = Text2.Text Let g = Text3.Text For s = d To f Step g     a = a + s Next s Let Text4.Text = a

4)程序调试

Private Sub Command2_Click()Dim tuichu As Integertuichu = MsgBox("确定要退出吗?", 1, "退出")If tuichu = 1 Then EndEnd Sub这样就行了

 

 

5)汇报答辩

由学生观众和汇报成员互动答疑(略)

6)教师点评:在数学物理化学都有很多类似的数列的问题,虽然可以用数学的方法可以得出相应的计算方法,但是,如果要统计计算出相应的结果的话,则十分繁琐。而计算机通过编程则可以高效快速的计算出结果,因此,在物理化学,军事等高科技很多领域,采用计算机编程来计算结果已经必不可少。

3、简易口算训练程序

王智翔、龙威伍、罗博文(7.10)

1)需求分析

口算训练是大家从小学一直到中学数学学习的必修课。我们每一个人都不厌其烦地做了无数道的口算练习、数学老师也孜孜不倦的批改了更多的口算,为了提高计算能力,大家可以说在这方面不断重复花费了太多太多的精力……能否利用计算机来辅助我们提高自己的计算能力呢?答案是肯定的。

首先,我们需要随机生成一道口算加减法算式。用户回答后计算机判断正误并作出相应提示,用户单击“继续”后自动生成新的算式。

2)系统设计

 

 

 

 

 

 

 

 

    为了优化系统界面,我们运用了Label标签进行提示并判断计算的正误。同时运用了一些激励性话语进行评价。TextBox作为口算答案的输入框,但是TextBox的内容为文本类型,因此在判断答案正误时需要结合Val函数的使用才能比较。命令按钮CommandButton则是分别作为调用新算式生成过程以及判断正误过程的触发按钮。

3)程序编码

a) Rnd函数和Int函数的使用。 使用Rnd函数可以产生0~1之间的随机数。所以乘以100就变成了 1~100之间的随机数。Int函数则可以把随机数的小数位裁掉,即取整函数。

Let  a1= Int (Rnd*100)    b) 计算结果的判断

If  k =  Val(Text1.Text)  ThenLabel5.Caption = "正确,你真行!单击“继续”做下一题。"ElseLabel5.Caption = "错了,要计算仔细哦!"Text1.Text = ""

End If

c) Randomize函数的使用。同一台计算机使用Rnd函数每次生成的随机数是一个相同的序列。Randomize语句可以改变这一情况,使随机函数每次生成的随机数都不同,从而让口算算式题目更为随机。

d) 如何实现加减法的随机出现。为了让算式中加减法随机交替出现,我们又一次巧妙的运用了Rnd函数。具体代码如下:

Let d = RndIf d > 0.5 Then   Label2.Caption = "+"   Let k = a + bElse   Label2.Caption = "-"   Let k = a - bEnd If  

4)程序调试

由于Val函数的使用,所以程序运行中没有出现数据类型不匹配的问题。在减法算式中偶尔会出现结果为负数的情况,如果小学生用到这个程序就可能无法解答的问题。为了解决这个小Bug又加入了以下代码:

If a < b Then

   Let c = b

   Let b = a

   Let a = c

 End If

这样就再也不会出现结果为负数的情况了。

5)汇报答辩

由学生观众和汇报成员互动答疑(略)

6)教师点评:计算机辅助教学(Computer Aided Instruction 简称 CAI)是计算机运用中的一个重要领域。学生计算能力的培养是数学教学中的基石。这个口算训练程序有着广泛的运用前景,可以让学生书包中的口算练习本全部“退休”!同时,也可以让辛苦的数学老师从批改口算本的繁重工作中解放出来,是一个非常不错的CAI程序。这个程序还可以进一步完善和优化:可以设定难度控制标志用于改变口算的难易程度,以覆盖更为广泛的学生群体。同时可以进一步加入乘数法的运算,让程序的功能更加完善。

(三)教师总结

Visual Basic面向对象程序设计选修课已经成功的开设了一学期了,同学们在课堂中取得了丰硕的成果。但我们开设这门选修课的目标不是为了把大家培养成为一名将来的程序员。

1、 感悟程序设计思想

①抽象:从具体案例和实际问题中抽象出内在的数学模型。如:案例中老鼠的生长过程繁殖过程抽象为循环的过程;加减运算符号的随机转换为随机数大小的判断……    ②算法:同一现象可能会演变为不同的程序模型,程序的算法实现也将衍生出不同的版本。我们需要对比不同算法的实现难度、简繁程度、执行效率等作出选择。    ③角色转变:程序设计要求我们学会从计算机的角度思考问题。例如:从一系列数据中找出最大数,从人类的角度出发,这个问题十分简单。人运用了眼睛、大脑结合比较,具体思维过程一闪而过。而计算机就不同了它面对这些数据就像盲人摸象……所以这就要求程序设计者能够从截然不同的角度分析问题解决问题。

2、 体验程序设计过程

现实需求→建立模型→算法语言实现→调试→完善求精

这是一个完整的程序设计需要经历的过程,同时这也完全符合我们完成某项工作任务的具体流程。而且这个过程更为规范、严谨、完善。

3、 感受跨学科的学习环境

Visual Basic程序设计中全英文的编程环境、数学思维与模型的构建、物理学科知识的支撑……为大家构建了一个自然的跨学科学习环境。   4、态度与习惯的形成

严谨的态度包括:模型建立严谨、算法严谨、语法严谨、……良好的习惯是程序设计的基本要求:变量声明的习惯、赋值的习惯、调试的习惯……   5、发现程序设计中的美

    程序设计中的美包括:程序实现效果的美、算法代码规律美、数学模型的结构美……