学院
专业
(班级)
姓名
学号
课教师
目录
实验 Visual Basic编程环境控件 1
实验二 窗体基控件 6
实验三 序结构程序设计 13
实验四 选择结构程序设计 19
实验五 选择结构程序设计(续) 24
实验六 循环结构程序设计 30
实验七 循环结构程序设计(续) 34
实验八 常控件 38
实验九 常控件(续) 45
实验十 数组 50
实验十 数组(续) 56
实验十二 序文件 60
实验十三 程 67
实验十四 程(续) 72
实验十五 菜单通话框 77
实验十六 机文件(选作) 80
附录VB统考编程题(精选) 83
期末测题(A卷) 92
期末测题(B卷) 97
实验报告整理编写
机实验结束编写实验报告软件工程求培养科学作风重途径实验报告容包括:
(1)实验目
实验作教学重环节目更深入理解掌握课程教学中关基概念应基技术解决实际问题进步提高分析问题解决问题力着手做实验时候必须明确实验目保证达课程指定基求写实验报告时进步确认否达预期目
(2)实验容
实验目通解决具体问题达书中部分安排实验题目根教学安排进度实验条件提供机时学生基础等素选择中全部实验报告中实验容指次实验中实际完成容实验题目中般提出具体求中具体求达实验目提出仅具体实验题目应包括具体求
(3)程序设计说明
包括算法设计思路必流程图界面设计说明模块变量说明等
(4)源程序代码
Visual Basic源程序包括界面设计代码程序设计产品程序应算法流程图相致户界面设计致程序具易读性符合结构化原
(5)程序运行结果(包括测试数运行结果)
程序运行结果般输出语句输出结果输入输出结果输出结果前般应注明输入数便输出结果进行分析较程序运行中必须种情况数进行调试检查程序否正常运行时程序某情况正常运行某特殊情况数会出现运行出错死机通种数调试量做程序会出问题
(6) 实验体会
分析体会实验中碰问题解决方法实验报告中重项容易忽视项实验程中量工作程序调试调试程中会遇种样问题解决问题积累点验提高编程力实验总结程序调试验总结调试分析包括结果分析体会指通次实验否达实验目基概念澄清碰前没见问题采什方法解决等
实验日期
年 月 日
实验 Visual Basic编程环境控件
实验目
1掌握启动退出Visual Basic方法
2掌握Visual Basic语言程序开发环境
3掌握Visual Basic语言程序设计方法特点
4掌握建立编辑运行保存简单Visual Basic应程序全程
二实验容
申请免费邮箱(果已邮箱请跳)便星期编制程序压缩存放邮箱中(者保存U盘中)便复时
1 创建第应程序编写简单程序实现单击命令钮时文框显示单击命令钮单击窗体空白处时文框显示单击窗体 保存窗体文件名:SY1_1frm保存工程名:SY1_1vbp程序界面图1 1示 图11 实验1运行界面
步骤
① 启动Visual Basic60弹出新建工程话框中选择标准EXE
② 窗体建立文框命令钮
建立方法:左边工具箱单击绘制控件钮鼠标移窗体住鼠标左键画出需框体者双击工具箱绘制控件钮
③ 分选中命令钮文框属性窗口中属性进行设置属性设置参表:
表11 实验1属性设置
象名称
属性
属性值
窗体
Caption
第程序
文框
Text
(空)
命令钮
Caption
命令钮
④ 双击命令钮进入代码窗口中命令钮默认事件编写代码:
Private Sub Command1_Click()
Text1Text 单击命令钮
End Sub
⑤ 双击窗体空白处进入代码窗口中窗体默认事件(Form_Load())右边程列表框中选择Click编写代码:
Private Sub Form_Click()
Text1Text 单击窗体
End Sub
⑥ 单击工具栏钮运行程序分单击命令钮窗体空白处观察文框显示容变化果程序代码错误进入代码窗口中调试程序
⑦ 单击工具栏钮结束程序运行
⑧ 单击工具栏 钮窗体工程分SY1_1frmSY1_1vbp保存磁盘
2 建立应程序 界面图12示窗体包含文框三钮求文框中字体14号黑体加粗颜色红色文容居中显示编写代码实现:
图12 实验2 运行界面
1)显示容钮时文框显示HelloVisual Basic
2)清屏钮时文框中文字消失
3)结束钮程序结束(提示:代码中输入End结束应程序运行)
保存窗体文件名:SY1_2frm保存工程名:SY1_2vbp
表12 实验2属性设置
象名称
属性
属性值
窗体Form1
Caption
文框Text1
Text
Alignment
Font
ForeColor
命令钮Command1
Caption
显示容
命令钮Command2
Caption
清屏
命令钮Command3
Caption
结束
编写代码:
代码
遇问题分析:
3P260 实验A 二3编写程序文字框中统计该窗口鼠标单击次数设计运行界面图13示完成取名保存
图13 实验3 设计界面 运行界面
编写代码:
代码
遇问题分析:
提高题 P259 实验A 二1 编写程序求屏幕显示欢迎学Visual Basci请输入姓名标签文框Text1中输入姓名单击输入姓名钮Label3标签显示文框Text1中输入姓名窗体图14示
Label3
BorderStyle属性设置1
Command1
Text1
Label2
Label1
调整控件容显示两行
图14 提高题 运行界面
编写代码:
代码
遇问题分析:
选作题窗体两名称分C1 C2命令扭文框Text1命令钮标题文框显示字符定编程实现C1时C2标题Text1中容交换求:
1)界面设计 2)连续次单击C1C2标题Text1中容交换
设计界面:
编写代码:
代码
遇问题分析:
实验心体会
成绩:
教师签名:
实验日期
年 月 日
实验二 窗体基控件
实验目
1复启动退出Visual Basic方法
2掌握窗体基事件方法属性学会事件程中编写代码
3掌握文框标签两种控件掌握文框标签控件常属性事件方法间区
4掌握命令钮控件常属性事件方法
二实验容
1设计程序(图21示)窗体模拟黑板窗体没化化钮鼠标单击窗体时窗体输出提问双击时显示回答
分析:窗体装扮成黑板模样设置窗体BackColor属性黑色ForeColor属性白色(模拟粉笔字颜色)窗体没化化钮需设置窗体MaxButtonMinButton属性单击双击时输出显示ClickDblClick事件里PrintCls方法实现
(a)设计状态
(b)运行状态
(c)窗体单击
(d)窗体双击
图21 实验21模拟黑板
1) 属性设置
表21 实验1属性设置
象名称
属性
属性值
窗体Form1
BackColor
ForeColoFont
MaxButton
MinButton
vbBlack
Vbwhite
False
False
2)代码编写
代码
遇问题分析:
Private Sub Form_Load()
Form1Caption 模拟黑板
End Sub
Private Sub Form_Click()
Cls
Print 1+1
End Sub
Private Sub Form_DblClick()
Cls
Print 1+12
End Sub
思考
果进步求机出题(简单数学四运算题)窗体输出显示答案该做
Private Sub Form_Click()
Dim a As Integer b As Integer
a Int(Rnd * 10)
b Int(Rnd * 10)
Print a + b a + b 减法等理
End Sub
2窗体文框Text1求鼠标划文框Text1时鼠标显示Cross┼形状窗体标题复制命令钮C1通属性窗口实现设置编程实现:
1)程序启动时窗体标题修改文框容
2)单击命令钮C1钮标题复制文框钮见
3)单击窗体空白处钮见
Ø 必属性设置
表22 实验2属性设置
象名称
属性
属性值
Text1
mousepointer
2cross
C1
caption
复制
Ø 代码编写
代码
遇问题分析:
Private Sub Form_Load()
Form1caption 修改文框容
End Sub
Private Sub C1_Click()
Text1 C1Caption
C1Visible False
End Sub
Private Sub Form_Click()
C1Visible True
C1Enabled False
End Sub
3窗体四文框两标题分显示选中信息选中文命令钮求程序运行时光标焦点Text1Tab键光标焦点跳Text3文框Text1中输入字符求编程实现: 图22 实验23文信息选定窗体
1)文框Text1中输入行文字回车(Enter)Text1容设置窗体标题
2)Text1中选中中部分容单击显示选中信息命令钮Text1中选中文第字符序号选中文字符数选中文容分显示文框Text2Text3Text4中
3)分文框Text2Text3中输入希文框Tex1中选中文信息序号长度单击选中文命令钮根文框Text2Text3输入容Text1中选中应容时Text4中显示出
提示部分相关属性事件:SelStartSelLengthSelTextKeyPress
Ø 必属性设置
表23 实验3属性设置
象名称
属性
属性值
Text1
text
Text2
text
Text3
text
Text4
text
Command1
caption
显示选中信息
Command2
caption
选中文
Text1
tabindex
0
Text3
tabindex
1
者Text2
tabstop
false
Ø 代码编写
代码
遇问题分析:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii 13 Then Form1Caption Text1
End Sub
Private Sub Command1_Click()
Text2 Text1SelStart
Text3 Text1SelLength
Text4 Text1SelText
End Sub
Private Sub Command2_Click()
Text1SelStart Text2
Text1SelLength Text3
Text4 Text1SelText
End Sub
者 Private Sub Text1_LostFocus()
Text3SetFocus
End Sub
提高题1创建VB工程运行时文框中文字缩原
窗体中包括列控件:标签文框两命令钮窗体标题字符缩文框字号30磅 图23 实验提高1窗体
文框输入串字符缩钮时字号缩原半(会缩半)界面右图
请完善代码:
Private Sub Form_Load()
Text1FontSize 30 ' 设置文框原始字号
End Sub
Private Sub Command1_Click()
Text1FontSize __ Text1FontSize 2_' 文框字体次缩半
End Sub
Private Sub Command2_Click()
__ Text1FontSize 30_____ ' 文框字体恢复30
End Sub
提高题2 P260 实验A 二5 命令钮字号容格式复制练效果右图
求
1)Command1Text1中字体字号根 图24实验实验提高1窗体
命令钮显示求改变
2)Command2求Text1选中容字体格式复制Text2文框中
Ø 代码编写
代码
遇问题分析:
Private Sub Command1_Click()
Text1FontName 隶书
Text1FontSize 25
End Sub
Private Sub Command2_Click()
Text2 Text1SelText
Text2FontName Text1FontName
Text2FontSize Text1FontSize
End Sub
选作题参考P35建立允许剪切复制粘贴简单便笺板程序增加容:利MouseMove事件决定命令钮效性 选中容剪切复制钮效否效
图25 窗体原始界面 运行钮时界面 选中文框部分容界面
Ø 代码编写
代码
遇问题分析:
Private Sub Form_Load()
Command1Enabled False
Command2Enabled False
End Sub
Private Sub Text1_MouseMove(Button As Integer Shift As Integer X As Single Y As Single)
If Text1SelText <> Then
Command1Enabled true
Command2Enabled true
End If
End Sub
代码见p36
实验心体会
成绩:
教师签名:
实验日期
年 月 日
实验三 序结构程序设计
实验目:
1.熟练掌握VB基数类型
2.熟练掌握基输入输出函数语句
3.掌握序结构程序设计方法
实验容
1定义两变量ab值分键盘输入编程计算输出ab差积商ab余数a b值(求设计窗体输入输出必须明确示意提示)
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Click()
Dim a as integerb as integer
a Val(InputBox(输入a值))
b Val(InputBox(输入b值))
Print a a b b
Print a+b a + b
Print ab a b
Print a*b a * b
Print a mod b a Mod b
End Sub
2定义变量a键盘输入值意四位整数编程实现分输出十百千位四数字数字方
提示利mod\运算符位分离
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Click()
Dim a As Integer
Dim b c d e
a Val(InputBox(输入a值求4位整数))
b a Mod 10 '位
c a \ 1000 '千位
d (a c * 1000) \ 100 '百位
e (a c * 1000 d * 100) \ 10
Print 位 b
Print 十位 e
Print 百位 d
Print 千位 c
Print 方 b ^ 2 + e ^ 2 + d ^ 2 + c ^ 2
End Sub
3P262 实验B 二1
Ø 代码编写:
代码
遇问题分析:
Private Sub Command2_Click()
Text1 Format(9 5 * Val(Text2) + 32 0)
End Sub
4设计窗体实现:
1)单击连接Text1Text2容连接起显示Text3
2)单击求求出Text1Text2显示Text3
3)求:单击连接前Text3见点连接连接钮
(a) 设计状态 (b) 运行状态
图31 实验34窗体
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
Text3Visible True
Text3 Text1 & Text2
Command1Enabled False
End Sub
Private Sub Command2_Click()
Text3 Val(Text1) + Val(Text2)
End Sub
Private Sub Form_Load()
Text3Visible False
End Sub
5创建VB工程界面右示编程实现运行时标签中文字字号机放(1~5整数倍)(意例)缩原(原字号)界面右图示
提示 图32 实验35窗体
1)标签AotuSize属性设置FalseTrue什区?
2)变量程序开始运行时记住标签中原始字体(想想放什事件程中?)变量会原键中说明语句放通声明中
3)次放缩键会前基础放缩
4)字体放定程度会出现溢出错误提示先
Ø 代码编写:
代码
遇问题分析:
Dim t
Private Sub Form_Load()
t Label1FontSize
End Sub
Private Sub Command1_Click()
Label1FontSize Label1FontSize * Int(Rnd * 5 + 1)
End Sub
Private Sub Command2_Click()
Label1FontSize Label1FontSize * Rnd
End Sub
Private Sub Command3_Click()
Label1FontSize t
End Sub
6编程实现机产生F~S范围写字母输出该字母应ASCII码值时输出写字母应ASCII码值
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Click()
a Int(Rnd * (83 70 + 1) + 70)
Print Chr(a) ASCII值 a
Print LCase(Chr(a)) ASCII值 Asc(LCase(Chr(a)))
End Sub
选作题1编程解决古代数学问题鸡兔笼已知笼子里总数m鸡兔鸡兔总脚数n求鸡兔少?
提示鸡兔总数m鸡兔总脚数n需预先输入(文框输入框输入)设鸡兔子数分xy通已知输入mn列出方程求解分mn两已知量表示xy
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Click()
m Val(Text1)
n Val(Text2)
y 1 2 * n m
x 2 * m 1 2 * n
Print 鸡 x 兔子 y
End Sub
选作题2编程实现电话号码动升位求原意带区号7位电话号码升8位电话号码前面加8程序运行结果图示(求必须适3位4位区号电话号码)
提示区号电话号码少位找位置前(包括)左子串8面剩字符串 串起
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Click()
a InStr(Text1 )
Text2 Left(Text1 a) + 8 + Mid(Text1 a + 1)
End Sub
提高题参考教材P33例25P65例42完成P263实验B 二2
Ø 代码编写:
代码
遇问题分析:
Const PI 314
Private Sub Command1_Click()
r Val(Text1)
Text2 Format(PI * r ^ 2 000)
End Sub
Private Sub Command2_Click()
r Val(Text1)
Text3 Format(2 * PI * r 000)
End Sub
Private Sub Text1_LostFocus()
If Not IsNumeric(Text1) Then
MsgBox 输入非数字字符请重新输入
Text1
Text1SetFocus
End If
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验四 选择结构程序设计
实验目:
2.掌握逻辑表达式正确书写形式
3.掌握单分支双分支条件语句
实验容
1.编写程序通键盘输入变量x值求函数y值
代码
遇问题分析:
Private Sub Command1_Click()
x Val(Text1)
If x > 0 Then
y Sqr(x)
Else
y 1 Abs(x)
End If
Text2 y
End Sub
2输入串字符串C判断字符串C中第三字符C时利msgbox显示yes否显示No
代码
遇问题分析:
Private Sub Command1_Click()
Dim C As String
C Text1
If Mid(C 3 1) c Then
MsgBox (yes)
Else MsgBox (no)
End If
End Sub
3输入年份判断否闰年输出否闰年相关信息
提示判断闰年条件:年份4整100整者400整:190021002010年闰年20082000年闰年
代码
遇问题分析:
Private Sub Form_Click()
Dim a As Integer
a Text1
If a Mod 400 0 Or a Mod 4 0 And a Mod 100 <> 0 Then
MsgBox (年份闰年)
Else
MsgBox (年份非闰年)
End If
End Sub
4 右图窗体两文框标签命令钮程序运行时分文框中输入两数字单击命令钮进行计算求:Text1中数值等Text2时计算两数否计算两数差运算式结果显示标签中
代码
遇问题分析:
Private Sub Command1_Click()
x Val(Text1)
y Val(Text2)
If x > y Then
Label1 x & + & y & & x + y
Else
Label1 x & & y & & x y
End If
End Sub
进步求两文框中数进行效性判断利文框LostFocus事件进行判断输入数字MsgBox出否重新输入提示提示窗口两命令钮:否显示问号图标回答文框中原容清空光标重新定位文框回答否程序终止
Ø 代码编写:
代码
遇问题分析:
Private Sub Text1_LostFocus()
If Not IsNumeric(Text1) Then
i MsgBox(否重新输入 4 + vbQuestion 警告)
If i 6 Then
Text1
Text1SetFocus
Else
End
End If
End If
End Sub
Private Sub Text2_LostFocus()
If Not IsNumeric(Text2) Then
i MsgBox(否重新输入 4 + vbQuestion 警告)
If i 6 Then
Text2
Text2SetFocus
Else
End
End If
End If
End Sub
5猜数字游戏:事先设定数字(6)程序提示户输入1~10间整数果输入数字事先设置数字相提示输入正确否显示错
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
x Val(InputBox(输入1~10间整数))
If x Text1 Then
MsgBox 输入正确
Else
MsgBox 错
End If
End Sub
提高题1修改面程序输入值设置数字显示错猜输入值设置显示错输入太(请直接题修改)
提示实验属分支结构
Private Sub Command1_Click()
x Val(InputBox(输入1~10间整数))
If x Text1 Then
MsgBox 输入正确
ElseIf x < Text1 Then
MsgBox 错猜
Else
MsgBox 错输入太
End If
End Sub
提高题2通InputBox函数意输入三条边长简单计算判断三条边长否构成三角形文框中显示结果
提示构成三角形必须保证意两边第三边
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
Dim a b c
a Val(InputBox(输入第1条边长))
b Val(InputBox(输入第2条边长))
c Val(InputBox(输入第3条边长))
If a + b > c And b + c > a And a + c > b Then
Print 三边构成三角形
Else
Print 三边构成三角形
End If
End Sub
选作题课堂示例字符串换函数完成时果源字符串中没查找子串程序会出错修改程序没查找子串时弹出没找提示框源串放结果文框中
提示InStr(C1C2) C1中查找C2否存找结果0
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
i InStr(Text1 Text2)
If i 0 Then
MsgBox 没找
Label5 Text1
Else
k i + Len(Text2)
Ls Left(Text1 i 1)
Label5 Ls + Text3 + Mid(Text1 k)
End If
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验五 选择结构程序设计(续)
实验目:
1.掌握情况语句
2 掌握情况语句分支条件语句区
3.掌握分支嵌套语句
实验容
1输入元二次方程ax2+bx+c0系数abc值计算输出元二次方程两根x1x2
提示求根时三数分考虑重根实根情况处理
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
Dim a b c d x1 x2
a Val(InputBox(输入a))
b Val(InputBox(输入b))
c Val(InputBox(输入c))
d b * b 4 * a * c
If d > 0 Then
x1 (b + Sqr(d)) (2 * a)
x2 (b Sqr(d)) (2 * a)
ElseIf d 0 Then
x1 b (2 * a)
x2 x1
Else
MsgBox 实根
End If
Print x1 x1 x2 x2
End Sub
2输入字符判断该字符字母数字字符作相应显示
求分两种语句If ……ElseIf……Select Case 完成
代码
遇问题分析:
If ……ElseIf语句实现
Private Sub Command2_Click()
a InputBox(输入字符)
If a > a And a < z Or a > A And a < Z Then
MsgBox a + 字母
ElseIf a > 0 And a < 9 Then
MsgBox a + 数字
Else
MsgBox a + 字符
End If
End SubSelect Case语句实现
Private Sub Command1_Click()
a InputBox(输入字符)
Select Case a
Case a To z A To Z
MsgBox a + 字母
Case 0 To 9
MsgBox a + 数字
Case Else
MsgBox a + 字符
End Select
End Sub
思考:编写文框中输入字符进行转换程序窗体右图示写字母转换成写字母写字母转换成写字母空格转换余字符转换成*求输入字符马 进行判断转换结果显示Text2中
Ø 代码编写:
代码
遇问题分析:
Private Sub Text1_Change()
a Right(Text1 1)
Select Case a
Case a To z
Text2 Text2 + UCase(a)
Case A To Z
Text2 Text2 + LCase(a)
Case
Text2 Text2 +
Case Else
Text2 Text2 + *
End Select
End Sub
3输入数字(17)英文显示应星期星期日
提示Select Case语句实现
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
a Val(InputBox(输入星期))
Select Case a
Case 1
MsgBox Monday
Case 2
MsgBox Tuesday
Case 3
MsgBox Wednesday
Case 4
MsgBox Thursday
Case 5
MsgBox Friday
Case 6
MsgBox Saturday
Case 7
MsgBox Sunday
Case Else
MsgBox 输入错误
End Select
End Sub
4编程实现简单计算器功求程序运行分输入两操作数运算符(+*)单击计算钮动计算出表达式结果显示运算结果应文框中
提示数0时做适处理
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
Select Case Text2
Case +
Text4 Text1 + Text3
Case
Text4 Text1 Text3
Case *
Text4 Text1 * Text3
Case
If Text3 0 Then
MsgBox 数0
Else
Text4 Text1 Text3
End If
Case Else
MsgBox 输入错误
End Select
End Sub
5密码登录程序求:建立登录窗口求输入帐号密码设定密码Basic1234密码正确显示祝贺成功登录密码正确显示起密码错误法登录统计出错次数输入超3次时退出系统
求帐号6位数字果输入数字足6位出相应提示求重新输入(利LostFocus事件IsNumeri等函数)密码输入时应显示*
提示该题分支嵌套完成
Ø 代码编写:
代码
遇问题分析:
Dim I As Integer '全局变量
Private Sub Form_Load()
Text1Text
Text2Text
Text2PasswordChar *
I 0 '全局变量付初值
End Sub
Private Sub Text1_LostFocus()
If Not IsNumeric(Text1Text) Then
MsgBox 账号必须数字 警告 ' 连续两逗号()缺省钮数目仅确定钮
Text1Text
Text1SetFocus
End If
If Len(Text1) <> 6 Then
MsgBox 密码6位数字 警告
Text1Text
Text1SetFocus
End If
End Sub
Private Sub Command1_Click()
If Text2Text Basic1234 Then
MsgBox (祝贺成功登录)
Else
MsgBox (起密码错误法登录)
I I + 1
If I > 3 Then End
End If
End Sub
参考p65例42
6周实验提高题基础完成输入三角形三条边根边长判断否构成三角形程序构成进步判断三角形类型(等边等腰直角般)
提示该题分支嵌套完成
注:请周程序代码适位置红笔添加代码实现
Private Sub Command1_Click()
Dim a b c
a Val(InputBox(输入第1条边长))
b Val(InputBox(输入第2条边长))
c Val(InputBox(输入第3条边长))
If a + b > c And b + c > a And a + c > b Then
If a b And b c Then
MsgBox 等边
ElseIf a b Or b c Or a c Then
MsgBox 等腰
ElseIf a ^ 2 b ^ 2 + c ^ 2 Or b ^ 2 a ^ 2 + c ^ 2 Or c ^ 2 a ^ 2 + b ^ 2 Then
MsgBox 直角三角形
Else
MsgBox 般三角形
End If
Else
MsgBox 三边构成三角形
End If
End Sub
选做题开始运行左图示单击出题钮计算机动出题窗口右图示时户输入加法运算答案然单击判定钮果户运算正确提示答真聪明否显示错努力啊次出题会出道题
提示①计算机动出题显示题目应该机里必须机函数Rnd值 [01)间机数果区间 [LU] 中机整数应表达式 Int((UL+1)*Rnd+L)
②命令钮Command1次时Caption属性会发生变化出题变成判定判定变成出题出题时会机出题判定时会户输入答案判断错
思考次执行程序否发现次出题目样?解决?
进步修改程序该工程执行10次执行次判断户输入答案否正确正确10分错误分执行10次出总分然关闭该窗体
Ø 代码编写:
代码
遇问题分析:
Dim i As Boolean
Private Sub Command1_Click()
If i True Then
Text1 Int(100 * Rnd + 1) '产生[1100]间机整数
Text2 Int(100 * Rnd + 1) '产生[1100]间机整数
Command1Caption 判定
i False
Else
If Text3 Val(Text1) + Val(Text2) Then
MsgBox 答真聪明
Else
MsgBox 错努力啊
End If
i True
Command1Caption 出题
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
i True
Command1Caption 出题
Randomize 次执行程序次出题目样
End Sub
进步修改程序
Dim i As Boolean
Dim a b
Private Sub Command1_Click()
If a < 10 Then
If i True Then
Text1 Int(100 * Rnd + 1) '产生[1100]间机整数
Text2 Int(100 * Rnd + 1) '产生[1100]间机整数
Command1Caption 判定
i False
Else
If Text3 Val(Text1) + Val(Text2) Then
MsgBox 答真聪明
b b + 1 '统计答题数
Else
MsgBox 错努力啊
End If
a a + 1
i True
Command1Caption 出题
End If
End If
If a 10 Then
MsgBox 答 & b
End
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
i True
Command1Caption 出题
Randomize '次执行程序次出题目样
a 0
b 0
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验六 循环结构程序设计
实验目:
1.掌握For语句DoLoop循环语句
2.掌握循环规执行程
3.掌握控制循环条件防止死循环循环
实验容
1 编写程序输出7倍数中十位数23位数统计数
进步求求满足条件数方
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
t 0
s 0
For i 100 To 999
If i Mod 7 0 And Mid(i 2 1) 2 Then
Print i
t t + 1
s s + i ^ 2
End If
Next i
Print 满足条件 & t &
Print s & s
End Sub
2 编写程序Print语句输出2000年2500年间闰年求行输出8
提示:
1)意种循环语句完成循环体选择结构判断条件
2)设置计数器找闰年输出年份(控制Print输出格式输出换行)计数器值加1计数器值正8倍数时换行
代码
遇问题分析:
Private Sub Command1_Click()
t 0
For i 2000 To 2500
If i Mod 400 0 Or i Mod 4 0 And i Mod 100 <> 0 Then
Print i
t t + 1
If t 8 Then t 0 Print
End If
Next i
End Sub
3 编写程序解决爱斯坦台阶问题:走台阶步走两级剩级步走三级剩两级步走四级剩三级步走五级剩四级步走六级剩五级步走七级刚剩问台阶少少级?(答案:119)
提示Do…Loop语句完成循环体选择结构判断条件
代码
遇问题分析:
Private Sub Form_Click()
f True
x 1
Do While f
If x Mod 2 1 And x Mod 3 2 And x Mod 4 3 And x Mod 5 4 And x Mod 6 5 And x Mod 7 0 Then
Print x
f False
Else
x x + 1
End If
Loop
End Sub
4 国13亿口果口年增长08计算少年达26亿?
(答案:87)
Ø 代码编写:
代码
遇问题分析:
课80页
5 P270实验D二8富翁试图陌生做笔换钱生意换钱规:陌生天富翁10万元钱直满月(30天)富翁第天陌生1分钱第二天2分第三天4分富翁天陌生钱前天两倍直满月分显示富翁陌生钱陌生富翁钱少?
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
Print 陌生富翁钱 & 10 * 30 & 万
t 1
s 1
For i 2 To 30
t t * 2
s s + t
Next i
Print 富翁陌生钱 & s 1000000 & 万
End Sub
提高题10学参加测试分数ABCDE五等级果A计5分B计4分类推求10学均成绩
提示设置变量做累加器Select Case语句实现
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
s 0
For i 1 To 10
a InputBox(输入成绩)
Select Case a
Case A
b 5
Case B
b 4
Case C
b 3
Case D
b 2
Case E
b 1
End Select
s s + b
Next i
Print s 10
End Sub
选作题编程分输出12310结果
进步求求1~10阶(1+2+3++10)
提示计算连累加问题设计累加连问题时定注意存储总积变量初值问题(答案:4037913)
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Click()
t 1
s 0
For i 1 To 10
t t * i
Print t
s s + t
Next i
Print s
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验七 循环结构程序设计(续)
实验目:
1巩固For语句DoLoop循环语句
2掌握循环嵌套
3掌握常算法(求素数穷举法求积递推法)
实验容
1编写程序实现输入意位整数求该整数数位数字提取出该整数逆排列:输入1234567输出位数字7654321逆排列数7654321
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
a InputBox(输入数字)
b Len(a)
For i 1 To b
Print Mid(a b i + 1 1)
Next i
End Sub
2完善程序输入数判断该数否完数子输出图示(数果恰等子数称完数数子指该数身外够整数)例6完数61+2+3
Private Sub Command1_Click()
m Val(Text1Text)
For i 1 To m 1
If 1 m Mod i 0 Then k k + i ' 子
Next i
1
2
3
4
5
If 2 m k Then
Picture1Print m & 完数
Picture1Print m 1
For i 3 2 To m 1 ' 子输出
If m Mod i 0 Then Picture1Print + i
Next i 4
Picture1Print
Else
Picture1Print m & 完数
End If 5
End Sub
3编写程序实现求解50元钱分成元二元五元纸币纸币张数20张分法少种?
代码
遇问题分析:
Private Sub Form_Click()
Print 5元 2元 1元
n 0
For x 0 To 10
For y 0 To 25
z 20 x y
If 5 * x + 2 * y + z 50 And z > 0 Then Print x y z n n + 1
Next y
Next x
Print 分法 & n & 种
End Sub
4参考图算法编写程序输入两正整数求两数公倍数
代码
遇问题分析:
课p87页
提高题1输出斐波契级数11235813……某项数值等30000时结束级数项规律:前两项值1第3项起项前2项(求行输出6项)
代码
遇问题分析:
Private Sub Form_Click()
a 1
b 1
Print a b
i 2
Do While c < 30000
c a + b
a b
b c
Print c
i i + 1
If i Mod 6 0 Then Print
Loop
End Sub
提高题2P269实验D二5编写程序求Sna+aa+aaa+…(na)值中n表示a数a19间机正整数例:a2n5时sn2+22+222+2222+22222
提示断重复数t循环体利通项: t t * 10 + a
代码
遇问题分析:
Private Sub Form_Click()
a Int(Rnd * 9) + 1 [19]
n Int(Rnd * 6) + 5 [510]
s 0
t 0
For i 1 To n
t t * 10 + a
s s + t
Print t
Next i
Print s
End Sub
选作题1完善程序窗体显示规律图形
Private Sub Form_Click()
Dim i
For i 1 To 1 10
Print 2 Tab(20 i) String(2 * i 1 Trim(Right(Str(i) 1)))
Next i
End Sub
提示Tab函数定印位置函数:String RightCStr
1)循环体显示String函数实现找出循环控制变量Sting函数数关系String(j Cstr(i)
2)行0显示面通式行显示1公式进行修改String(jRight(cstr(i)))
选作题2两重循环窗体显示右图结果
提示两种方法解该题:
方法:利数值实现列列号通运算连接起
方法二:利Mid函数取字符串子串实现字符串中断取需子字符串
注意行号负号关系
代码
遇问题分析:
Private Sub Form_Click()
s 123456
For i 1 To 6
For j 1 To i
If i Mod 2 1 Then
Picture1Print & Left(s j) &
Else
Picture1Print & Left(s j) &
End If
Next j
Picture1Print
Next i
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验八 常控件
实验目:
1.掌握单选钮复选框重属性事件方法
2.掌握框架
3.掌握列表框组合框重属性事件方法
实验容
1窗体两复选框名称分Chk1Chk2标题分5整6整命令钮Command1文框Text1编写适事件程程序运行时复选框进行选择单击命令钮根表规定计算100~200间符合求整数结果显示Text1中
选择
求
Chk1
5整
Chk2
6整
Chk1 Chk2
5整6整
选择
1整
Ø 代码编写:
代码
遇问题分析:
Dim s1 s2 定义全局变量
Private Sub Check1_Click()
s1 0 次选择前先清0
For i 100 To 200
If i Mod 5 0 Then s1 s1 + i
Next i
End Sub
Private Sub Check2_Click()
s2 0 次选择前先清0
For i 100 To 200
If i Mod 6 0 Then s2 s2 + i
Next i
End Sub
Private Sub Command1_Click()
Text1 0 次赋值前先清0
If Check1Value 1 And Check2Value 1 Then
Text1 s1 + s2
ElseIf Check1Value 1 Then
Text1 s1
ElseIf Check2Value 1 Then
Text1 s2
Else
For i 100 To 200
Text1 Text1 + i
Next i
End If
End Sub
2窗体包含两名称分Op1Op2单选钮标题分100200素数 200400素数文框命令钮标题求程序运行选中某单选钮单击求钮计算指明范围素数显示文框中
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
If Option1 Then
For m 100 To 200
Tag True
For i 2 To m 1
If m Mod i 0 Then Tag False
Next i
If Tag Then s s + m
Next m
End If
If Option2 Then
For m 200 To 400
Tag True
For i 2 To m 1
If m Mod i 0 Then Tag False
Next i
If Tag Then s s + m
Next m
End If
Text1 s
End Sub
3P237实验E6窗体标题栏显示选课界面窗体两列表框左边List1右边List2中List2中列表项字母序升序显示窗体方文框名Text1请:
1) 写出程序中需属性设置
2)程序运行列表框List1中添加Visual Basic 程序数结构操作系统硬件技术基础计算机网络媒体技术C++程序设计七选项(Form_Load()事件)
3)求单击List1中某项时该项显示Text1中
4)双击List1中某项时该项List1中删添加List2List2中容已满5门时允许添加提示超5门课程选(注意条件放置位置问题)
Ø 需属性设置
表91 实验1属性设置
象名称
属性
属性值
List2
Sorted
True
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Load()
List1AddItem Visual Basic 程序
List1AddItem 数结构
List1AddItem 操作系统
List1AddItem 硬件技术基础
List1AddItem 计算机网络
List1AddItem 媒体技术
List1AddItem C++程序设计
End Sub
单击列表框List1
Private Sub List1_Click()
Text1 List1Text
End Sub
双击列表框List2
Private Sub List1_DblClick()
If List2ListCount 5 Then
MsgBox 超5门课程选
Else
List2AddItem List1Text
List1RemoveItem List1ListIndex
End If
End Sub
4窗体名List1列表框(允许做项选择)名称Text1文框三命令钮标题分求全部项目求选定项目删选定项目
求
1)程序运行1~100间够7整数添加列表框中
2)单击求全部项目钮List1中数进行累加求文框中显示计算结果
3) 单击求选定项目钮List1中选中项目进行累加求文框中显示计算结果
4) 单击删选定项目钮删List1中选中项目
代码
遇问题分析:
Private Sub Form_Load() 显示7倍数
For i1 To 100
If i Mod 7 0 Then
1 List1AddItem i
End If
Next i
End Sub
列表框项目
Private Sub Command1_Click()
Sum 0
For i 0 To 2 list1listcount1
Sum Sum + 3list1list(i)
Next i
4 text1sum
End Sub
列表框选定项目
Private Sub Command2_Click()
Sum 0
For i 0 To 6 List1ListCount 1
If 5List1Selected(i) Then
Sum Sum + 7List1List(i)
End If
Next i
Text1Text sum
End Sub
删选定列表框项目
Private Sub Command3_Click()
List1RemoveItem List1ListIndex
End Sub
果列表框选multiselect 属性设置1
提高题设计运行界面图示程序求单击单选钮复选框列表框组合框时立文框中显示相应文字格式
提示列表框中字体通Screen象Fonts字符数组获组合框中字号通程序动形成6~40磅值偶数(详见书P113)
Ø 代码编写:
代码
遇问题分析:
Private Sub Check1_Click()
Text1FontBold Not Text1FontBold
End Sub
Private Sub Check2_Click()
Text1FontItalic Not Text1FontItalic
End Sub
Private Sub Check3_Click()
Text1FontUnderline Not Text1FontUnderline
End Sub
Private Sub Option1_Click()
Text1ForeColor vbBlack
End Sub
Private Sub Option2_Click()
Text1ForeColor vbRed
End Sub
Private Sub Option3_Click()
Text1ForeColor vbBlue
End Sub
列表框组合框详见书P113
提高题窗体两标签标题分查找换两名称分Op1Op2单选钮标题分第 全部三文框中Text3行显示容命令钮标题分确定程序运行时Text1中输入查找容Text2中输入换容单选钮确定换第全部换
Private Sub Command1_Click()
Dim n
k 1 '开始查找
m Len(Text1Text)
Do
a InStr (k Text3Text Text1Text)
'a查找容出现位置0时表示没找
If a >0 Then 'a>0表示找选中查找容换
Text3SelStart a 1
Text3SelLength Len(Text1Text)
Text3seltext Text2Text
If option1true Then '需次换退出
Exit Do
End If
k a + m '继续查找确定起始点
End If
Loop until a 0 '找退出
End Sub
选作题设计运行界面图示程序菜组合框中选择种食品(输入)单击添加菜钮该项容添加右边列表框饮料组合框中选择输入种饮料单击添加饮料钮该项容添加右边列表框右边列表框中选择某项单击<钮列表框中删该项单击吃<<清列表框中全部容
求右边点菜单中允许出现重复菜
提示添加时候先判断否菜单中否已
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
f True
For i 0 To List1ListCount – 1 菜单中允许出现重复菜
If List1List(i) Combo1Text Then f False
Next i
If f True Then List1AddItem Combo1Text
Text1 点 & List1ListCount & 种食物
End Sub
Private Sub Command2_Click()
List1AddItem Combo2Text 饮料重复
Text1 点 & List1ListCount & 种食物
End Sub
Private Sub Command3_Click()
List1RemoveItem List1ListIndex
Text1 点 & List1ListCount & 种食物
End Sub
Private Sub Command4_Click()
List1Clear
Text1 点 & List1ListCount & 种食物
End Sub
Private Sub Form_Load()
Combo1AddItem
Combo2AddItem
End Sub
Style2 组合框列表框
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验九 常控件(续)
实验目:
1掌握图片框图框计时器属性方法事件
2掌握滚动条重属性事件方法
3解图片框图框区掌握形状控件重属性
实验容
1窗体组合框Combo1文框Text1三命令钮求:
1)程序开始运行时Combo1中干选项命令钮确定
2)选中Combo中某项目单击修改该项目复制Text1中(Text1中修改)时确定钮
3)单击确定修改Text1换组合框中原容时确定钮
4)单击添加Text1中容添加组合框中
提示修改组合框中选中容通代码重新设置Combo1List(Combo1ListIndex)值直接设置Text属性值
Ø 代码编写:
代码
遇问题分析:
2窗体Label中隔2秒显示中国(隔2秒显示次标签)
提示
1)设置时钟控件Interval值程序隔2秒调次计时器Timer事件
2)标签状态设置成:显示……隐藏……显示……隐藏……
Ø 代码编写:
代码
遇问题分析:
3窗体图片框名P1单击图片框图片框显示单击图片框单击窗体窗体显示单击窗体求变量事件允许写句代码
Ø 代码编写:
单击图片框
单击图片框
4右图示滚动条范围设置0~1000文框中输入数移动钮果文框中正数滚动条右移动相应刻度超刻度MsgBox提示输入值太 果文框中负数滚动条左移超刻度动MsgBox提示
提示假定滚动条前位置Value值200文框输入300单击移动钮滚动条值应变500输入800单击移动钮滚动条值应变0MsgBox提示已移动左边
Ø 代码编写:
代码
遇问题分析:
5窗体添加Shape形状控件名Shape1两名称分Command1Command2命令钮标题分圆红色边框编写代码程序运行时单击圆钮Shape控件显示圆单击红色边框钮Shape控件边框颜色设红色
提示分设置Shape控件 Shape属性BorderColor属性
Ø 代码编写:
单击圆钮
单击红色边框钮
6右图示编写程序窗体中两汽车图形够相运动直相撞时屏幕弹出消息窗口显示某年某月某日发生交通意外显示日期前系统日期
提示根两车位置判断否相撞
Ø 代码编写:
代码
遇问题分析:
选作题1窗体矩形圆水滚动条垂直滚动条程序运行时移动某滚动条滑块圆作相应方移动滚动条刻度值范围圆矩形中移动范围(右图示)
提示水滚动条垂直滚动条MinMax属性值矩形位置关通代码Form_Load事件中设置
Ø 代码编写:
代码
遇问题分析:
选作题1模拟Windows屏幕保护程序(图示)
面提示分步实现(聪明智步位):
l 文字右左运动完全移出屏幕时屏幕右边重新出现继续左移
l 文字弹球样碰窗体边缘时反弹
l 次碰窗体边缘反弹时字体颜色机变化
提示移动控件位置两种方法(中wh分表示水方垂直方移动距离):
Label1LeftLabel1Left + h
Label1TopLabel1Top + v
Label1Move Label1Left + h
Label1Move Label1Left Label1Top + v
重提示:果水方移动距离h控件碰窗体边缘时控件应该相反方移动hh垂直方样
Ø 代码编写:
代码
遇问题分析:
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验十 数组
实验目:
1掌握数组声明数组元素引
2掌握静态数组动态数组差
3掌握数组基操作应数组解决数组关常算法
实验容:
1机产生10200300整数求值标值标均值显示数组元素值(行输出5元素)值标值标均值
Ø 代码编写:
代码
遇问题分析:
Private Sub Form_Click()
Dim a(1 To 10) As Integer
t 0
For i 1 To 10
a(i) Int(Rnd * 101 + 200)
Print a(i)
If i Mod 5 0 Then Print
t t + a(i)
Next i
Print 均值 t 10
Max a(1) imax 1
Min a(1) imin 1
For i 2 To 10
If a(i) > Max Then Max a(i) imax i
If a(i) < Min Then Min a(i) imin i
Next i
Print 数组值 Max 值标 imax
Print 数组值 Min 值标 imin
End Sub
进步思考
1)10数字前5数字5数字换输出:第数字第六数字互换第二数字第七数字互换…… 第五数字第十数字互换
代码
遇问题分析:
For i 1 To 5
x a(i)
a(i) a(i + 5)
a(i + 5) x
Next i
For i 1 To 10
Print a(i)
If i Mod 5 0 Then Print
Next i
2)果求10数字重复呢?(提示:产生重复整数需产生整数数组中查找新产生数否已存数组中重新产生没产生整数放入数组中标加1)
代码
遇问题分析:
Private Sub Form_Click()
Dim a(1 To 10) As Integer
a(1) Int(Rnd * 101 + 200)
Print a(1)
For i 2 To 10
t Int(Rnd * 101 + 200)
For k 1 To i 1
If t a(k) Then
t Int(Rnd * 101 + 200)
k 0 '重复数重新产生新数a(1)a(i1)较重复
End If
Next k
a(i) t
Print a(i)
If i Mod 5 0 Then Print
Next i
End Sub
3)果求机产生10递增数字呢?
代码
遇问题分析:
Private Sub Form_Click()
Dim a(1 To 10) As Integer
a(1) Int(Rnd * 101 + 200)
Print a(1)
For i 2 To 10
t Int(Rnd * 101 + 200)
For k 1 To i 1
If t < a(k) Then
t Int(Rnd * 101 + 200)
k 0 '重复数重新产生新数a(1)a(i1)较重复
End If
Next k
a(i) t
Print a(i)
If i Mod 5 0 Then Print
Next i
End Sub
面道题基础更改红色字t < a(k)
4)机输出10重复A~Z(包括AZ)写字母呢?
代码
遇问题分析:
Private Sub Form_Click()
Dim a(1 To 10) As Integer
a(1) Int(Rnd * (90 65 + 1) + 65)
Print Chr(a(1))
For i 2 To 10
t Int(Rnd * (90 65 + 1) + 65)
For k 1 To i 1
If t a(k) Then
t Int(Rnd * (90 65 + 1) + 65)
k 0
End If
Next k
a(i) t
Print Chr(a(i))
If i Mod 5 0 Then Print
Next i
End Sub
重复方法2)机数范围[6590]
2分类统计输入串字符统计字母出现次数区分字母写
提示
(1)统计26字母出现数必须声明具26元素数组元素标表示相应字母元素值表示应字母出现次数
(2)输入字符串中逐取出字符转换成写字符(写区分)进行判断
Ø 代码编写:
代码
遇问题分析:
课121页例514
进步思考输入20百分制成绩统计输出分数段数0~5960~6970~7980~8990~100
代码
遇问题分析:
Private Sub Command1_Click()
Dim cj(1 To 20) As Integer a(5 To 9) As Integer
For i 1 To 20
cj(i) Val(InputBox(请输入成绩))
Select Case cj(i) \ 10
Case 0 1 2 3 4 5
a(5) a(5) + 1
Case 6
a(6) a(6) + 1
Case 7
a(7) a(7) + 1
Case 8
a(8) a(8) + 1
Case 9 10
a(9) a(9) + 1
End Select
Next i
For i 5 To 9
Print a(i)
Next i
End Sub
3编写程序输出斐波契级数112358……前30项求行输出5(数组实现)
提示
斐波契数列特点:第第二1第三项开始前面相邻两项构成项 : a(n)a(n1)+a(n2)
代码
遇问题分析:
Private Sub Command1_Click()
Dim a(30) As Long
a(1) 1
a(2) 1
For i 3 To 30
a(i) a(i 2) + a(i 1)
Next i
For i 1 To 30
Print a(i)
If i Mod 5 0 Then Print
Next i
End Sub
整型数会溢出
进步思考输出斐波契级数11235813……某项数值等30000时结束
代码
遇问题分析:
Private Sub Command1_Click()
a 1
b 1
Print a b
t 2
Do Until c > 30000
c a + b
Print c
t t + 1
If t Mod 5 0 Then Print
a b
b c
Loop
End Sub
选做题1二维数组 A 中 100 元素分赋维数组 B 元素印出求 A(11) A(110)次赋 B( 1) B(10) A( 21) A( 210)次赋 B( 11) B( 20)…… A(101) A( 10 10)次赋B(91) B(100)
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
Dim a(1 To 10 1 To 10) As Integer
Dim b(1 To 100) As Integer
For i 1 To 10
For j 1 To 10
b((i 1) * 10 + j) a(i j)
Print a(i j) '10行
Next j
Print '换行
Next i
End Sub
里求数组100元素初值较麻烦省双重for循环inputbox输入初值
选做题2编写程序输出输出n7杨辉三角图示(两种显示方法)
提示分析面形式找出规律:角线行第列均1余项行中前元素行列元素例第四行第三列值3第三行第二列第三列元素值般表示: a(ij)a(i1j1)+a(i1j)
代码
遇问题分析:
Private Sub Command1_Click()
Dim a(6 6) As Integer
For i 0 To 6
For j 0 To i
If j 0 Or i j Then
a(i j) 1
Else
a(i j) a(i 1 j 1) + a(i 1 j)
End If
Next j
Next i
For i 0 To 6
For j 0 To i
Picture1Print Tab(j * 5) a(i j)
Next j
Picture1Print
Next i
End Sub
提高题1编写学生成绩统计程序户先输入学生数科目数输入位学生科课程考试成绩求该程序计算学生均成绩门课程均成绩程序保存时程序运行结果图示
提示题动态二维数组够较完成务数组行号表示学生列号表示科目分数组行列进行求进行学生科目成绩统计
代码
遇问题分析:
Private Sub Command1_Click()
Dim a() As Integer
x Val(Text1Text) '数
y Val(Text2Text) '科目数
ReDim a(x y)
For i 1 To x
For j 1 To y
a(i j) InputBox(第 & i & 位学第 & j & 门成绩)
Next j
Next i
For i 1 To x
s 0
For j 1 To y
s s + a(i j)
Next j
Picture1Print 第 i 位学均成绩 s y
Next i
For i 1 To y
s 0
For j 1 To x
s s + a(j i)
Next j
Picture1Print 第 i 门课均成绩 s x
Next i
End Sub
提高题2矩阵转置编写程序2*3矩阵转置转换成3*2矩阵
提示两二维数组完成
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
Dim a(2 3) As Integer b(3 2) As Integer
For i 1 To 2
For j 1 To 3
a(i j) InputBox()
Print a(i j)
Next j
Next i
For i 1 To 2
For j 1 To 3
b(j i) a(i j)
Next j
Next i
For i 1 To 3
For j 1 To 2
Print b(i j)
Next j
Next i
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验十 数组(续)
实验目:
1掌握静态数组动态数组差
2应数组解决数组关常算法
3掌握控件数组
实验容
1 分选择排序法泡排序法实现N元素数组排序N键盘输入数组元素值1~200间机产生
Ø 代码编写:
代码
遇问题分析:
Dim x( ) as Integer
nval(inputbox())
Redim x(n1)
For i0 to n1
x(i)int(rnd*200+1)
Next i
选择排序法
参书106页
泡排序法
参书107页
2利Array函数数组a赋值(数组元素数元素值设定)键盘输入数数组中进行查找果数组中删数组中元素果没提示没数
代码
遇问题分析:
思考果数组元素读入列表框做插入删中元素应该样编程?
3输入系列字符串递减次序排列程序运行界面图111示
图形框
图111 实验3 窗体界面
提示(1)声明窗体级变量n(表示放干字符串计数器)字符串数组
(2)输入字符串Enter键Text容放数组中事件:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii 13 Then
…
End If
End Sub
(3) 单击排序钮进行排序显示图形框中
Ø 代码编写:
代码
遇问题分析:
创建数组
排序
选做题做类似图112界面拨号器
图112 实验4 窗体界面 图113 实验5 窗体界面
Ø 代码编写:
代码
遇问题分析:
提高题做类似图113界面简单计算器实现应功
Ø 代码编写:
代码
遇问题分析:
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验十二 序文件
实验目:
1 掌握序文件机文件二进制文件特点
2 掌握序文件开关闭读写操作
3 学会序文件应程序
实验容:
1初始窗体四命令钮两文框(图111示)求:
1)建立文件名t1txt序文件容文框Text1求:次回车键文框Text1容写入文件清文框Text1容直文框Text1输入END字符串(区分写)关闭文件
2)单击复制文件钮t1txt序文件容全部复制新文件t2txt中出相应提示(变量控件)(图121)
3)单击合文件钮t2txt容合t1txt末尾出相应提示
4)单击显示钮t1txt容读出显示Text2中
图121 实验1 窗体运行状态界面
Ø 代码编写:
代码
遇问题分析:
建立文件
复制文件
合文件
显示文件容
2完善程序实现:
1) 读入计数钮磁盘中文件intxt容读入显示文框中分统计中字母数字符号数量结果显示Picture1中
图122 实验2 窗体运行状态界面out文件容格式
2) 写入文件钮统计结果写入文件outtxt中出提示已写入文件
Dim sz ss sq
Private Sub Command1_Click() '读入计数
Dim c
Open 1 '开intxt文件
Do While Not EOF(1) '准备读入
c 2 '次读入字符
Text1Text Text1Text & c '读入字符显示Text1中
Select Case c
Case 3 '字母
sz sz + 1
Case 4 '数字
ss ss + 1
Case Chr(10) Chr(13) '读出回车换行符计数
Case Else '符号
sq sq + 1
End Select
Loop
5 '结果显示Picture1中
6
Picture1Print sq
Close #1
End Sub
Private Sub Command2_Click() '结果写入文件
Open AppPath + \outtxt For Output As #1
7 '结果写入outtxt中
8
Print #1sq
MsgBox 已写入文件
9
End Sub
3建立图示包括五命令钮图片框列表框标签程序界面编程实现列功:
List列表框
Label标签
Picture图片框
1)单击新建钮弹出Inputbox输入数组元素数N机产生意N[10100]机整数存入数组A数组A元素值显示图片框中(行5元素)时写入磁盘文件MyListdat(工程文件窗体文件位文件夹)
2)单击读取 钮文件MyListdat数读出存入数组B时添加列表框中
3) 单击计算 钮计算标签输出数组B值值均值
4)单击添加 钮值值均值追加MyListdat末尾弹出已写入文件提示
5)单击退出钮退出应程序
Ø 代码编写:
代码
遇问题分析:
新建
读取文件
计算
添加
退出
选做题建立户密码登录程序图示求:
1)输入户名密码单击登录钮判断该户名否存果存进步判断密码否正确分出相应提示信息
2)输入户名密码单击注册钮先判断该户名否已注册户名密码添加文件中注册提示该户名已存请重新输入
3)单击退出钮退出应程序
原始窗体 户名密码均正确时提示
户名正确密码错误 户名错误
Ø 代码编写:
代码
遇问题分析:
登录
注册
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验十三 程
实验目:
1 理解定义函数程定义调方法
2 掌握定义子程定义调方法
3 掌握子程函数程差
实验容
1编写函数程Prime(n)已知正整数n判断该数否素数函数返回值类型布尔型
代码
遇问题分析:
Private Sub Command1_Click()
Dim n
Dim z As Boolean
n Val(Text1Text)
z prime(n)
If z Then
Print 素数
Else
Print 素数
End If
End Sub
Function prime(n) As Boolean 函数程Prime(n)
prime True
For i 2 To n 1
If (n Mod i) 0 Then prime False
Next i
End Function
1)利判断素数函数编写程序找出1~100间孪生素数(两素数差2两素数孪生素数)例:35571113等孪生素数提示果nn+2素数孪生素数
代码
遇问题分析:
Private Sub Command1_Click() 程输出孪生素数
Dim i
Dim z As Boolean y As Boolean
For i 2 To 98
z prime(i)
y prime(i + 2)
If z And y Then Print i & & i + 2 & 孪生素数
Next i
End Sub
Function prime(n) As Boolean 函数程Prime(n)
prime True
For i 2 To n 1
If (n Mod i) 0 Then prime False
Next i
End Function
2) 窗体包含两名称分Op1Op2单选钮标题分100200素数 200400素数文框两命令钮标题分求写入程序运行选中某单选钮单击求钮计算指明范围素数显示文框中单击写入结果存入Outtxt中(求素数判断必须函数实现)
代码
遇问题分析:
Dim s As Integer 全局变量
Private Sub Command1_Click() 程求素数
Dim m
s 0
If Option1 Then
For m 100 To 200
Tag prime(m)
If Tag Then s s + m
Next m
End If
If Option2 Then
For m 200 To 400
Tag prime(m)
If Tag Then s s + m
Next m
End If
Text1 s
End Sub
Private Sub Command2_Click() 程结果写入文件
Open d\Outtxt For Append As #1
Write #1 s
Close #1
End Sub
Function prime(n) As Boolean '函数程Prime(n)
prime True
For i 2 To n 1
If (n Mod i) 0 Then prime False
Next i
End Function
2编写函数程Fac(n)已知正整数n求阶值
代码
遇问题分析:
Private Sub Command1_Click()
Dim n
n Val(Text1Text)
z fac(n)
Print z
End Sub
Function fac(n) As Integer 函数程Fac(n)
If n 1 Then
fac 1
Else
fac n * fac(n 1)
End If
End Function
1)利Fac(n)函数编写程序分输入两正整数XY 计算输出x+(x+1) +(x+2) + …… +(x+y)
代码
遇问题分析:
Private Sub Command1_Click() 程计算求
Dim x y i
x Val(Text1Text)
y Val(Text2Text)
For i x To y
z fac(i)
s s + z
Next i
Print s
End Sub
Function fac(n) As Integer
If n 1 Then
fac 1
Else
fac n * fac(n 1)
End If
End Function
2) 利Fac(n)函数编写程序分输入两正整数mn(n≥m)求组合数值
代码
遇问题分析:
Private Sub Command2_Click() 程求组合数
Dim m n
Dim z As Single
m Val(Text1Text)
n Val(Text2Text)
z fac(n) (fac(m) * fac(n m))
Print z
End Sub
Function fac(n) As Integer
If n 1 Then
fac 1
Else
fac n * fac(n 1)
End If
End Function
3周实验选作题基础完成编写查找Search(fns)函数判断指定文件中户名否已注册利查找Search(fns)函数实现户注册登录功
代码
遇问题分析:
Function Search(fns)函数
End Function
Private Sub Command1_Click() 户注册
End Sub
Private Sub Command2_Click() 户登录
End Sub
选作题编写子程Delestr(s1s2)字符串s1中出现s2子字符串删结果旧存放s1中
提示
(1)S1字符串中找S2子字符串利Instr( )函数考虑S1中存少存S2字符串Do while Instr(s1s2)>0循环结构实现
(2)S1中找S2字符串首先确定S1 字符串首先确定S1字符串长度S1字符串进行次删时长度变化然通Left()Mid()函数Right()函数调达删S1中存S2字符串
Ø 代码编写:
代码
遇问题分析:
Private Sub Command1_Click()
s1 Text1
s2 Text2
Call Delestr(s1 s2)
Text1 s1
End Sub
Sub Delestr(s1 s2)
i InStr(s1 s2)
Do While i > 0
k i + Len(s2)
ls Left(s1 i 1)
s1 ls + Mid(s1 k)
i InStr(s1 s2)
Loop
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验十四 程(续)
实验目:
1掌握定义子程函数程定义调方法
2掌握形参实参应关系值传递址传递传递方式区
3掌握窗体调
实验容
1编写函数程FunMax( a( ) )求维数组a中值调程序机产生10100100间整数调FunMax函数程显示数组值
代码
遇问题分析:
Function FunMax( a( ) )
End Function
Private Sub Command1_Click() 程序显示数组值
End Sub
2编写子程ProcMin求维数组a中值子程形参确定调程序机产生10100200间整数调ProcMin子程显示数组值
代码
遇问题分析:
Sub 子程ProcMin
End Sub
Private Sub Command1_Click() 程序显示数组值
End Sub
3运行面程序段体会程调程中传值传址区
Private Sub test(ByVal p ByVal m n())
运行结果:
分析原:
p p + 1 m m + 1
n(1) 999
Print Sub p m n(1)
End Sub
Private Sub Command1_Click()
Dim c()
a 1 b 2
c Array(1 2 3)
Call test(a b + 3 c)
运行结果:
分析原:
Print Main a b c(1)
End Sub
Ø 运行程序分析结果
Ø Private Sub test(ByVal p ByVal m n())
改Private Sub test(p m n())运行分析
根运行结果回答面问题:
1) 什两种调方式a输出结果会发生变化b变?
2) Private Sub test(ByVal p ByVal m n())改Private Sub test(ByVal p ByVal m ByVal n())?什?
选作题键盘输入整数窗体显示整数子子数(求子子数求程完成)
代码
遇问题分析:
Sub 子程
End Sub
Private Sub Command1_Click() 程序
End Sub
提高题编写包含窗体模块工程:
窗体1:窗体放置扭准备调窗体
窗体2:输入数显示否幸运数
幸运数指前两位数字等两位数字数
窗体3:输入两数显示间幸运数
窗体4:输入数显示幸运数
提示
l 编写判断四位数否幸运数函数程Luck(返回值逻辑型)放窗体中注意函数程必须全局级(函数定义时加Public者缺省定加Private)否窗体调调时函数名前加窗体名:Form1Luck(Text1text)
l 先添加窗体分设置相应控件属性正确设置启动窗体程序代码中利窗体语句方法需窗体载入存需窗体隐藏存中删
代码
遇问题分析:
Function 判断幸运数函数Luck
End Function
窗体1
Private Sub Command1_Click() 显示Form2
End Sub
窗体2
Private Sub Command1_Click() 判断输入数否幸运数
End Sub
窗体3
Private Sub Command1_Click() 两数间幸运数
End Sub
窗体4
Private Sub Command1_Click() 某数幸运数
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验十五 菜单通话框
实验目:
1掌握拉菜单规划设计方法
2掌握弹出式菜单设计方法
3掌握种话框方法
实验容
1设计菜单(右图示)窗体放置文框设置Multiline属性True设计包含3菜单项菜单系统分文件格式查找中文件包括 开保存 清退出四子菜单清退出间条分隔线格式包括字体颜色两子菜单查找包括查找换两子菜单菜单编写关代码:
1)新建:新建空文文档
2)开:弹出开话框开文件显示文框中
3)保存:弹出保存话框文件保存指定路径中
4)退出:关闭应程序
5)字体:弹出字体话框设置文框字体属性
6)颜色:弹出颜色话框设置文框字体颜色
7)查找:显示图输入话框输入查找容文框查找指定容
求:1)格式菜单显示否文框中容相关联文框中容空时隐藏格式菜单文框输入容时候显示格式菜单
3) 通鼠标右键弹出格式菜单
代码
遇问题分析:
Sub 新建空文档
End Sub
Sub 开
End Sub
Sub 保存
End Sub
Sub 清
End Sub
Sub 退出
End Sub
Sub 字体
End Sub
Sub 颜色
End Sub
Sub 查找
End Sub
Sub 换
End Sub
Sub 显示隐藏格式菜单
End Sub
Sub 右键弹出格式菜单
End Sub
实验心体会
教师签名:
成绩:
实验日期
年 月 日
实验十六 机文件(选作)
实验目:
1掌握定义类型定义变量声明变量元素引
2掌握机文件开关闭读写操作
3学会机文件应程序
实验容
1窗体Form1三命令钮两图片框标签(图161)
Picture1
Picture2
图161 实验1 运行界面
求:
1)定义StudType类型包括姓名性电话号码学校四成员结构: 姓名(Name):字符串(长度10)
性(Sex):字符串(长度2)
电话号码(Tel):字符串(长度11)
学校(School):字符串(长度20)
代码
遇问题分析:
Type 定义StudType类型
End Type
2)程序运行单击文件写入机存取方式开前目录文件Studtxt记录数显示标签Label1中根提示文件添加记录写入记录询问否输入新记录回答Nn时停止输入重新更新标签中记录数
代码
遇问题分析:
Sub 文件添加记录
End Sub
3)单击文件读取机存取方式开前目录文件Studtxt读取文件中全部记录图片框Picture1显示出记录数显示标签Label1中
代码
遇问题分析:
Sub 读取文件中全部记录
End Sub
4)单击指定记录读取弹出输入框提示输入显示记录号机存取方式开前目录文件Studtxt读取指定记录号记录图片框Picture2显示出
程序运行结果图示
代码
遇问题分析:
Sub 读取文件中某条指定记录
End Sub
实验心体会
教师签名:
成绩:
附录VB统考编程题(精选)
特提醒统考中编程题目通常某指定文件夹面已现成完整窗体部分程序考生已基础补充完成需重新做窗体编程正确作法开指定文件夹中工程文件(vbp)题目求完成保存
简单操作题(15分题)
1 名称Form1窗体中建立名HS1水滚动条值200值0属性窗口设置控件属性程序运行次修改滚动条位置时执行语句Print HS1value
图附1 简单操作1运行界面
2请窗体添加三文框名称分Text1Text2Text3求程序运行时候焦点光标Text1键盘Tab键焦点跳Text3(题需编写代码需设置应属性)
3窗体框架名称Frm1标题框架高度2000宽度3000框架中画文框名称T1 距离框架左边距离500边距离300文框初始容设置文框时窗体标题设置框架文框
4 1)设置图框初始Height1500width2000
2)窗体化化钮见(提示设置窗体MaxButtonMinButton属性)
3)单击缩钮图框缩300Heightwidth分减少300
4)单击放钮图框增加500Heightwidth分增加500
5)回车键相放钮(提示设置钮Default属性)
6)Esc键相缩钮(提示设置钮Cancel属性)
注意:控件初始属性必须通属性窗口设置否分
(题简单操作题合)
图附2 简单操作4运行界面
5Form1画文框Text1通属性窗口设置属性实现功:
1)窗体标题设置文框属性
2)文框显示行显示垂直滚动条3号黑体显示程序设计
6 窗体两名称分cmd1cmd2钮运行程序时cmd1单击cmd1cmd2出现cmd1隐藏单击cmd2cmd1出现cmd2隐藏
7 建立菜单:
第级
第二级
名称
效性
文件
File
效
开
Open
效
新建
New
效
关闭
Close
效
编辑
Edit
效
8窗体文框标题复制命令钮C1编程实现:运行时窗体标题修改文框容(Form_Activate ()事件中修改)单击钮钮标题复制文框钮单击窗体空白处钮(20分)
图附3 简单操作8运行界面
9单击命令钮Cmd1代码设置滚动条Vsb1属性: max窗体高度min0LargeChange50SmallChange10拖动滚动条滑块时窗体显示滚动框位置值
10窗体文框水方滚动条编程设置:滚动条minmax LargechangSmallChang初始值分设置02200255移动滚动条时扩缩文框高度保持高宽例1:3
11窗体文框垂直方滚动条窗体设置:Text1Text家FontName黑体滚动条minmax LargechangSmallChang初始值分设置1010052移动滚动条时Text字体改变
12窗体中标签计时器设置计时器间隔3秒3秒标签显示→隐藏→显示
13窗体垂直水滚动条设置值100值0增量10鼠标单击滚动条时两滚动条值分显示两标签中显示格式类似X=36Y80
基应题(20分题)
1名称Form1窗体中窗体标题设置售货机窗体中已名称Pic1图片框请画两标签Label1Label2两框Text1Text2名称Command1命令钮(图示)属性窗口设置控件属性程序运行输入货物数量单价单击总价钮求出总价(总价数量*单价)输出Pic1中(必进行数效性验证)
图附4 基运1运行界面 图附5 基运2运行界面
2窗体中两标题分体育音乐复选框两标题选修选修单选钮名称Label1标签编写适事件程程序运行时复选框单选钮进行选择单击窗体根表规定标签中显示相应信息
选择
标签中显示信息
Check1Option1
选修体育
Check1Option2
选修体育
Check2Option1
选修音乐
Check2Option2
选修音乐
Check1Check2Option1
选修音乐体育
Check1Check2Option2
选修音乐体育
3窗体文框Text1标签Label1两名称分C1C2命令钮标题分显示恢复编写程序程序运行时文框中输入学VB知识单击显示钮标签文框消失窗体显示文框容单击恢复钮标签文框恢复初
4 窗体两标题分添加清命令钮两列表框编写程序右边列表框中选择列表项单击添加钮该选项移动左边列表框中左边列表框中选择列表项该项移回列表框中
5 窗体名称C1标题:输入命令钮文框程序运行单击命令钮弹出话窗口提示否输入提示窗口两命令钮:否文框中显示选择命令钮返回值
6窗体名称C1标题确定命令钮名称P1图片框文框程序运行时图片框见求文框中输入容单击命令钮文框消失图片框显示图片中显示文框容
7 窗体四名称分Text1Text2Text3Text4文框 名称C1标题计算命令钮求程序运行时分Text1Text2输入两整数单击计算钮求两整数间素数显示Text3中求两整数间偶数显示Text4中
8 窗体画名称Timer1计时器控件利属性窗口设置适属性程序运行时隔2秒调次计时器Timer事件保证程序程中隔2秒窗体显示欢迎参加计算机等级考试单击窗体时窗体标题改设置计时器属性
9 窗体两文框名称分Text1Text2两名称Op1标题分CosSin单选钮数组求1)利属性窗口设置属性文框容右齐2)Text1中输入40单击命令钮计算应单选钮求正弦余弦值结果显示Text3中(保留数点3位圆周率取314159)
10 窗体名称Label1标签标签标题空名称L1 列表框利属性窗口设置列表框选项分123248456abcdxyz程序运行时单击列表框该项目列表中编号显示标签中
11机显示3*3数组(0~10间)求元素角线6元素
12程序界面中设置Text3行显示容程序运行时Text1中输入查找容Text2中输入换容单选钮确定换第全部换
图附6 基运12运行界面 图附7 基运13运行界面
13创建菜单图菜单:操作清复制 (名称分:M1ClearCopy)求:单击复制钮Text1容全部复制Text2中单击清钮清空Text2
14加密程序:根单选钮数字明文中字母改第n字母
图附8 基运14运行界面 图附9 基运15运行界面
15Text1Text2容时剪切复制钮否容复制剪切Text3Text3容时粘贴钮否Text3粘贴光标文框中(Text1Text2)
16窗体两列表框List1List2List2中干项目求:选中List2项目单击添加该项目添加List1中时List2中删选中List1项目单击清该项目移回List2中
17创建二级菜单文件新建保存开(名称分:VbFileVbNewVbOpenVbSave)帮助(名称VbHelp)选中文件菜单某二级菜单Msgbox显示菜单标题
图附10 基运17运行界面 图附11 基运18运行界面
181)程序运行时Combo中干选项命令钮确定
2)选中Combo中某项目单击修改钮该项目复制Text1中确定钮变
3)修改Text1中容单击确定钮修改Text1换组合框中原容确定钮
4)单击添加钮Text1中容添加组合框中
19程序运行时1~100间7整数添加列表框中计算钮列表框中数求
图附12 基运19运行界面 图附13 基运20运行界面
20窗体矩形圆水滚动条垂直滚动条程序运行时移动某滚动条滑块圆作相应方移动滚动条刻度值范围圆矩形中移动范围
21单击窗体命令钮Cmd1产生500~500间机数存放数组中求出值
22制作图示包括文件编辑水菜单中文件菜单中包括开退出编辑菜单包括全选删编程实现菜单项功:单击开弹出文件已开消息框单击退出结束程序单击全选选中文框中容单击删清文框容
图附14 基运22运行界面 图附15 基运23运行界面
23创建名Form1标题步显示窗体画图片框P1图片框文框Text1初始容编程求:运行时文框输入字符图片框中输出行文框中完整容
24窗体添加计时器标签标题Stop命令钮程序运行时动启动计时隔1秒标签中显示前系统时间果单击命令钮计时暂停钮显示Start次单击计时器开始工作钮显示Stop
25Text2初始值3Text1中输入口令(求Text1中显示*)输入123456时Text1显示口令正确否MsgBox提示出错次数1输入3次超禁止输入
图附16 基运25运行界面 图附17 基运26运行界面
26文框中输入数移动钮文框中正数滚动条右移动相应刻度超刻度MsgBox提示输入值太负数左移超刻度动MsgBox提示
27窗体四命令钮名称分C1C2C3C4标题分显示开话框 显示存话框 显示颜色话框显示字体话框请窗体添加合适控件编写应代码实现程序功
28请窗体添加三控件分驱动器列表框目录列表框文件列表框编写程序实现三控件间联动
29窗体组6复选框控件数组命令钮Command1标题选中项目数求程序运行时选中干选项单击命令钮报选中项目数通消息框显示出运行界面结果图示
图附18 基运29运行界面
综合应题(25分题)
1 图窗体建立三名vbReadvbCalcvbSave菜单标题分读数计算存盘名称Text1文框(MultiLine设置TrueScrollBars设置2)程序运行果执行计数命令读入in1txt文件中100整数放入界1数组中果执行计算命令数组中标奇数元素文框中显示出果执行存盘命令求存入out1txt文件中ReadData程in1txt文件中100整数读入Arr数组中WriteData程指定整数写指定文件中(整数值通计算求文件名out1txt)必须已程编写程序
图附19 综合运1运行界面
2 窗体3标题分姓名电话号码邮政编码标签三名称分Text1Text2Text3文框两名称分C1C2标题分显示第三记录保存命令纽求:程序运行时单击显示第三记录前文件夹in2txt第三条记录读出显示应文框中单击保存钮该记录三字段写入out2txt中
3 窗体名称Text1文框(中Multiline属性TrueScrollbars属性2三名称c1c2c3命令钮标题分显示统计保存程序运行时单击显示钮读入in3txt中文文框中显示出单击统计钮统计文框中字符ASCII值等70等100字符数结果显示文框中单击保存钮结果写入Out3txt文件中
4 计算圆周率求圆周率公式π4113+1517+19 第i项值00001结束
5 窗体名称Text1文框(中Multiline属性TrueScrollbars属性2
6 三名称c1c2c3命令钮标题分显示统计保存程序运行时单击显示钮读入in5txt中文文框中显示出单击统计钮统计文框中字符ASCII值等70等100字符数结果显示文框中单击保存钮结果写入Out5txt文件中
7 窗体建立三菜单项名称分:ReadCaclSave标题分读入数数计算输出保存文件然画文框text1(MultiLIne属性True)程序运行时执行读入数命令读入in6txt文件中30整数放入数组中数组界1开始果单击数计算输出菜单该数组中原数显示文框中求出该数组中值值积单击保存文件计算值值积写入Out6txt中
8 窗体两命令钮C1C2标题分计算保存文框Text1(MultiLIne属性True)程序运行时单击计算钮计算30满足a^2+b^2c^2关系整数组合3整数组列出满足条件整数显示文框Text1中单击保存结果写入Out7txt中
9 窗体命令钮C1标题求值程序运行时单击求值钮弹出四输入框分输入四整数存放数组中通定义函数求出四数值四数结果行显示窗体
10单击读入钮前目录in9txt中容读入Text1中单击转换钮Text1中写字母转换写字母写字母转换写字母显示Text2中单击写入钮Text2中容写入out9txt文件中
图附20 综合运10运行界面
11窗体文框Text1图形框P1三命令钮单击读入钮前目录in10txt中容读入Text1中Text1求行显示单击统计钮统计Text1中字母ijklmn(区分写)出现次数结果显示图形框P1中单击存盘钮结果写入out10txt文件中
12窗体两文框两钮Text1中输入40单击计算钮计算数列11235813第40项值显示Text2中单击存盘钮结果写入out11txt中
13图界面单击取数钮文件in12txt读数组a显示窗体中List框中Text1中输入名字姓氏找显示Text2中否显示找
图附21 综合运13运行界面 图附22 综合运14运行界面
14窗体两文框名称分Txt1Txt2三命令钮名称分Cmd1Cmd2Cmd3读数钮数文件dr13dat中50数读数组中显示Txt1中排序钮数组升序排序显示Txt2中保存钮排序数组存入dwr13dat中
15菜单包括三项目分读数计算保存名称分MenuReadMenuCalcMenuSave文框属性:MutLineTrueScrollBar2 读数菜单功数文件dr14dat中50整数读界1数组计算钮功中3整数显示Text1中求保存菜单功求结果存入dwr14Txt中
图附23 综合运15运行界面
16单击计算钮找3000素数显示Text1中存盘结果写入文文件d15txt中求:编写isprime函数果数素数返回值True
图附24 综合运16运行界面
17窗体两文框名称分Txt1Txt2三命令钮名称分Cmd1(读取)Cmd2(计算)Cmd3(保存)读取钮dr16txt文件中整数读入text1中计算钮找出Txt1中整数第素数显示Txt2中保存钮Txt2里面容写入dw16txt中(求判断素数写文件读文件函数完成)
18窗体包含两名称分Op1Op2单选钮标题分100200素数 200400素数文框两命令钮标题分求写入程序运行选中某单选钮单击求钮计算指明范围素数显示文框中单击写入结果存入Out17txt中(写入判断素数分程函数实现)
图附25 综合运18运行界面
19窗体两复选框名称分Chk1Chk2标题分5整6整命令钮Command1文框Text1编写适事件程程序运行时复选框进行选择单击命令钮根表规定计算100~200间符合求整数结果显示Text1中(25分)
选择
求
Chk1
5整
Chk2
6整
Chk1 Chk2
5整6整
选择
1整
图附26 综合运19运行界面
20窗体名称Text1文框(中Multiline属性TrueScrollbars属性2)三名称command1command2command3命令钮标题分显示查找保存程序运行时单击显示钮读入intxt中文文框中显示出单击查找钮弹出输入框输入查找容统计文框中出现该容数通提示框输出结果单击保存钮结果写入Outtxt文件中(25分)
图附27 综合运20运行界面
21窗体两文框名称分Text1Text2两文框Multiline属性TrueScrollbars属性2)两名称command1command2命令钮标题分读数显示三角读数钮数文件intxt 中数读二维数组a(55)中显示Text1中显示三角钮二维数组三角显示Text2(25分)
图附28 综合运21运行界面
期末测题(A卷)
单选题(题1分25分)
1211661601 Internet( )
(A) IP址 (B)域名 (C)密码 (D)软件编号
2四www网址中( )网址符合www网址书写规
(A) www163com (B) wwwgdpucnedu
(C) www863netcn (D) wwwtjnet
3列字符中ASCII码值( )
(A) A (B) a (C) Z (D) X
4列软件中属浏览器( )
(A) Excel (B) Internet Explorer (C) QQ (D) Visual Basic
5电子邮件(Email)址正确形式( )
(A)户名@域名 (B)户名#域名 (C)户名域名 (D)户名域名
6面变量名合法( )
(A) a2 (B) abcd (C) ax (D) Cd_E
7列表达式中正确Visual Basic表达式( )
(A) 2sin45° (B) ∏*R2 (C) x÷y×5 (D) (x+1)(x^2+1)2
8面逻辑表达式值真( )
(A) A> a (B) abc> bc
(C) That> Thank (D) 12> 121
9列程定义语句说明合法( )
(A) Sub f1(ByRef n() As Integer) (B) Sub f1(ByRef n As Integer)
(C) Sub f1(ByVal n() As Integer) (D) Sub f1(ByVal n As Integer)
10执行面4印语句出错( )
(A) Print a 3 + 5 (B) Print a 3 + 5
(C) Print a3+5 (D) Print a 3 + 5
11语句 For i 3 To 20 Step 4 循环次数( )
(A) 5 (B) 6 (C) 7 (D) 8
12列叙述中错误( )
(A) 列表框组合框List属性 (B) 列表框组合框Selected属性
(C) 列表框组合框Text属性 (D) 列表框组合框Enabled属性
13窗体Form1里两象分图片框P1标签L1面关Print方法中错误语句( )
(A) P1Print 147 (B) Print 147
(C) Form1Print 147 (D) L1Print 147
14通设置图框Image( )属性动调整图形适应图框Image尺寸
(A) Autosize (B) Stretch (C) AutoRedraw (D) Appearance
15执行语句 Print Left( VisualBasic 3 )窗体显示容( )
(A)VVV (B)Vis (C)s (D) sualBasic
16叙述中正确( )
(A) 窗体Name属性指定窗体名称标识窗体
(B) 窗体Name属性值显示窗体标题栏中文
(C) 运行期间改变象Name属性值
(D) 象Name属性值空
17设x整型变量函数IIf( x > 0 x x )相结果代数式( )
(A)|x| (B)|x| (C) x (D )x
18组合框Combo1前选中项目容赋值变量S正确语句( )
(A) S Combo1Text (B) S Combo1Value
(C) S Combo1List (D) S Combo1List(0)
19建立图书资料理输入界面求选择图书阅情况(出未)语种(中文英文日文)分类(8类存重复分类图书属1类时属2类)应窗体中利单选钮复选框实现( )
(A) 组14复选框实现
(B) 8种分类组8复选框阅情况语种组6单选钮实现
(C) 8种分类组8单选钮阅情况语种6复选框实现
(D) 8种分类组8复选框阅情况组2单选钮语种组4单选钮实现
20已知ABC中C判断ABC否构成三角形三条边长逻辑表达式( )
(A) A>B And B>C And C>0 (B) A+C>B And B+C >A And C>0
(C)(A+B)>C And AB
21执行( )会弹出图示窗口
(A) x InputBox(输入框 请输入VB数)
(B) InputBox(输入框 请输入VB数)
(C) x InputBox(请输入VB数输入框)
(D) InputBox(请输入VB数输入框)
22窗体Text1文框Command1命令钮代码:
Private Sub Command1_Click()
Dim n
If Text1Text <> 123456 Then
n n + 1
Print 口令输入错误 & n & 次
End If
End Sub
希程序运行时输入口令正确显示出错次数(面图)实际运行时没出现预期效果(面图)修改方案中正确( )
(A)Dim n添加句:n0
(B) Dim n改Dim n
(C)Dim n放通声明处
(D)Print 口令输入错误 & n & 次改Print 口令输入错误 + n + 次
23刚建立新标准EXE工程工具箱中出现控件( )
(A)单选钮 (B) 图片框 (C) 通话框 (D) 文框
24设语句Open c\TestDat For Output As #1错误叙述( )
(A) 该语句开C盘根目录已存文件TestDat
(B) 该语句C盘根目录建立名TestDat文件
(C) 该语句建立文件文件号1
(D) 执行该语句通Print #语句文件TestDat中写入信息
25滚动条产生Change事件( )值改变
(A) Max (B) Min (C) Value (D) Caption
二程序阅读题(题3分15分)
1执行面程序段列表框List1中余两项 1
For i 1 To 4
List1AddItem i
Next i
For i 1 To 2
List1RemoveItem i
Next i
2执行面程序段输出结果 2
x 5
For I 1 To 20 Step 2
x x + I \ 5
Next I
Print x I
3执行面程序段Text1中显示值 3
Dim A(10 10) i j
For i 1 To 10
For j 1 To 10
A(i j) i + j
Next
Next
Text1Text A(5 A(2 3)) + A(7 A(3 4))
4执行面程序段输入话框中分输入321456窗体输出结果 4
a InputBox(请输入整数)
b InputBox(请输入整数)
Print a + b
5程序运行单击命令钮两标签中显示容分 5
Private Sub Command1_Click()
Dim x y
x 5 y 3
Call proc(x y)
Label1Caption x
Label2Caption y
End Sub
Private Sub proc(ByVal a As Integer b As Integer)
a a * b
b a + b
End Sub
三填空题(空2分40 分)
1请完善程序功:机生成8位数整数统计0~910数字生成8位整数中出现次数显示统计结果
Dim i s& j a(0 To 9) As Integer
s ___ 1 _____
Print 八位数s
Print 中
For j 1 To 8
c Val(Mid(s j 1))
a(c) ___ 2 _____
Next j
For i 0 To 9
If a(i) <> 0 Then
Print i 出现次数___ 3 _____
___ 4 _____
Next i
2窗体名List1列表框名称Text1文框命令钮标题分计算 编写代码实现:
1)程序启动时3位素数添加列表框中函数Prime判断数否素数请完善程序
2)单击计算钮List1中数进行累加求文框中显示计算结果请完善程序
Function Prime( n ) As Boolean '判断素数函数
Dim i
Prime 5
For i 2 To Sqr(n)
If 6 Then Prime False
Next
End Function
Private Sub Form_ 7 ()
Dim i j t As Boolean
For i 100 To 999
If 8 Then List1AddItem i
Next i
End Sub
Private Sub Command1_Click() 计算
Dim isum
For i 0 To 9
Sum sum + 10
Next
Text1Text Sum
End Sub
3ABC 添加列表框List1中第三项语句: 11
4求分段函数 值y IIf( 12 )
5设置文框Text1中文字体颜色红色语句: 13
6命令钮Command1左移200实现语句 14
7D根目录序文件t1txt容读入变量S显示文框Text1中继中字母(包括写)数字字符分串成字符串结果显示图形框P1中请完善程序段
Dim s i c n1 n2 n3
Open D\t1txt For 15 As #1
Do While 16
s 17 '文件容逐读入变量s
Text1Text Text1Text & s
Loop
Close #1
For i 1 To Len(s)
c Mid( 18 )
Select Case c
Case 19
n1 n1 & c
Case 0 To 9
n2 n2 & c
20
n3 n3 & c
End Select
Next
P1Print 字母串: n1
P1Print 数字串: n2
P1Print 字符串: n3
四程序设计题(题10分20分)
1编程计算圆周率 Pi似值计算公式直 1i 00000001止
2编写程序形成数列11135917……前N项(该数列规律第四项开始项前三项)直某项值超50000
期末测题(B卷)
单选题(题1分25分)
1211661601 Internet( )
(A) IP址 (B)域名 (C)密码 (D)软件编号
2wwwgdpueducnInternet( )
(A) IP址 (B)域名 (C)密码 (D)软件编号
3计算机病毒( )
(A) 种令生畏传染病 (B) 种硬盘法工作细菌
(C) 种治病毒性疾病 (D) 种计算机法正常工作破坏性程序
4列表示存储容量数中( )
(A) 144MB (B) 20480KB (C) 1 GB (D)48657 Byte
5列设备中作计算机输出设备( )
(A)显示器 (B)绘图仪 (C)扫描仪 (D)印机
6列字符序列中作变量名( )
(A) a24 (B) ab*d (C) ax (D) Cd E
7表达式 5 Mod 3+3\5*2值( )
(A) 0 (B) 2 (C) 4 (D) 6
8改变控件窗体中位置应修改控件( )属性
(A) Top (B) Left (C) Width (D) Right
9列语句错误( )
(A) Exit For (B) Exit If (C) Exit Do (D) Exit Sub
10默认情况InputBox函数返回值类型( )
(A) 数值 (B)字符串 (C) 变体 (D) 数值字符串(视输入数定)
11窗体水滚动条Max1Min100叙述中正确( )
(A) 程序运行时滚动块左移动滚动条Value属性值会增
(B) 程序运行时滚动块左移动滚动条Value属性值会减
(C) 滚动条Max值Min值程序出错
(D) 滚动条Max值Min值程序运行时滚动条长度会缩点滑块法移动
12窗体两名分Op1Op2单选钮名称Ck1复选框程序运行求Op1Ck1选中实现述操作程序段( )
(A) Op1Value True
Ck1Value True
(B) Op1Value True
Ck1Value 1
(C) Op1Value False
Ck1Value 0
(D) Op1Value True
Ck1Value 2
13设x30执行语句y IIf(x > 10 x + 10 IIf(x < 0 x ^ 2 x ^ 3))y值( )
(A) 30 (B) 40 (C) 900 (D) 2700
14定义数组数组元素赋值语句中正确( )
(A)Dim a As Variant
aArray(12345)
(B)Dim a(10) As Integer
aArray(12345)
(C)Dim a(10)
a(1)ABCDE
(D)Dim a(3)b(3) As Integer
a(0)0a(1)1a(2)2ba
15列语句中错误( )
(A) Text1Text List1Text (B) Label1Caption List1Text
(C) List1Name List1Text (D) Command1Caption List1Text
16列叙述中错误( )
(A) 列表框组合框List属性 (B) 列表框Selected属性组合框没
(C) 列表框组合框Style属性 (D) 组合框Text属性列表框没
17果菜单中添加分隔线应Caption属性设置( )
(A) (B) * (C) & (D)
18组合框Combo1前选中项目标赋值变量S正确语句( )
(A) S Combo1Text (B) S Combo1ListIndex
(C) S Combo1List (D) S Combo1List(0)
19文件t1txt添加数正确文件开命令( )
(A) Open t1txt For Write As #1 (B) Open t1txt For Append As #1
(C) Open t1txt For Input As #1 (D) Open t1txt For Output As #1
20表达式Abs(5) + Len(ABCDE)值( )
(A) 5ABCDE (B) 5ABCDE (C) 0 (D) 10
21执行语句 Print Mid( VisualBasic 3 )窗体显示容( )
(A)s (B)Vis (C)sua (D) sualBasic
22VB中窗体图片框图框装入图形( )函数
(A) LoadPicture (B) PictureLoad (C) LoadImage (D) Imageload
23声明语句:Dim str1 As String*5执行语句Str1 Visual Basic str1值( )
(A) Visual (B) Visua (C) Visual Basic (D) V
24窗体两列表框List1List2List1中干项目(图示)面程序:
Private Sub Command1_Click()
For k 0 To List1ListCount 1
If List1Selected(k) Then
List2AddItem List1List(k)
List1RemoveItem k
End If
Next k
End Sub
程序运行时图示List1中选中2项目单击命令钮产生结果( )
(A)List2中添加物理计算机两项
(B)List1中删物理计算机两项
(C)时产生(A) (B) 结果
(D)出现错误提示
25表示身高H超17米体重W625千克逻辑表达式( )
(A) H > 17 And W < 625 (B) H < 17 Or W > 625
(C) H > 17 And W < 625 (D) H > 17 Or W < 625
二程序阅读题(题3分15分)
1程序运行单击命令钮输出结果 1
Private Sub Command1_Click()
Dim num As Integer
num 1
Do Until num > 6
Print num
num num + 24
Loop
End Sub
2程序片段运行输出a值 2
a 0
For i 1 To 3
For j 1 To 3
If j < i Then a a + 1
Next j
Next i
Print a
3 程序运行单击命令钮两标签中显示容分 3
Private Sub Command1_Click()
Dim x y
x 5 y 3
Call proc(x y)
Label1Caption x
Label2Caption y
End Sub
Private Sub proc(a As Integer ByVal b As Integer)
a a* a
b b + b
End Sub
4程序运行单击命令钮变量 a 值 4
Private Sub Command1_Click()
temp Int (08)
Select Case temp
Case Is < 0
a 负
Case 0
a 零
Case Is > 0
a 正
End Select
End Sub
5执行面程序段输出结果 5
Dim A(10 10) i j
For i 1 To 10
For j 1 To 10
A(i j) i * j
Next
Next
Print A(5 A(2 3)) + A(7 A(3 3))
三填空题(40 分空2 分)
1列For循环执行20次请划线处填入正确值
For k 1 To –2 Step 5
2命令钮Command1右移200实现语句 2
3设abc整型变量判断ab中c表达式 3
4请完善程序功:文框Text1中输入串字符窗体输出中出现频率高字母(区分写)出现次数例:输入This is a beautiful world输出频率高i出现3次
Private Sub Command1_Click()
Dim s a(65 To 90) i max n
s Text1Text
For i 1 To Len(s)
n Asc( 4 )
If n > 65 And n < 90 Then
5
End If
Next
max 65
For i 6
If a(i) > a(max) Then 7
Next
Print 频率高 & 8 & 出现 & a(max) & 次
End Sub
5窗体名List1列表框名称Text1文框命令钮标题分计算
1)程序启动时1000完数添加列表框中函数PerfNum判断数否完数(数果恰等子数称完数数子指该数身外够整数)请完善程序
2)单击计算钮List1中数进行累加求文框中显示计算结果请完善程序
Function PerfNum ( n ) As Boolean '判断完数函数
Dim i s
For i 1 To n 1
If 9 Then s s + i
Next i
If 10 Then PerfNum True Else PerfNum False
End Function
Private Sub Form_ 11 ()
Dim i j t As Boolean
For i 1 To 1000
If 12 Then List1AddItem i
Next i
End Sub
Private Sub Command1_Click() '计算
Dim isum
For i 0 To 13
Sum sum + 14
Next
Text1Text Sum
End Sub
6设文文件c\aatxt中干容图窗体界面图示
1)文文件c\aatxt数读出存放数组中列表框中显示请完善程序
2)Text1中输入名字姓氏找显示Text2中否显示找请完善程序
Dim a() n
Private Sub Command1_Click() '取数
Open c\aatxt For 15 As #1
Do While Not EOF(1)
n n + 1
16 Preserve a(n)
17 #1 a(n)
List1AddItem a(n)
Loop
Close #1
End Sub
Private Sub Command2_Click() '查找
flag False
For i 1 To 18
If a(i) Text1 Or Left(a(i) Len(Text1)) Text1 Then
Text2 Text2 & a(i) & vbCrLf
19
End If
Next
If 20 Then MsgBox 找
End Sub
四程序设计题(题10分20分)
1年国国民生产总值300670亿元年9增长率增长 编写程序计算少年实现国民生产总值翻番
2编写程序计算输出数列123516231……前N项(该数列规律第三项开始项前两项方差)N值通InputBox输入
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档