一、vb工程结构。
vb是一门结构化的程序设计语言:
vb将复杂的功能划分为模块,而模块又包含一个个较小的相对独立的过程。过程是vb程序的最小组成单位。
vb中,过程内部的执行流程是由**本身决定的,**所采用的控制结构决定了过程内部的执行流程。结构化程序设计采用了顺序结构、选择结构和循环结构3种基本控制结构;无论多么复杂的程序,都可以由这3种基本结构来完成。
二、界面设计。
三、**编写。
vb的**写在模块的**窗口中。vb采用了事件驱动的编程机制,即程序员做的最多的一件事情就是根据要触发的事件和需要实现的功能编写事件过程。除了编写事件过程程序员还可以定义自己的sub过程和function过程,即通用过程。
一个完整的过程一般都由输入数据、处理数据和输出数据三部分组成。
一)输入数据。
1. 从文本框输入。
x = 2. 从键盘输入(由输入框输入、使用inputbox函数输入)
x = inputbox(“请输入一个正整数”, 请输入”,0)
3. 随机产生。
1)随机函数rnd的取值范围:0 <=rnd < 1
2)产生一定范围内随机整数的公式:
设产生的整数范围为m ~ n
则: x = int(rnd*(n-m+1) +m)
或: x = int(rnd*(n-m+1)) m
3)使用rnd函数前面要加randomize语句。
4. 引用已有数据。
如:将标签的标题赋给变量x
x = 5. 直接写在**中:
如: x = 1000 : y = 3500
6.有参通用过程(通用子过程或通用函数过程),由形参接收主调过程中实参的数据。
二)数据的输出。
1. 输出到文本框:text1. text = visual basic 6.0 "
连接到文本框: =x
连接到文本框,每项换行:
= &x & chr(13)& chr(10)
2. 输出到标签: =visual basic 6.0 "
连接到标签: =m
连接到标签,每项换行:
= &x & chr(13)& chr(10)
3. 使用消息框输出:msgbox "请输入0~100的整数"
msgbox "数列的和是:" s
4. 输出到**框: "青岛科技大学"
5. 输出到窗体: "青岛科技大学"
输出到当前窗体:print "青岛科技大学"
6.在通用函数过程中通过将最终结果(函数值)赋给函数名的方式带回到主调过程。
7.输出到打印机: "欢迎使用vb 6.0 "
8. 输出到立即窗口: (3+5)/6
三)数据的处理。
数据的处理涉及到:
**基础(见第3章,数据类型、常量、变量、常用内部函数、运算符与表达式)
程序控制结构(见第4章,顺序结构、选择结构、循环结构)
数组(第5章)
对象的三要素(属性、事件、方法)(第2章、第8章)
过程:通用过程(第7章)、事件过程。
以及界面设计、文件操作、绘图(画图方法,颜色设置……)等。
程序控制结构:
1. 顺序结构:
1)课本例题:鸡兔同笼问题(详见课件第4章顺序结构)
鸡兔总脚数为f,总头数为h,求鸡和兔子各多少只。设鸡有x只兔子有y只。
**如下:private sub command1_click()
dim h as integer, f as integer, x as integer, y as integer
h = val(
f = val(
x = 4 * h - f) /2
y = f - 2 * h) /2
= str(x)
= str(y)
end sub
2)求半径为3的圆面积和周长,**如下:
private sub form_click()
dim r as double, s as double , l as double
const pi# = 3.1415926 或写成 const pi as doubl = 3.1415926
r = 3s = pi*r*r
l = 2*pi*r
print "半径为3的圆面积为:",s
print "半径为3的圆周长为:",l
end sub
3)实验。一、实验二中的题目都可以用顺序结构完成。
2. 选择结构:
1) 行if语句。
如:if x>y then print x else print y
又:if x>y then print x
注意:行if语句必须写在一行里,不使用结束语句end if
2) 块if语句。
单分支块if语句:
if x>y then
print x
end if
双分支块if语句:
if x>y then
print x
else print y
end if
注意:块if语句中的else必须做为一个单独的语句,一般单独写在一行中,如果与后边的语句写在同一行,中间要加冒号;块if语句需要以end if语句结束。
行if语句与简单块if语句是等价的,一般在涉及的语句比较多的时候使用块if语句,而语句比较简短的时候就使用行if语句。
3)多分支块if语句:if ..elseif …end if语句
如果使用if…else…语句需要嵌套时使用elseif语句会更简单方便。如:
if x>y then
print x
elseif x = y then
print x+y
elseprint y
end if
4) 多条件选择语句:select case ….eed select 语句。
当多个条件对应同一组要执行的语句时,可使用select case ….end select语句。
如,判断月份:
private sub form_click()
dim m as integer
m = inputbox("请输入一个月份,0~12")
select case m
case 1, 2, 3
print "所输入的月份是第一季度"
case 4, 5, 6
print "所输入的月份是第二季度"
case 7, 8, 9
print "所输入的月份是第三季度"
case 10 to 12
print "所输入的月份是第四季度"
end select
end sub
5)一般情况下,能使用某种选择语句能解决的问题,使用其他的选择语句也可以解决。
如:输出成绩等级。这个题目既可以使用elseif语句来处理,也可以使用select case语句处理,还可以使用if语句的嵌套。**如下:
使用块if语句。
private sub command1_click()
dim cj as integer
cj = inputbox("请输入学生的成绩:0~100分:")
while cj < 0 or cj > 100
cj = inputbox("请输入学生的成绩:0~100分:")
wendif cj < 60 then
print "不及格"
elseif cj < 75 then
print "及格"
elseif cj < 90 then
print "良好"
elseprint "优秀"
end if
end sub
使用select case语句。
private sub command2_click()
dim cj as integer
cj = inputbox("请输入学生的成绩:0~100分:")
while cj < 0 or cj > 100
cj = inputbox("请输入学生的成绩:0~100分:")
wendselect case cj
case is < 60
print "不及格"
case is < 75
print "及格"
case is < 90
print "良好"
case else
print "优秀"
end select
end sub
注意:使用select case语句时case后表达式的写法。表达式中不能出现变量;不能使用包含and、or等的逻辑表达式;使用to表达范围时,小的必须写在前面。
3. 循环结构。
1)for … next 循环。
一般在能确切知道初值、终值并具有固定步长时,选择使用for循环。
求和(累加)
求1~100奇数和:
private sub command1_click()
dim i as integer, s as integer
for i = 1 to 99 step 2
s = s + i
next i
print s
end sub
求1~100偶数和:
private sub command1_click()
2023年编程题复习
复习题1 现有一个文本文件中包含一个班级的若干条学生信息,每条学生信息占一行。单个学生信息从左到右的排列顺序为 学号姓名年龄成绩1成绩2成绩3按要求完成如下操作 1 定义一个cperson类,该类包含姓名属性 年龄。类定义如下 classcperson 请根据需要增加成员函数。2 以cperson类...
数控编程2019寒假编程试题
2011 级季 中职 班数控专业 数车编程试题。注明 江苏教育出版社崔兆华1 4章。一 选择题 将正确答案填在前面的括号中。每空2分,共计20分 1 数控车床适于生产零件。a 大型b大批量 c 小批复杂d高精度。2 数控系统的核心是 a 伺服装置b数控装置 c 反馈装置d检测装置。3 在数控编程指令...
高级编程复习题
一 填空题 每空2分,满分20分 1长度补偿偏置用g49或h00。2 siemens系统子程序结束采用和。3 siemens系统编程指令中的ap 表示rp 表示。6 siemens系统常用的框架指令有和坐标镜像。7 铣削平面轮廓曲线工件时,铣刀半径应工件轮廓的最小凹圆半径。8 绝对可编程零位旋转指令...