版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、过程与变量作用域程序设计讲解过程与变量作用域程序设计讲解 掌握VB程序的结构,和各模块之间的区别。 掌握在VB中过程建立位置的改变,其作用范围的改变。 掌握变量的作用域和变量生存期之间的关系。实验目的2 掌握VB程序的结构,和各模块之间的区别。实验目的实验要求 要求完成实验任务 通过实验加强过程和变量作用域的理解实验任务 1.正确使用静态变量 2.数组的合并 3.“井字棋游戏”程序设计3实验要求 要求完成实验任务5实验步骤 一、静态变量的使用 1. 实验目的 掌握静态变量的作用。 2. 实验内容 【实验9-1】利用文本框检查用户的口令,使用静态变量来限制输入口令的次数。 3. 创建应用程序界面
2、(如下图)4实验步骤64. 控件属性的设置对象属性属性值说明Frame1Caption请输入你的口令用于对文本框进行提示Text1Text用于存放用户输入的口令PasswordChar*进行密码显示Label1Caption标签的内容窗体1CaptionVB实验9-1用于窗体的标题54. 控件属性的设置对象属性属性值说明Frame1Capti效果如下图:6效果如下图:8(5)代码参考(VB实验9-1)Private Sub Text1_KeyPress(KeyAscii As Integer) Static n As Integer If KeyAscii = 13 Then If LCase
3、(Text1.Text) = abcde Then MsgBox 密码输入正确 Else n = n + 1 If n = 3 Then Label1.Caption = “对不起,你无权使用。” Text1.Enabled = False7(5)代码参考(VB实验9-1)9 Else Label1.Caption = “对不起,口令错 误!重新输入 End If End If End IfEnd Sub输出结果8 Else输出结果10二、数组合并1. 实验目的 掌握过程的定义和使用2. 实验内容【实验9-2】将两个数组按升序排列后, 合并成一个仍按升序排列的新数组。3.要求: (1) 当窗体
4、运行时随即生成两个在100以内的数组a和b;并将其按升序排列后分别显示在label1和label2中; (2) 数组a有6个元素,数组b有4个元素;9二、数组合并11 (3) 点击命令按钮“合并”时,将数组a和数组b合并生成数组c并将其按序排列后显示在label3中; (4) 编写多个过程来实现数组的生成、排序及合并。4. 创建应用程序界面(如下图)10 (3) 点击命令按钮“合并”时,将数组a和数组b合并5. 控件属性的设置控件(名称)属性标题(Caption)框架1Frame1数组a标签1label1显示a数组框架2Frame2数组b标签2label2显示b数组框架3Frame3数组c标签
5、3label3显示c数组命令按钮1Command1合并窗体1Form1实验9-2115. 控件属性的设置控件(名称)属性标题(Caption)框效果如下图:12效果如下图:146.代码参考(VB实验9-2)Dim a(), b(), c()Private Sub sc(x() For i = 1 To UBound(x) Do z = Int(Rnd * 90) + 1 yes = 0 For j = 1 To i - 1 If z = x(j) Then yes = 1: Exit For Next j Loop While yes = 1 x(i) = zNext iEnd Sub136.
6、代码参考(VB实验9-2)Next i15Private Sub px(x() n = UBound(x) For i = 1 To n - 1 For j = i + 1 To n If x(i) x(j) Then t = x(i) x(i) = x(j) x(j) = t End If Next j Next iEnd Sub14Private Sub px(x()16 Private Function xs(x() n = UBound(x) p = x(1) For i = 2 To n p = p & , & Str(x(i) Next i xs = pEnd FunctionPr
7、ivate Function fr(x() fr = x(1) n = UBound(x) For k = 1 To n - 1 x(k) = x(k + 1) Next k ReDim Preserve x(n - 1)End Function15 Private Function xs(x() ForPrivate Sub Command1_Click() n = UBound(a) m = UBound(b) ReDim c(n + m) For i = 1 To n + m If UBound(b) = 0 Then c(i) = fr(a() ElseIf UBound(a) = 0
8、 Then c(i) = fr(b() ElseIf b(1) = a(1) Then c(i) = fr(b() ElseIf a(1) = b(1) Then c(i) = fr(a() End If Next i Label3.Caption = LTrim(xs(c()End Sub16Private Sub Command1_Click() Private Sub Form_Activate() n = 6 m = 4 ReDim a(n), b(m), c(n + m) Dim p As String Randomize sc a() : px a() Label1.Caption
9、 = LTrim(xs(a() sc b() : px b() Label2.Caption = LTrim(xs(b()End SubPrivate Sub Form_Load() AutoRedraw = TrueEnd Sub17 Private Sub Form_Activate()P7.运行结果如图所示187.运行结果如图所示20三、“#字棋游戏” 1. 实验目的 培养综合能力 2. 实验内容【实验9-3】“井字棋游戏”,其规则是:轮流出棋,首先三子连成线者为赢。 3. 要求: (1)根据控件数组Option1的选择对期局进行初始化;计算机的棋子用“X”表示,用户的棋子用“O”表示。
10、 (2)首先三子连成线者为赢,并用Label1进行表示。 (3)点击“重置”按钮将棋局重新开始。19三、“#字棋游戏”214. 创建应用程序界面(如下图)204. 创建应用程序界面(如下图)22控件(名称)属性标题(Caption)框架1Frame1空命令按钮1Command1重置命令按钮2是控件数组Command2空单选按钮1(0)Option1计算机先单选按钮1(1)Option1你先窗体1Form1VB实验9-35.属性设置效果如下图:21控件(名称)属性标题(Caption)框架1Frame1空命 6.代码参考(VB实验9-3)Dim se1 As IntegerDim sum As
11、IntegerDim a(9) As CommandButtonPrivate Sub xuan()sum = sum + 1If sum = 2 Then se1 = IIf(a(5).Tag = 0, 5, 1)Else For i = 1 To 9 If a(i).Tag = 0 Then se1 = i: Exit For End If Next i22 6.代码参考(VB实验9-3)24For i = 1 To 9 Step 2 If a(i).Tag = 0 Then se1 = i: Exit For End If Next i For i = 1 To 9 If i = 5 T
12、hen i = i + 1 End If If a(i).Tag = 0 Then If a(10 - i).Tag 0 And a(10 - i).Tag = a(5).Tag Then se1 = i: Exit For23For i = 1 To 9 Step 225 elect Case i Case 1 If (a(2).Tag 0 And a(2).Tag = a(3).Tag) Or (a(4).Tag 0 And _ a(4).Tag = a(7).Tag) Then se1 = i: Exit For End If Case 2 If a(1).Tag 0 And a(1).
13、Tag = a(3).Tag Then se1 = i: Exit For Case 324 elect Case i26 If (a(1).Tag 0 And a(2).Tag = a(1).Tag) Or (a(6).Tag 0 And a(6).Tag = a(9).Tag) Then se1 = i: Exit For End If Case 4 If a(1).Tag 0 And a(1).Tag = a(7).Tag Then se1 = i: Exit For Case 6 If a(3).Tag 0 And a(3).Tag = a(9).Tag Then se1 = i: E
14、xit For25 If (a(1).Tag 0 And a(2).T Case 7 If (a(1).Tag 0 And a(1).Tag = a(4).Tag) Or (a(8).Tag 0 And a(8).Tag = a(9).Tag) Then se1 = i: Exit For End IfCase 8 If a(7).Tag 0 And a(7).Tag = a(9).Tag Then se1 = i: Exit For Case 9If (a(7).Tag 0 And a(7).Tag = a(8).Tag) Or (a(3).Tag 0 And a(3).Tag = a(6)
15、.Tag) Then26 Case 728 se1 = I Exit For End If End Select End If Next iEnd Ifa(se1).Caption = X: a(se1).Tag = 1Call yixianEnd Sub27 se1 = I29Private Sub yixian() If a(1).Tag 0 Then Call shuying(1, 2, 3) Call shuying(1, 4, 7) Call shuying(1, 5, 9) End IfIf a(5).Tag 0 Then Call shuying(5, 2, 8) Call sh
16、uying(5, 3, 7) Call shuying(5, 4, 6)End If28Private Sub yixian()30 If a(9).Tag 0 Then Call shuying(9, 1, 5) Call shuying(9, 3, 6) Call shuying(9, 7, 8) End If If sun = 9 Then Label1.Caption = 和棋End SubPrivate Sub shuying(x, y, z) If a(x).Tag = a(y).Tag And a(y).Tag = a(z).Tag Then Label1.Caption = 您
17、 & IIf(a(x).Tag = 1, 输了!, 赢了!)29 If a(9).Tag 0 Then31 Frame1.Enabled = False End IfEnd SubPrivate Sub Command1_Click() Call Form_ActivateEnd SubPrivate Sub Command2_Click(Index As Integer)n = Index + 1If a(n).Tag = 0 Then a(n).Caption = O30 Frame1.Enabled = False32 a(n).Tag = -1 sum = sum + 1 Call yixian If Label1.Caption = Then Call xuanEnd IfEnd SubPrivate Sub Form_Activate()sum = 0Frame1.Enabled = True31 a(n).Tag = -133For i = 1 To 9 a(i).Caption = a(i).Tag = 0Next iLabel1.Captio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级数学(上)计算题专项练习汇编
- 2024年新乡职业技术学院马克思主义基本原理概论期末考试模拟试卷
- 2025年四川水利职业技术学院马克思主义基本原理概论期末考试真题汇编
- 2025年重庆工程学院马克思主义基本原理概论期末考试笔试真题汇编
- 2024年郑州经贸学院马克思主义基本原理概论期末考试真题汇编
- 2025年无锡科技职业学院马克思主义基本原理概论期末考试笔试题库
- 2025年吉林化工大学马克思主义基本原理概论期末考试参考题库
- 2025年枣庄学院马克思主义基本原理概论期末考试真题汇编
- 2025年郑州经贸学院马克思主义基本原理概论期末考试参考题库
- 2026年自动驾驶汽车行业创新报告及未来五至十年智能驾驶报告
- 2026年高考化学模拟试卷重点知识题型汇编-原电池与电解池的综合
- 2026年湖南电气职业技术学院单招综合素质考试题库含答案详解
- 2025年天津市普通高中学业水平等级性考试思想政治试卷(含答案)
- 2025年昆明市呈贡区城市投资集团有限公司及下属子公司第二批招聘(11人)备考核心题库及答案解析
- 2025年度护士个人工作总结与展望
- 学堂在线 雨课堂 学堂云 科研伦理与学术规范 期末考试答案
- 医院副院长年度工作述职报告范文
- 工地给水管预埋施工方案
- 住宅项目施工质量自检与审查方案
- 地理试卷(26-138B)+答案河北省邢台市卓越联盟2025-2026学年第一学期高二12月期中考试(12.4-12.5)
- 2025年充电桩运营市场调研:快充桩需求与盈利模式分析
评论
0/150
提交评论