Vb教案.docx
《Vb教案.docx》由会员分享,可在线阅读,更多相关《Vb教案.docx(17页珍藏版)》请在冰豆网上搜索。
Vb教案
第6章程序设计初步
第六章程序设计教案之一
一、教学目的
1.掌握VisualBasic的启动和退出方法。
2.熟悉VisualBasic的窗口组成。
3.初步学会建立和运行VisualBasic程序。
4.学会使用常用控件设计简单界面。
5.学会使用VisualBasic的帮助功能,培养独立获取信息的能力。
二、知识准备
1.VisualBasic的启动与退出。
2.VisualBasic的窗口组成。
3.一个简单程序
4.常用控件
三、内容及步骤
1.建立一个简单的VisualBasic程序。
设计一个程序,在屏幕上显示如图6-1所示的窗体,单击“确定”按钮,在文本框中显示“我的第一个VB程序”,单击“关闭”按钮,关闭窗口,结束程序。
图6-1
操作步骤:
图6-1
⑴启动VisualBasic;
⑵选择“文件(F)”菜单中“新建工程(N)”命令,在弹出的对话框中选择“标准EXE”项,建立一个新的工程;
⑶运用工具箱中的工具在窗体中设计出如图6-2所示的界面;
初始建立的程序界面,各个控件的位置和大小不一定符合要求,VB的“格式(O)”菜单为我们提供了多种调整控件布局的命令,如“对齐(A)”、“统一尺寸(M)”、“水平间距(H)”等,使用这些命令可方便的调整各个控件的位置和大小,美化窗体。
调整图6-2所示界面中两个命令按钮的位置,使它们的上边界对齐的步骤如下:
①在窗体上按住鼠标器左键拖拉出一个包围两个命令按钮Command1、Command2的矩形框,释放鼠标器左键,选定要对齐的两个命令按钮;
②单击作为其它控件对齐标准的控件,如本题中为命令按钮Command1,该控件四周的控点变成蓝色;
③在“格式(O)”菜单的“对齐(A)”命令项中选择相应的对齐方式:
顶端对齐。
请同学们使用“格式(O)”菜单中的有关命令将两个命令按钮调整成相同大小。
⑷设置属性;
完成本程序界面需要设置的对象名和属性:
缺省的对象名
设置的对象名
属性
设置值
Form1
Text1
Command1
Command2
⑸编写事件处理程序;
请写出“确定”和“关闭”两个命令按钮的Click事件过程。
提示:
在“关闭”按钮的Click事件过程使用End语句结束程序。
⑹按F5键运行程序。
单击“确定”按钮,文本框中应显示出“我的第一个VB程序”。
如果程序不能正常运行,修改程序并重新运行,直至正确为止;
⑺选择“文件(F)”菜单中“保存工程(V)”命令,将建立的程序存盘。
如果是第一次保存工程,系统将依次显示出如图6-3和图6-4所示的输入窗体文件名和工程文件名的对话框,如把本题的窗体文件命名为sx6-1-1.frm和sx6-1-1.vbp,则应在两个对话框的“文件名(N)”框中输入sx6-1-1,系统会自动为它们加上合适的扩展名。
⒉设计一个界面如图6-5所示的数字时钟。
为完成该程序,首先应在窗体上建立一个文本框和一个定时器,使用Time函数每隔1s返回一次系统时间,Time函数的用法请查阅联机帮助。
请写出完成本程序界面需要设置的对象名和属性,并编写有关控件的事件过程。
图6-5
缺省的对象名
设置的对象名
属性
设置值
Form1
Command1
Timer1
Text1
四、思考题
⒈除了课本中介绍的方法外,还有一个简单方法用于向窗体添加控件,你会操作吗?
⒉有几种运行程序的方法?
⒊如果程序的界面中,没有提供结束程序的按钮,如前面两题中的“关闭”、“退出”按钮,该如何停止程序的运行?
五、发现与创新
第六章程序设计教案之二
一、教学目的
1.学会使用Let语句给变量提供数据。
2.学会使用InputBox函数输入数据。
3.学会使用Print方法输出数据。
4.初步学会通过设计程序解决问题的方法。
二、知识准备
1.常量、变量、表达式及标准函数的知识。
2.Let语句。
3.数据输入函数InputBox。
4.数据输出方法Print。
5.调试程序。
⑴设计的程序可能会出现错误。
尤其对于初学者来说,出错的机会更多。
因此,应养成上机前设计好界面,编制好代码,并在纸面上仔细检查(称为“静态检查”)无误后才上机操作的习惯。
⑵程序的错误通常分为三类:
编译错误、运行错误、逻辑错误。
①编译错误:
编译错误是由于不正确构造代码而产生的。
如输错了关键字、遗漏了某些必需的标点符号、括号不匹配等,VisualBasic在编译程序时会检测到这些错误。
编译错误还包括语法错误。
例如,可以在一个程序行中定义多个变量,各个变量之间用逗号分隔,如果用分号分隔,这样的错误就属于语法错误。
为便于发现这样的语法错误,可以选定“自动语法检测(K)”选项,方法如下:
选择“工具(T)”菜单中的“选项(O)”命令,出现“选项”对话框,单击其中的“编辑器”标签,然后选定该标签中的“自动语法检测(K)”选项。
选定“自动语法检测(K)”选项后,只要在“代码”窗口中存在一个语法错误,VisualBasic就会立即显示出如图6-6所示的错误消息,同时将错误代码行以红色显示。
图6-7
②运行错误:
运行错误是指程序在运行期间发生的错误,例如有这样一个语句:
c=a/b,如果变量b的值为零,除法就是无效操作。
尽管这个语句本身的语法是正确的,但在程序运行过程中就会发生错误,出现如图6-7所示的对话框。
第一行显示运行错误代号,第二行显示出错信息说明,在窗口的下方给出了如何处理错误的按钮。
③逻辑错误:
当程序未按预期算法执行时就会产生逻辑错误。
如果程序的代码是正确的,没有语法错误,运行时也未执行无效操作,但还是得不到正确的结果。
如把c=a/b输成c=a\b,这样的错误就是逻辑错误。
通常情况下,逻辑错误不会产生错误提示信息,较难排除,只有通过仔细阅读分析、测试程序和分析产生的结果才能检验出来。
调试程序、排除错误的能力,需要不断从上机教学中去锻锻炼才能形成。
三、内容及步骤
1.运行下列程序,观察运行结果,分析有关语句及函数的功能。
⑴PrivateSubForm_Click()
Print123+627
Print"Visual"+"Basic"
PrintSqr(144)
Print64+Abs(-5)
PrintInt(3.14),Int(3.64+0.5),Int(-3.14)
PrintLog(100)/Log(10),Exp
(2)
PrintSgn(169),Sgn(0),Sgn(-10)
PrintSin(30*3.14159/180),Cos(30*3.14159/180)
EndSub
⑵PrivateSubForm_Click()
DimaAsSingle
DimbAsSingle
DimcAsSingle
DimdAsSingle
a=2:
b=10:
c=4.8+0.2
d=(a+2)^(b/c)
Print"a","b","c","d"
Printa,b,c,d
d=d/a*b
c=-(d/b+a)
Printa,b,c,d
EndSub
⑶PrivateSubForm_Click()
DimxAsInteger
DimyAsInteger
x=6:
y=-7
Printx,y
x=x+1:
y=y+3
Printx;y
EndSub
⑷PrivateSubForm_Click()
Print"Computer";
Print"Program"
Print
Print"Visual",
Print"Basic"
EndSub
⑸PrivateSubForm_Click()
DimaAsInteger
DimbAsInteger
DimcAsInteger
a=6:
b=-4
Print"a=";a,"b=";b
c=a:
a=b:
b=c
Print"a=";a,"b=";b
EndSub
⒉如图6-8所示,已知小正方形的边长为15.6cm,大正方形的边长为65.8cm,请设计一个界面如图6-9所示的程序,计算阴影部分的面积。
图6-8图6-9
要求:
写出完成本程序界面需要设置的对象名和属性,并编写有关控件的事件过程。
缺省的对象名
设置的对象名
属性
设置值
⒊已知球的半径为r,设计程序计算球的全面积s和体积v。
计算公式为s=4πr2,
。
要求:
⑴球的半径使用InputBox函数输入,计算结果使用Print方法输出。
⑵代码放在窗体的Click事件过程中。
四、思考题
⒈在VisualBasic中,能不能使用x1、x2形式的变量名?
⒉请仔细分析第1大题中第⑶小题的运行结果,比较符号“=”作为赋值语句中的“赋值号”和数学中的“等于号”的区别?
⒊通过上机教学,你觉得上机操作前应做好哪些准备工作?
五、发现与创新
第六章程序设计教案之三
一、教学目的
1.掌握关系表达式的使用。
2.掌握If语句的四种格式及功能。
3.学会用MsgBox函数输出信息。
4.学会用流程图描述算法。
5.学会编写具有分支结构的程序。
二、知识准备
1.关系表达式。
2.If语句的四种格式。
3.MsgBox函数。
4.程序设计的基本方法
5.文本框控件。
三、内容及步骤
1.编一程序,求如下分段函数y的值。
要求:
⑴先画流程图,后编写代码。
⑵使用InputBox函数输入自变量x,计算结果使用MsgBox函数显示。
⑶代码放在窗体的Click事件过程中。
⒉利用定时器控件实现如图6-10所示的滚动字幕程序,一行“欢迎光临我的个人网站”文字在蓝天白云的背景下从下到上滚动。
要求:
图6-10
⑴单击窗体后,屏幕上显示出“输入”滚动文字的对话框。
⑵请写出完成本程序界面需要设置的对象名和属性,并编写有关控件的事件过程。
缺省的对象名
设置的对象名
属性
设置值
⒊设计一个界面如图6-11所示的程序,求一元二次方程ax2+bx+c=0(a≠0)的根。
由代数可知,先求出
,然后对Δ≥0进行判断,如果条件成立,说明有两个实根,再根据Δ>0或Δ=0,判断出是两个不等的实根,或两个相等的实根。
如果Δ≥0不成立,说明无实数根。
要求:
⑴在输入系数a后,应对其进行合法性检查,如果a=0,使用MsgBox函数显示出错信息,并用SetFocus方法将焦点定位在系数a文本框处,重新输入。
(提示:
在LostFocus事件中检查)
⑵计算结果使用Print方法显示在窗体内的图形框中。
⑶先画出流程图,再写出需要设置的对象名和属性,并编写有关控件的事件过程。
⑷程序设计好后,可能有各种错误。
语法错误在输入程序的过程中就能发现,运行错误也比较容易排查。
但是,即使运行过程中没有出现错误,运行的结果也未必正确,因为程序中出现的逻辑错误,计算机是无法判断的。
例如,如果把求一元二次方程实数根的表达式写成:
x1=(-b+Sqr(b*b-4*a*c))/2*a
程序的运行结果肯定不正确,为了发现这样的错误,应设计一些测试数据并确定预期的运行结果,可为本题设计以下几组数据:
测试数据
预期结果
a=1,b=2,c=-3
x1=1,x2=-3
a=1,b=2,c=1
x1=-1,x2=-1
a=3,b=4,c=5
方程无实根
a=0
重新输入
输入数据,把程序的运行结果与预期结果相比较,看是否一致,如不一致,查找错误,修改程序,直至正确为止。
四、思考题
⒈三种数学符号“≠”、“≤”、“≥”,在VisualBasic的关系表达式中如何书写的?
⒉能否用下述语句实现第1题的分段函数的计算?
为什么?
Ifx<10Theny=Exp(x)
Y=Sqr(x)
⒊要显示出如课本图6-16所示的对话框,应如何设计MsgBox函数的各个参数?
五、发现与创新
第六章程序设计教案之四
一、教学目的
1.学会使用For-Next语句实现计数循环。
2.学会使用DoWhile-Loop和Do-LoopUntil语句实现条件循环。
3.学会使用双重循环解决问题。
二、知识准备
1.For-Next语句的格式及功能。
2.DoWhile-Loop和Do-LoopUntil语句。
3.循环的嵌套。
三、内容及步骤
⒈编写程序求下式的值(n从键盘输入)。
要求:
先画出流程图,然后再编写代码。
⒉用近似公式求自然对数的底e的值,直到某一项的值小于10-5为止。
要求:
先画出流程图,然后再编写代码。
⒊执行以下程序,观察结果,分析双重循环的执行过程。
PrivateSubForm_Click()
DimiAsInteger
DimjAsInteger
Fori=1To2
Forj=3To4
Printi,j
Nextj
Nexti
EndSub
⒋请设计一个程序,从键盘输入行数n的值,在窗体上打印出如图6-12所示的图形。
图6-12
四、思考题
⒈你是用何种循环结构实现第2题程序的,如果是用DoWhile-Loop循环实现的,把它转换成用Do-LoopUntil循环实现。
请问转换时,能不能把While子句中的“条件”直接用到Until子句中去?
反过来怎样?
⒉在你设计的第4题程序中,当输入不同大小n值后,图形是不是总能保持图示形状?
如不能,为什么?
该如何修改程序,才能使图形一直保持对称?
五、发现与创新
第六章程序设计教案之五
一、教学目的
1.掌握定义数组和引用数组元素的方法。
2.应用数组解决与数组有关的简单问题。
3.掌握两种常用算法——简单选择排序和顺序查找。
二、知识准备
1.数组的概念。
2.一维数组。
3.二维数组。
4.随机函数Rnd。
三、内容及步骤
⒈利用随机函数生成10个两位正整数,并把它们按从大到小的顺序打印出来。
要求:
先画出流程图,然后再编写代码。
⒉将下列3×4矩阵输入一个二维数组,找出其中的最大元素以及该元素在数组中的位置。
(提示:
下标0不用。
)
四、思考题
⒈在定义数组时,能不能用变量指定数组的最大下标值?
五、发现与创新