浙江省二级VB考试考前辅导讲义
更新时间:2023-05-24 11:09:01 阅读量: 实用文档 文档下载
- 计算机二级取消vb考试推荐度:
- 相关推荐
浙江省二级VB考试前辅导讲义(不过都难)
计算机等级考试二级考试说明: 一、考试内容:
1、计算机文化基础(约17%) 2、VB程序设计(约83%) 二、笔试内容(60%)
1、VB程序设计语言 三、上机考试内容(40%)
1、Windows操作或文件操作 2、Excel或PowerPoint操作 3、Outlook或IE操作 4、程序调试2题 5、程序设计2题
第一章:VB概述
面向对象的基本概念: 对象:
在VB中窗体,控件都是对象,在代码中用名称来表示对象 form1,command1,label1 属性:
对象名.属性名=属性值
省略对象名默认指当前窗体的属性。 方法:
对象名.方法名[参数]
form1.print form1.cls text1.setfocus picture1.pset(100,100)等 事件:
窗体的load,click,dblclick事件等 文本框的change, keypress事件等 事件过程:
sub form_click()事件过程
窗体(p14) 常用属性:
常用事件:
Click、dblclick事件 Load事件 常用方法:
print 输出格式很重要
格式:[<对象名>.]print <输出项>[,|;]<输出项>
分隔符
输出项:数字前后带空格,字符串原样,逻辑值true与false原样 Tab(n)函数的使用
for I=10 to 1 step –1
print I;space(2); if I mod 3=0 then
浙江省二级VB考试前辅导讲义(不过都难)
print : i=i-1
end if
next I
注意:print “abc”;123和print “abc”& 123和print “abc”+ str(123)的区别? cls 方法
show方法(p19)、hide方法(与visible属性相关联)
工程的保存(p21):一个工程文件(*.vbp),若干个窗体文件(*.frm);一个工程至少有一个窗体。
第二章 程序设计基础
一、基本数据类型:(p35)
掌握常用数据类型的关键字、字节数、取值范围 注意溢出
数值的其它表示方式 &ha2 &o71 3.14E+2
注意与val函数的结合(P50填7) val(“&HAKKK”) 符号常量
符号常量的定义
符号常量的值在程序中不能被改变 二、变量
变量的定义:字母、数字、下划线。不能与关键字、函数名、常量名相同;不区分大小字 变量的声明:
VB的两种变量声明模式
1、强制声明option explicit dim a as integer ,b as integer 注意dim c, d as integer的含义
2、隐含声明(不提倡使用) 变量可以声明,也可以不声明而直接使用。通过在变量名后加类型后缀字符来声明类型(P38)% ! # $ 3、变量的初始值
dim a as integer, b as boolean, c as string a=a+3 : b=not b 什么是定长字符串 dim s as string * 1
三、赋值语句
a=b=c k%=1.3E9 b=a>c 5=x+3 y+6=x(红色的赋值语句正确吗?NO) 从右向左
左边只能是变量和属性, 不能越出表示范围
把右边表达式的值转化为左边的类型 k%=7.5 m%=6.7
例:执行a=b : b=c : c=a后,将交换a和c的值。
赋值语句与关系比较语句的区别: a=10
浙江省二级VB考试前辅导讲义(不过都难)
for a=10 to 20 if a=10 then while a=10 do until a=10
四、运算符
算术:\ / mod 优先级 求一个三位数的个位、十位、百位 字符串:& +
x=123 : y = “xyz” + str(x) : y = “xyz” & x
关系:<= <> 数值、字符串、时间均可比较,字符串数组排序时,不需要转换成ASCII码 逻辑:not and or
判断点(x1,y1)是否在x^2+y^2=9的上半圆的逻辑表达式
五、常用内容函数
数学函数:三角函数、abs、exp、log、sqr、sgn、int、fix
字符串函数:trim(ltrim、rtrim)、left、right、mid、len、space、string。(重中之重) 还有:lcase、ucase、instr(x,y)、
统计字符串中有多少数字字符、英文字符、其他字符的例子 字符串反转:输入abc,输出cba 转换函数:str和val chr和asc
时间函数:now、date、time、year、month、day、hour、minute、second、weekday(date-1) 随机函数:Rnd、Randomize [a,b] int(rnd*(b-a+1))+a Msgbox函数与Inputbox函数:注意msgbox函数的调用。
第三章 结构化程序设计与数组
一、IF语句
行if:if <条件> then 语句1 [else 语句2](结构图)
块if:if <条件> then
<语句块1>
else
<语句块2>
end if
if elseif结构:
if <条件> then
<语句块1>
elseif <条件> then
<语句块2>
else
<语句块3>
end if
else、end if都必须单独一行
块if语句 if .then 与 elseif .then也必须是单独一行 练习(P83练习2)
浙江省二级VB考试前辅导讲义(不过都难)
二、Select语句 Select case <测试表达式> Case <情况表达式1> 语句块1 Case <情况表达式2> 语句块2 case else 语句块3 end select 情况表达式的三种表示方式 单值列表
关系比较 要用IS来代替测试表达式 区间表达法
不能使用or或and等逻辑运算符,只能使用“,”符号。 三、循环语句
For/Next循环(结构图)
for <控制变量>=<初值> to <终值> [step <步长>] <循环体>
next <控制变量> s=0+1+3+5+ +99 For k=1 to 100 step 2 s=s+k Next k Print s, k s=0
for k = 100 to 1 step –1 s = s+k next k print s,k
应用举例1:输入一个正整数n,求n阶乘.
应用举例2:找出100到999之间所有水仙花数 应用举例3:找出1到999之间所有同构数
exit for语句的使用 判断一个数是不是素数 找出2到100的所有素数 歌德巴赫猜想
最大公约数、最小公倍数
While/Wend和for语句的转化
Do/Loop(结构图)
Do [while|until]/loop
Do/loop [while|until]
浙江省二级VB考试前辅导讲义(不过都难)
exit do
例子
do
n=val(inputbox(“please input n”)) loop until n<10 and n>0
下面的代码用于确保用户输入的m,n满足如下关系:m>n>0
do
m = inputbox(“m=”) n = inputbox(“n=”) loop ? A: until m>n>0
B: while m>n and n>0 C: while m<=n or n<=0 D: until m>n or n>0
多项式相加问题(请仔细研读P74的3.6节相关内容) 关键操作:<和变量>=<和变量>+<通式> (已知多少项的问题)
应用举例: y=1+x/2+x^2/3+x^3/4 .x^12/13 (另:p83练习4) (不知多少项的问题)
应用举例:求s=1/2+2!/3+3!/4 (n-1)!/n直到最后一项大于1000 P63例3-12, p83练习5 多重循环:
三角形的打印、穷举法问题(百钱百鸡等)
数组
1、 数组的定义
dim <数组名>(<下标说明>) as <数据类型> 如:dim mystr(1 to 10) as ineger dim myarray(10) as integer 如果希望下标从1或0开始
可以用option base {1|0} (对ListBox控件无作用)
2、 数组的使用
可以象使用普通变量一样使用数组的元素,表示数组中某个元素的格式:<数组名>(下标) 例 dim myarray(10) as integer
myarray(10)=100
两个myarray(10)的意义一样吗? 数组元素的遍历 for I=1 to 10 myarray(i)=100 next i
print myarray(i)
3、 注意:在使用数组时,注意下标不要越界。
Dim a(1 to 5) as integer A(1)=1: a(2)=1 For k=3 to 10
浙江省二级VB考试前辅导讲义(不过都难)
A(k)=a(k-1)+a(k-2) Next k
For k=1 to 5 Print a(k) Next k
随机不相等数组元素的生成程序调试34中的generatedata 排序(选择排序、优化选择排序、冒泡排序)程序调试24、34 要求:掌握三种排序算法的写法及区别
选择排序:第一个数和第二个数比较,判断是否交换,第一个数和第三个数比较,判断是
否交换, 第一个数和第N个数比较,判断是否交换,这样就确保第一个是最大(或最小)的。同理,接下来再确定第二个数 直至上述操作重复N-1次 优化选择排序(升序):在N个数中找到最小的数的下标和第一个交换,再在N-1个未排序
的数中找到最小的数的下标和第二个交换 直至上述操作重复N-1次 冒泡排序(升序):有n个数,从前到后依次对相邻的两个数进行比较,把小的数放在前面,
把大的数放到后面。经过一趟比较之后,最大的数将会出现在最后面的位置。第二趟对余下的数进行两两相邻比较,把小的数放在前面,第二大的数将会出现在倒数第二的位置。第三趟。。。通过N-1趟比较之后,排序完成。 二维数组的定义与使用 二维数组的定义 二维数组的遍历: for k = 1 to 5 for j = 1 to 5 a(k,j) = k + j next j next k ‘显示二维数组 for k = 1 to 5 for j = 1 to 5 print a(k,j); next j print next k
二维数组的应用举例1:二维数组(矩阵)的相加减、转置等
有一5*5二维数组,首先在每一行的前四个元素赋[10,99]之间的随机整数,然后将每一行前四个元素的平均值写入到第5个元素中,最后将此二维数组显示在窗体上 二维数组的应用举例2:
矩阵转置:
转置前的矩阵 转置后的矩阵
1 2 3 4 1 1 1 1
1 2 3 4 2 2 2 2
1 2 3 4 3 3 3 3 1 2 3 4 4 4 4 4 程序阅读题练习:
浙江省二级VB考试前辅导讲义(不过都难)
Option Base 1
Private Sub Form_Click() Dim a(5, 5) As Integer Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To 5 If j <= i Then a(i, j) = 1 End If
Print a(i, j); " "; Next j print Next i
End sub
二维数组的应用举例3: 杨辉三角(程序调试26) 动态数组
dim n as integer
n = val(inputbox(“n =”)) dim a(1 to n) as integer
‘上述代码是否可实现数组元素的自动适应呢? 动态数组的定义:
dim a() as integer
动态数组元素个数的重定义: n = val(inputbox(“n =”))
redim a(1 to n)
保持数组原有的数据Preserve关键字、lbound和ubound函数。 动态数组考题举例:
private sub command1_click() dim s as string, c as string
dim L as integer, k as integer, j as integer dim a() as string s = inputbox(“s=”) L = len(s) ______ for k = 1 to L a(k) = mid(s,k,1)
浙江省二级VB考试前辅导讲义(不过都难)
for k = 1 to L – 1
for j = k + 1 to L
c = a(k) : a(k)=a(j) :a(j)=c next j
next k for k =1 to L print a(k); next k end sub 选项
A: dim a(1 to L) as string B: redim a() as string C: dim a(1 to L) D: redim a(L)
字符串算法举例:
1、 字符串反转 2、 首字母大写
3、 判断是否为回文(程序调试11) 4、 删除所有指定字符(程序调试22) 5、 字符串单词截取 6、 进制转换
第四章 函数与过程
自定义过程的定义: //无参数过程
Private sub printstr() Dim I as byte For I=1 to 5
Print “hello world” next End sub //有参数过程
Private sub printstr(n as ineger) Dim I as byte For I=1 to n
Print “hello world” next
浙江省二级VB考试前辅导讲义(不过都难)
参数的作用:实现主调过程与被调过程的数据传递
过程的调用:(以调用第二个过程为例) Private sub form_Click()
Printstr 5或Call printstr(5)均可。总结:有call有括号,无call无括号 End sub
过程调用的执行流程讲解
另外:事件过程也可以被调用,举例说明
自定义过程的编写练习:
练习1:编写一个打印n层*金字塔的用户过程 自定义函数的定义: 定义格式:
private function <函数名>(参数表) as <函数返回值类型> <函数体>
<函数名>=<表达式> end function 定义举例:
private Function nFact(n as byte) as long dim k as byte,temp as Long temp = 1 for k = 1 to n temp = temp * k next k nFact = temp end function 函数调用格式: s = nfact(5)*3
call nfact(5)(不出错,但是没有返回值) nfact 5(这是sub过程的调用方式) 函数定义举例: 十进制到二进制 判断一个整数是否是素数
数组作为函数或过程的参数:数组名+N个变量(N维数组就是N个) 数组作为参数的定义形式:
编制通用函数过程fsum,计算single类型一维数组所有元素的和。(2005年春)
浙江省二级VB考试前辅导讲义(不过都难)
function fsum(a() as single, n as byte) as single dim k as byte, s as single for k =1 to n s = s + a(k) next k fsum = s end function
数组作为参数的调用形式: private sub form_click()
dim a(1 to 10) as single, k as byte,avg as single for k = 1 to 10 a(k) = rnd * 90 + 10 next k
avg = fsum(a,10) end sub
数组作为参数的自定义过程(函数)练习:
练习1:编写一个自定义过程,该过程对一维整型数组的每一个元素赋[10,99]之间的随机整数。
练习2:编写一个自定义过程,该过程对一维单精度数组进行反序操作,例如:原数组数据为1、2、3、4、5,反序后变为5、4、3、2、1。
参数的传递规则:分按值传递(byVal)和按地址传递(byRef)两种。(重点) Private sub chg1(byval n as byte) n = n + 2 End sub
private sub chg2(byRef n as byte) n = n + 2 end sub
private sub form_Click() dim k as byte
k = 2 : chg1(k) : print k call chg2(k) : print k end sub
参数的传递规则考点训练:
浙江省二级VB考试前辅导讲义(不过都难)
练习1:
Private Sub Form_Click() Dim a As Byte, b As Byte a=1 :b=2 Call Proc1(a,b) Print a,b End Sub
Private Sub Proc1(c As Byte,d As Byte) Dim a As Byte,b As Byte c=a+b :d=a-b Print c,d End Sub 练习二:
Private Function chg(a As Byte, byval b as byte) As Byte Dim n as byte b = b + 1 For n=0 to 2 a = a + b Next n Chg= a End Function
Private Sub form_click()
Dim a as byte, b as byte, z as byte, n as byte a = 1 : b = 1 for n = 1 to 3 z = chg(a, b) + b
print “n=”; n , ”z=”;z next n End Sub
注意:1、当实参是表达式或常量时,实际按传值方式传递;2、数组作为参数都是按地址传递的。(书上例子)
Private Function aa(ByVal m As Integer)’改为按地址传递 m = m + 1 aa = m
浙江省二级VB考试前辅导讲义(不过都难)
End Function
Private Sub Command1_Click() Dim n As Integer n = 5
Print aa(n + 2)
Print n ’当把上面n+2改为n时这个n 的值的变化 End Sub
变量的作用域:
变量按作用域分为:局部变量、模块级变量、全局变量 举例:
’form1中的代码
public x as integer ‘全局变量 dim y as integer ‘模块级变量 private z as integer ‘模块级变量 private sub form_click() dim k as integer ‘局部变量 k = k+1 : y = y + k print k, y end sub
private sub form_Load() y = y + 1 end sub
‘form2中的代码
private sub form_click() dim y as integer
y = form1.x ’定义在其它窗体中全局变量的引用格式 end sub
浙江省二级VB考试前辅导讲义(不过都难)
重要考点(变量生存周期)训练: 练习1:
Function F(a As Integer) as integer dim b as integer Static c as integer
b = b + 1 : c = c + 1 :F = a + b + c End Function
Private Sub Command1_Click() Dim a As Integer ,b As Integer a = 2
For i = 1 To 3 b = F(a) : Print b Next i End Sub 练习2:
控件HScroll1的属性设置如下:
HScroll1.Min=1, HScroll1.Max=9, HScroll1.Value=1 HScroll1.Smallchange=2, rgechange=4
下面程序运行时,4次单击滚动条右端箭头,写出各次单击时Text1上的显示结果。 Dim y As Single
Private Function f1(x2 As Integer) As Single Static x1 As Integer f1 = 0
For i% = x1 To x2 f1 = f1 + i% Next i% x1 = i% End Function
Private Sub HScroll1_Change()
y = y + f1(HScroll1.Value) : Text1.Text = y End Sub 练习3:
写出单击窗体四次,第一次输入1,第二次输入2,第三次输入3,第四次输入4,窗体上显示的结果。
Private Sub Form_Click()
浙江省二级VB考试前辅导讲义(不过都难)
Dim x As Integer Static s As Integer
x = Val(InputBox("请输入一个正整数=")) If x Mod 2 = 0 Then
s = s * x
Else
s = s + x
End If
Me.Print "s=" + Str(s) End Sub
同名变量的问题: dim y as integer sub form_load() y = 20 end sub
sub form_click() dim y as integer① y = y+2 :print y end sub
去掉①行后的结果如何?
参数传递和变量作用域综合练习:
dim i as byte, j as byte,k as byte,h as byte private sub p(i)
I = I + 1 : print I;j;k, end sub
private sub q(byval h, j) I = j if h =0 then call p(j) else
if h =1 then call p(i) else j = j + 1 end if end sub
private sub form_click() I =0 : j=1 : k = 2
浙江省二级VB考试前辅导讲义(不过都难)
call q(1,i) : print I;j;k, call q(2,j) : print I;j;k, call q(3,k) : print I;j;k, end sub
另:鼠标事件、坐标系、文件操作
正在阅读:
浙江省二级VB考试考前辅导讲义05-24
红旗飘飘引我成长作文800字06-27
MATLAB数学实验报告07-18
新民主主义有感307-29
技术员个人工作总结(精选多篇)09-28
办公软件应用实训报告11-02
王维与孟浩然之比较05-05
关于冷清秋的散文03-30
《拒绝不良习惯》教学设计05-16
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 考前辅导
- 浙江省
- 讲义
- 二级
- 考试
- 山东省烟台市2020-2021学年高二上学期期末考试数学试题
- 新教科版五年级科学下册复习资料一单元概念整理
- 我国工程造价计价模式发展史及现状
- 2,5-二恶二唑的合成及发光特征
- 矩阵函数的性质及其在微分方程组中的应用
- 生物药剂与药物动力学(大作业)
- 小学四年级上册数学单元试卷
- NCR ATM 常见错误中英文对照
- 儿科业务学习之令狐文艳创作
- 确保文明施工技术组织措施
- 2012中医执业医师实践技能内容和考纲
- 中小企业财务管理问题及改进对策
- 非公司(企业)法定代表人登记表
- 华科西十二楼路线
- 行政强制清理方案
- 安全人机课程设计
- 广东省肇庆2011年中考数学真题试卷
- 基于图像特征的星载SAR图像模拟研究
- 公司团支部2021年度工作安排范文
- 在线spss问卷信度分析思路总结