📄 vb++
字号:
VisualBasic编程与应用课程作业2
( 2002年05月23日)
第二部分
1、 制作一个万年历,用来查看某年的元旦是星期几。
确定某年的元旦是星期几可由以下式子得出:
F = ( y ― 1 )( 1 + 1/4-1/100+1/400)+1
K = F ― int ( F/ 7 ) * 7
其中,Y为某年公元年号,计算出K为星期几,K = 0为星期日。从文本框(txt Year)输入年份,单击“查看”按钮,在文本框 (txtDay
)中显示星期。
注意:
对数值型变量取整,可以用Fix (x) 和 Int (x) 函数。当函数参数x是正数时, Fix (x) 和Inx (x)
函数结果相同;当参数x 是负数时,则 Int 函数返回小于等于x 的第一个负整数,而 Fix 函数则会返回大于等于x 的第一个负整数。
2、 创建一个登录界面,由两个标签( Label1、Labe12 )和两个文本框 (txtName 、 txt Password
)组成。其中,口令文本框(txtPassword )的 PasswordChar
属性设置为“*”,运行时要求输入姓名和密码,如果在两个文本框中分别输入“Guest:”和“12345”,则界面显示“欢迎使用本系统!”,否则显示“对不起,你不是本系统用户!”。
3、 运用定时器和图片框设计一个简单的动画。
动画场景:界面有两个按钮“缩小”和“暂停”(cmdSize 和
cmdStop)、一个垂直滚动条(VsbSize)、一个图像框(imgSize)和两个标签组成。单击“缩”按钮,就开始定时地缩小图形;单击“暂”按钮,则停止缩小;改变滚动条箭头的位置可以改变缩小的速度。各对象的属性设置如表所示,设置定时器每时间间隔为1秒。
控件 属性
对象 控件名 属性名 属性值
Form Form1 Caption 定时缩小图象框
Label Labe11
Labe12 Caption
Caption 快
慢
CommandButton cmdSize
cmdStop Caption
Caption 缩小
暂停
Image imgSize Stretch
Picture True
C:\Visual
Studio\Common\Graphics\Metafile\Arrows
Timer tmrSize Enabled
Interval False
1000
VscrollBar VshSize Max
Min
LargeChange 950
50
50
4、 使用控件数组创建一个简单的电话拨号程序。
界面中一个文本框(txtPhoneNo)用于显示所拨的电话号码,按钮控件数组(cmdNumber) 用于拨号,Index
属性是0~9,Caption 属性为相应的数字。另两个命令按钮“拨号”和“取消”在本程序中未编程使用。
5、改正下列语句中的错误:
(1) A$ = abc
(2) Print a = 34 + 23
(3) X = 5 y = 6
(4) Print '' c = '':5 + 6
(5) Text1. Print '' # # # # # # # # ''
(6) A * 5 = B +2
6、写出下列语句的输出结果,并上机验证:
(1) Print '' 25 + 32 ''; 25 + 32
(2) X = 12.5
Print ''x = '' ;x
(3)a % = 3.14156
Print a %
(4)Print '' China '';'' Beijing '','' Tianjin '';'' Shanghai '','' Wuhan
'',
Print ''Nanjing '';
Print '' Shenyang '','' Chongqing '';'' Wulumuqi ''
Print ,,'' Guangzhou '',,'' Chengdu ''
(5)Print Tab (5);100;Space $ (5) ;200; Tab(35);300
Print Tab(10);400;Tab(23);500;Space $ (5) ;600
7、写出下列语句的输出结果:
Sub Form_Click( )
A = 10: b = 15: c = 20: d = 25
Print A; Spc(5); b; Spc(7); c
Print A; Spc(8); b; Space$(5); c
Print c; Spc(3); "+"; Spc(3); d;
Print Spc(3); "="; Spc(3); c + d
End Sub
8、从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均数。通过InputBox函数输入数据,在窗体上显示和及平均值。
9、编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。
10、编写程序,求解鸡兔同笼问题。一个笼子中有鸡x只,兔y 只,每只鸡有两只脚,每个兔子有4只脚。今知鸡和兔的总头数为h
,总脚数为f。问笼中鸡和兔各有多少只?
提示:根据数学知识,可以写出如下的联立方程式:
x + y = h (1)
2x + 4y = f (2)
(2)式— 2 *(1)式: 2y = f —2h 故:y =(f — 2h)/ 2
4 *(1)— (2)式: 2x = 4h — f 故:x = (4*h — f )/2
可按上式编写程序。用InputBox函数输入h和f的值,设h = 71,f =158,请编写程序并上机运行。
11、设a =5, b =2.5,c =7.8,编程序计算:
y=丌ab/(a+bc)
12、输入以秒为单位表示的时间,编写程序,将其换算成几日几时几分几秒。
13、可以通过哪几种方法在图片框中装入图形?
14、在窗体上画4个图像框和一个文本框,在每个图像框中装入一个箭头图
形,分为4个不同的方向,把文本框的MultiLine属性设置为True。编写程序,当单击某个图像框时,在文本框中显示相应的信息。例如,单击向右的箭头时,在文本框中显示“单击向右箭头”。
15、在窗体上建立三个文本框和一个命令按钮。程序运行后,单击命令按钮,在第一个文本框中显示由Command1_Click事件过程设定的内容(例如“Microsoft
Visua1Basic”),同时在第二、第三个文本框中分别用小写字母和大写字母显示第一个文本框中的内容。
提示:用第一个文本框的Change事件过程在第二、三个文本框中显示指定的内容。
16、编写程序,演示列表框控件的基本操作。在窗体上建立两个列表框,
两个命令按钮。程序运行后,在第一个列表框中选择所需要的项目,单击“添加”按钮,可把所选择的项目移到第二个列表框中。如果单击“删除”按纽,则执行相反的操作。在第二个列表框中,允许同时选择多个项目。分别在两个列表框的下面显示列表框当前的Style和Sorted属性。
17、编写程序,用计时器按秒计时。在窗体上画一个计时器控件和一个标签,程序运行后,在标签内显示经过秒数,并响铃。
第三部分
1、编写一个求3个数中最大值Max和最小值 Min的过程,然后用这个过程分别求3个数、5个数、7个数中的最大值和最小值。
2、编写一个过程,以整型数作为形参,当该参数为奇数时输出False,而当该参数为偶数时输出True。
3、 分析下面程序运行的结果。
Private Function Multiply (n as Integer) As Integer
Multiply=1
do While n>0
Multiply=Multiply*n
n=n-1
Loop
End Function
Private Sub Form_Click()
Dim Sum As Integer, I As Integer
For I=5 to 1 Step-1
Sum=Sum+Multiply(I)
Next
Print "Sum=";Sum,
End Sub
4、 分析下面程序运行的结果。
Private Function Multiply (ByVal n as Integer) As Integer
Multiply=1
do While n>0
Multiply=Multiply*n
n=n-1
Loop
End Function
Private Sub Form_Click()
Dim Sum As Integer, I As Integer
For I=5 to 1 Step-1
Sum=Sum+Multiply(I)
Next
Print "Sum=";Sum,
End Sub
5、 用函数调用的方法计算∑n
程序分析:
●过程定义语句Private Static Function Fac(n As Integer)
是为了使过程中所有的局部变量为静态变量。在过程头前加上 Static 关键字时,无论过程中的变量是用 Static 、Dim 或Private
声明的还是隐式声明的,都会变成静态变量。
●被调函数Fac 是计算∑n 的值,局部变量f 为静态变量,在每次调用Fac 函数结束时变量 f 的值保留为∑i,再与下次的I+1 相加。
●如果不用Static 声明变量 f ,则以前的和不会保留,每次调用时函数中 f 的初值为0。
● 如果在模块的声明段定义 f,则 f
成为模块级变量,也会收到同样的效果。但是,由于其它过程也可以访问和改变模块级变量的值,所以运算结果也许不可靠,代码将难于维护。
6、 什么是工程?
7、·工程文件的扩展名是________。
答案:( )
A、vbp B、vbg C、vbw D、vbl
8、 什么是过程?
9、填空
a) 函数过程(Function Procedure)用来完成特定的功能并________ 。
b) 子过程是________的函数。又常被称为Sub过程。在事件过程或其它子过程中可以________调用过程。
c) 在事件过程或其它过程中可以 按名称 调用函数过程。
d) 函数过程________返回一个值。
e) VB的代码存储在模块中。在VB中提供了三种类型的模块:________、________、________。
f) 菜单控件只包一个事件________,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。
A、Click B、Load C、GotFocus d、KeyDown
g)使用菜单编辑器创建弹出菜单时,使________为不可见,“Visible属性设置为False。
10、判断正确与错误(正确标√,错误标×,并写出正确答案。)
(1)子过程不能接收参数。( )
(2)函数过程不能接收参数。( )
(3)子过程不返回与其特定子过程名相关联的值。( )
(4)在定义了一个函数后,可以象调用任何一个VB内部函数一样使用它,即可以在任何表达式、语句或函数中引用它。( )
(5)以下两个语句都调用了名为MgProc的Sub过程,A、B是参数。
Call My Proc A、B
MyProc(A、B)
( )
(6)以下两个语句都调了名为Year(Now)的函数
Call Year(Now)
Year Now
( )
(7)标准模块是程序中的一个独立容器,包含全局变量、Function(函数)过程和Sub过程,包含对象或属性设置。( )
11、 选中一个窗体,启动菜单编辑器的方法有哪三种?
12、 什么是动态菜单?
13、 已知弹出菜单的名是aa,填补弹出菜单的代码。
14、
现使用菜单编辑器设计弹出菜单。菜单第一项(使顶级菜单项目)的Caption为“弹出菜单”,Name:“aa”,Visible没有选中,填补弹出菜单的代码。
第四部分
1、什么是多文挡界面?(MDI)
2、什么是文件?
3、文件管理系统有什么作用?
4、文件系统有哪些控件?
5、磁盘驱动器列表发生变动后,如何通知目录列表?
6、目录列表发生变动后,如何通知文件列表?
7、文件按照其数据存放的方式,分为几种类型?
8、如何打开顺序文件?
参数 说明
Pathname 指定文件路径和文件名
Mode 指定文件方式,有Append,Binary,Input,Output或Random方式。
Access 说明打开的文件可以进行的操作,有Read,Write或Read Write操作
Lock 说明其它进程能够对打开的文件进行的操作,有Shared,Lock Read,Lock Write和Lock Read
Write操作。
Filenumber 一个有效的文件号,范围在1到511之间
Reclength 小于或等于32
767(字节)的一个数,对于用随机访问方式打开的文件,该值就是记录长度,对于顺序文件,该值就是缓冲字符数。
9、如何关闭顺序文件?
10、如何向磁盘中读写数据?
11、讨论一下PathName属性。
12、顺序文件、随机文件和二进制文件各有什么特点和用途?
13、设计一个具有读写功能的“小型记事本”。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -