当前位置:文档之家› vb设计题1

vb设计题1

vb设计题1
vb设计题1

杭州师范大学《计算机技术基础》(VB程序设计)

设计题(请按照题目要求进行答题,完成之后打包上传)

第01套:

第1题:编程,输入x,求下列分段函数的值,计算结果输出到Text控件中。

正确答案:

Private Sub Command1_Click()

Dim x As Single

x = InputBox("输入x", "计算分段函数")

If x <= 3 Then

Text1 = Str(1 + x)

Else

Text1 = Str(x + 3) ^ 0.25

End If

End Sub

第2题:

如下图,编程,点击按钮可以移动列表框中所选中表项的位置。说明:通过load事件添加列表项,运行时,先选择列表框中的选项,才可以使用“上移”或“下移”按钮。当选项是第一项时不能再上移,当选项是最后一项时不能再下移。

正确答案:

Private Sub Command1_Click() '上移

Dim i As Integer

i = List1.ListIndex

List1.AddItem List1.Text, i - 1 '先将选中的内容添加到上一项前

List1.RemoveItem i + 1 '将原来选中的那项删除

List1.ListIndex = i - 1 '将光标重新指向已经上移后的选项

End Sub

Private Sub Command2_Click() '下移

Dim i As Integer

i = List1.ListIndex

List1.AddItem List1.Text, i + 2 '先将选中的内容添加到下一项后

List1.RemoveItem i '将原来选中的那项删除

List1.ListIndex = i + 1 '将光标重新指向已经下移后的选项

End Sub

Private Sub List1_Click()

Command1.Enabled = True: Command2.Enabled = True

If List1.ListIndex = 0 Then

Command1.Enabled = False '第一项不能上移

End If

If List1.ListIndex = List1.ListCount - 1 Then

Command2.Enabled = False '最后一项不能下移

Else

End If

End Sub

第3题:编写程序,将磁盘文件d:\student.dat中若干个学生的姓名、出生年月、外语成绩和计算机成绩显示在列表框中,并且能实现以下功能:直接输入在文本框中的文本可以追加;单击列表框某项,则该项可删除;首次运行时文件可以为空,退出系统前应保存文件。界面设计如图所示。

正确答案:

Private Sub Form_Load()

Dim ss As String

Open "e:\student.dat" For Append As #1

Close #1

Open "d:\student.dat" For Input As #1

While Not EOF(1)

Line Input #1, ss: List1.AddItem ss

Wend

Close #1

End Sub

Private Sub Command1_Click()

If Trim(Text1.Text) <> "" Then List1.AddItem Text1.Text

Text1.Text = ""

End Sub

Private Sub Command2_Click()

List1.AddItem Text1.Text, List1.ListIndex

List1.RemoveItem List1.ListIndex

Text1.Text = ""

End Sub

Private Sub Command3_Click()

Dim i As Integer

Open "d:\student.dat" For Output As #1

For i = 0 To List1.ListCount - 1: Print #1, List1.List(i): Next i

Close #1

End Sub

Private Sub Command4_Click()

Call Command3_Click: End

End Sub

第02套:

第1题:编程,用随机函数产生2个10~100的整数,输出最大值。

正确答案:

Private Sub Command1_Click()

Dim x%, y%,max%

Randomize

x = Int(Rnd * 91 + 10)

y = Int(Rnd * 91 + 10)

Max = x

If y > Max Then y = Max

Print Max

End Sub

第2题:如下图,编写事件过程Command1_Click和Text3_Keypress(Keyascii As Integer)事件,运行时单击“出题”按钮,自动在Text1

和Text2中显示两个2位随机正整数;用户在Text3中输入运算结果,按回车后计算机对运算结果进行评判,并将评判结果在Label2中显示(对了或错了)。要求文本框Text3只接受数字和回车键。(回车键的Ascii码为13,数字键的Ascii码为48到57)

正确答案:

Dim x As Integer, y As Integer

Private Sub Command1_Click()

x = Int(Rnd * 90) + 10: y = Int(Rnd * 90) + 10

Text1.Text = CStr(x): Text2.Text = CStr(y)

Text3.Text = ""

Text3.SetFocus

Label2.Visible = False: Command1.Enabled = False

End Sub

Private Sub Form_Load()

Text1.Text = "": Text2.Text = "": Text3.Text = ""

Label2.Visible = False

Randomize

End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)

If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 13 Then

KeyAscii = 0

End If

If KeyAscii = 13 Then

Label2.Visible = True

If Val(Text3.Text) = x + y Then

Label2.ForeColor = vbBlue: Label2.Caption = "对了"

Else

Label2.ForeColor = vbRed :Label2.Caption = "错了"

End If

Command1.Enabled = True

End If

End Sub

第3题:在窗体上添加一个文本框和一个命令按钮。当用户在文本框中输入密码并单击命令按钮后,判断输入的密码是否为“123”,如果不是,则弹出对话框提示“密码不正确!单击“确定”,

请再试一次”,并将文本框内容清空,焦点定位在文本框上,3次密码不正确即结束程序运行;如果输入的密码是“123”,则打开文本文件e:\aaa.txt,向文本框中写入:第I次登录日期时间(如:第9次登录2008-6-30

10:11:00)。要求程序运行前先建一个文件e:\aaa.txt,初始内容为:第1次登录2008-6-1 10:41:31,之后每次按顺序在文件末尾写入第2次当前日期当前时间、第3次登录当前日期当前时间……。

正确答案:

Dim k as integer

Private Sub Command1_click()

Dim n As Integer, st as string

If Text1.Text = "123" Then

Open "e:\aaa.txt" For Input As #1

Line Input #1, st

st = Mid(st, 2, 1)

n = 1 + Val(st)

Close #1

Open "e:\aaa.txt" For Append As #1

Print #1, "第"; Trim(n); "次登录"; Now()

Close #1

Else

k = k + 1

If k < 4 Then

MsgBox "密码不正确!单击“确定”, 请再试一次"

Text1.Text = ""

Text1.SetFocus

Else

End

End If

End If

End Sub

第03套:

第1题:编程,求算式1+1/2!+1/3!+1/4!+……前10项的和。

正确答案:

Private Sub Command1_Click()

Dim i%, s!,a!

a = 1: s = 0

For i = 1 To 10

a = a / i

s = s + a

Next i

Print "1+1/2!+1/3!+……="; s

End Sub

第2题:设计一个用于输入学生信息的应用程序。界面如图所示(民族有汉族、苗族、壮族

等;政治面貌有:群众、团员、党员)。要求:

(1)输入完毕后单击确定按钮,能在另一窗口显示输入的信息

(2)单击取消按钮,将取消所输入的信息。

正确答案:

Public info As String

Dim s As String

Private Sub Command1_Click()

info = "学号为" + Text1.Text + ",姓名为" + Text2.Text + ", 性别为" + s +

",民族为" + Combo1.Text + " ,政治面貌为" + Combo2.Text+”.”

Form2.Show

End Sub

Private Sub Command2_Click()

Call Form_Load

End Sub

Private Sub Form_Load()

Text1.Text = "" :Text2.Text = ""

Option1.Value = True :Option2.Value = False

Combo1.Text = "汉族" :Combo2.Text = "群众"

End Sub

Private Sub Option1_Click()

s = "男"

End Sub

Private Sub Option2_Click()

s = "女"

End Sub

第3题:编程实现两个文本文件的合并,要求用驱动器、目录、文件列表框选择文件1,单击按钮1后,调用通用对话框选择文件2;单击按钮2后,将文件2的内容添加到文件1原来内容之后,然后删除文件2。

正确答案:

Dim fn As String

Private Sub Command1_Click()

CommonDialog1.Filter = "(*.txt)|*.txt"

CommonDialog1.ShowOpen

End Sub

Private Sub Command2_Click()

Dim s As String

Open fn For Append As #1

Open CommonDialog1.FileName For Input As #2

Do While Not EOF(2)

Line Input #2, s

Print #1, s

Loop

Close

Kill CommonDialog1.FileName

End Sub

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

Private Sub File1_Click()

If Right(File1.Path, 1) = "\" Then

fn = File1.Path + File1.FileName

Else

fn = File1.Path + "\" + File1.FileName

End If

End Sub

Private Sub Form_Load()

File1.Pattern = "*.txt"

End Sub

第04套:

第1题:编程,求算式1-1/2+1/3-1/4+……前30项的和。

正确答案:

Private Sub Command1_Click()

Dim i%, s!, f%

s = 0: f = 1

For i = 1 To 30

s = s + f / i

f = -f

Next i

Print "1-1/2+1/3-1/4+……="; s

End Sub

第2题:编程,用户界面如图所示(可先用Form_Load添加几个单词到列表框)。要求:(1)单击“添加单词”按钮,将Text1中的单词添加到列表框,并使Text1获得焦点,可直接输入另一个单词。

(2)单击“删除单词”按钮,删除列表框中被选中的列表项。

(3)单击“全部删除”按钮,删除列表框中的全部表项。

(4)单击“退出”按钮,结束该程序。

正确答案:

Private Sub Form_Load()

List1.AddItem "happy": List1.AddItem "apple"

List1.AddItem "student": List1.AddItem "computer"

End Sub

List1.AddItem Text1.Text: Text1.SetFocus

Text1.SelStart = 0: Text1.SelLength = Len(Text1.Text)

End Sub

Private Sub Command3_Click()

List1.Clear

End Sub

Private Sub Command4_Click()

End

End Sub

Private Sub Command2_Click()

If List1.ListIndex <> -1 Then List1.RemoveItem List1.ListIndex

End Sub

第3题:设计一个图片欣赏程序(界面如图所示),要求程序启动后可以通过选择驱动器、文件夹,最后单击文件列表框中的图片文件时,图片载入Picture2中。如果图片大小超过容器Picture1的大小,则使用水平或垂直滚动条移动Picture2在Picture1中的位置进行浏览。正确答案:

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

Private Sub File1_Click()

If Right(File1.Path, 1) = "\" Then

f$ = Form1.File1.Path + Form1.File1.FileName

Else

f$ = Form1.File1.Path + "\" + Form1.File1.FileName

End If

Picture2.Picture = LoadPicture(f$)

If Picture2.Height > Picture1.Height Then VScroll1.Visible = True

If Picture2.Width > Picture1.Width Then HScroll1.Visible = True

HScroll1.Max = Picture2.Width - Picture1.Width

VScroll1.Max = Picture2.Height - Picture1.Height

End Sub

Private Sub Form_Load()

File1.Pattern = "*.bmp;*.jpg;*.gif"

VScroll1.Visible = False

HScroll1.Visible = False

End Sub

Private Sub HScroll1_Change()

Picture2.Left = -HScroll1.Value

End Sub

Picture2.Left = -HScroll1.Value

End Sub

Private Sub VScroll1_Change()

Picture2.Top = -VScroll1.Value

End Sub

Private Sub VScroll1_Scroll()

Picture2.Top = -VScroll1.Value

End Sub

第05套:

第1题:编程,求方程x2+y2=1000的所有整数解。

正确答案:

Private Sub Command1_Click()

Dim x%, y%

For x = -34 To 34

For y = -34 To 34

If x ^ 2 + y ^ 2 = 1000 Then

Print x, y

End If

Next y, x

End Sub

第2题:编写程序设计一个字幕推出程序。程序界面如下图所示,标签的字号在定时器的控制下,每个时间间隔放大2磅并且保持标签在窗体中水平居中,当标签的字号超过72时,定时器停止响应Timer事件。字号放大的速度由水平滚动条控制。

正确答案:

Private Sub Form_Load()

Label1.Left = Width / 2 - Label1.Width / 2

Label1.AutoSize = True

HScroll1.Min = 1: HScroll1.Max = 1000

HScroll1.SmallChange = 10: https://www.doczj.com/doc/0f148836.html,rgeChange = 100

HScroll1.Value = 500: Timer1.Interval = 500

End Sub

Private Sub HScroll1_Change()

Timer1.Interval = HScroll1.Value

End Sub

Private Sub HScroll1_Scroll()

Call HScroll1_Change

End Sub

Private Sub Timer1_Timer()

Label1.FontSize = Label1.FontSize + 2

Label1.Left = Width / 2 - Label1.Width / 2

If Label1.FontSize >= 72 Then Timer1.Enabled = False

End Sub

第3题:程序运行时在文本框中输入一段英文文字,单击命令按钮后将它们保存至文件E:\yw.txt文件中,单击窗体后,显示输入对话框,在该对话框中输入任意一个字符,并在E:\yw.txt中查找,如果找到a,则提示a是文件中第几个字符,否则提示a在文件中不存在。正确答案:

Private Sub Form_Click()

Dim a As String, b As String, c As String

Dim n As Integer, f As Boolean

a = InputBox("请输入一个字符")

Open "e:\ yw.txt" For Input As #1

f = False

Do While Not EOF(1)

Line Input #1, b

For i = 1 To Len(b)

c = Mid(b, i, 1)

n = n + 1

If c = a Then f = True: Exit Do

Next i

Loop

If f = True Then

MsgBox a & "是文件中第" & n & "个字符"

Else

MsgBox a & "在文件中不存在"

End If

Close #1

End Sub

Private Sub Command1_Click()

Open "e:\ yw.txt" For Output As #1

Print #1, Text1.Text

Close #1

End Sub

第06套:

第1题:编程,将一个三位整数倒序输出。

正确答案:

Private Sub Command1_Click()

Dim x%, bw%, sw%, gw%

x = Text1.Text

bw = x \ 100

sw = x \ 10 Mod 10

gw = x Mod 10

x = gw * 100 + sw * 10 + bw

Print x

End Sub

第2题:编程,当程序启动后用绿色文字显示"绿灯"2秒钟,接着黄色文字显示"黄灯"3秒钟,然后用红色文字显示"红灯"2秒钟。然后,再重新开始下一轮"绿灯"、"黄灯"、"红灯"的显示。直到双击窗体停止变化。

正确答案:

Dim k As Integer

Private Sub Form_Load()

Label1.Caption = "绿灯行"

End Sub

Private Sub Timer1_Timer()

k = k + 1

Select Case k

Case 1 To 2

Label1.Caption = "绿灯行"

Label1.ForeColor = vbGreen

Case 3 To 5

Label1.Caption = "注意"

Label1.ForeColor = vbYellow

Case 6 To 7

Label1.Caption = "红灯停"

Label1.ForeColor = vbRed

If k = 7 Then k = 0

End Select

第3题:编程实现两个文本文件的合并,要求用驱动器、目录、文件列表框选择文件1,单击按钮1后,调用通用对话框选择文件2;单击按钮2后,比较文件1和文件2的内容是否相同,如果不相同则用消息框提示“两个文件不一样”,相同则提示“两个文件一样”。

正确答案:

Dim fn As String

Private Sub Command1_Click()

CommonDialog1.Filter = "(*.txt)|*.txt"

CommonDialog1.ShowOpen

End Sub

Private Sub Command2_Click()

Dim s1 As String,s2 as string,flag as Boolean

Open fn For input As #1

Open CommonDialog1.FileName For Input As #2

Flag=true

Do While Not EOF(1)

Line Input #1, s1

If not eof(2) then line input #2,s2 else flag=false:exit do

If s1<>s2 then flag=false:exit do

Loop

If not eof(2) or flag=false then

Msgbox “两个文件不一样”

Else

Msgbox “两个文件一样”

End if

Close

End Sub

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

Private Sub File1_Click()

If Right(File1.Path, 1) = "\" Then

fn = File1.Path + File1.FileName

Else

fn = File1.Path + "\" + File1.FileName

End If

End Sub

Private Sub Form_Load()

File1.Pattern = "*.txt"

End Sub

第07套:

第1题:编程,从键盘输入一个字符串,将该字符串中的各个字符按照ASCII码从小到大排序后组成新的字符串,再从窗体输出。例如:输入字符串为“A4ngZ9”,输出字符串为“49AZgn”。

正确答案:

Private Sub Form_Click()

Dim a() As String

Dim x$, i%, n%, p%

x = InputBox("输入一个字符串")

n = Len(x)

ReDim a(n)

For i = 1 To n

a(i) = Mid(x, i, 1)

Next i

For i = 1 To n

p = i

For j = i + 1 To n

If a(j) < a(p) Then p = j

Next j

temp = a(p): a(p) = a(i): a(i) = temp

Print a(i);

Next i

End Sub

第2题:本程序实现设置闹钟并提醒。程序启动后上方的标签动态显示系统时间。单击设置闹钟按钮后文本框可用,同时按钮变成“确定“按钮,在文本框中按“hh:mm:ss“的格式输入设定的时间,并按确定按钮,程序会在时间到达后用消息框提醒“设置的时间到了!”。(提示:使用两个定时器)

正确答案:

Dim x As Date

Private Sub Form_Load()

Label1.Caption = Time

End Sub

Private Sub Command1_Click()

On Error GoTo err

If Command1.Caption = "设置闹钟" Then

Text1.Visible = True

Text1.SetFocus

Command1.Caption = "确定"

Else

x = CDate(Text1.Text)

Text1.Locked = True

Timer2.Enabled = True

Command1.Enabled = False

End If

Exit Sub

err:

MsgBox "设置的时间格式不正确,请重新设置。"

Text1.Text = ""

End Sub

Private Sub Timer1_Timer()

Label1.Caption = Time

End Sub

Private Sub Timer2_Timer()

If Time >= x Then

Text1.Text = "设置的时间" & x & "到了!"

Timer2.Enabled = True

If Text1.BackColor = vbWhite Then

Text1.BackColor = vbBlue

Else

Text1.BackColor = vbWhite

End If

End If

End Sub

第3题:编写程序,在组合框Combo1中添加若干个学生的姓名、出生年月、外语成绩和计算机成绩(每个学生的信息在组合框中占4行),最后按命令按钮保存后将组合框中的内容存入磁盘文件d:\student.dat(每个学生的信息在文件中占1行)。程序设计界面如图1所示,文件中结果如图2所示。

正确答案:

Private Sub Command1_Click()

Combo1.AddItem Combo1.Text

End Sub

Private Sub Command2_Click()

Open "d:\student.dat" For Append As #1

For i = 0 To Combo1.ListCount - 1

If i Mod 4 = 3 Then

Write #1, Combo1.List(i)

Else

Write #1, Combo1.List(i);

End If

Next i

Close #1

End Sub

第08套:

第1题:文本文件e:\aaa.txt中存放了若干行的数字(要求先用记事本建立此文件,文件内容不能为空),要求编制Command1_Click事件过程,按顺序读出这些数并在组合框控件Combo1中逐行显示。

正确答案:

Private Sub Command1_Click()

Dim k As String

Open "e:\aaa.txt" For Input As #1

Do While Not EOF(1)

Input #1, k

Combo1.AddItem k

Loop

Close #1

End Sub

第2题:设计一个家电提货单管理程序,根据选项选择的家电以及数量,单击确定后,将选择的清单及总价在列表框中列出,清除按钮用于清空列表框中的项目。要求在操作过程中,每选择一种家电,光标自动定位在相应的文本框中,所有文本框只接受数字。程序运行界面如图。

正确答案:

Private Sub Form_Load()

'文本框属性初始化:文本框是空白的,并且不能用

Dim i As Integer

For i = 0 To 2

Text1(i).Text = ""

Text1(i).Enabled = False

Next

End Sub

Private Sub Check1_Click(Index As Integer) '对选中的食物做好输入份数的准备

If Check1(Index).Value = 1 Then

Text1(Index).Enabled = True

Text1(Index).SetFocus

Else

Text1(Index).Text = ""

Text1(Index).Enabled = False

End If

End Sub

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)

If KeyAscii < 48 Or KeyAscii > 57 Then '文本框只接受数字键

KeyAscii = 0

End If

End Sub

Private Sub Command1_Click() '结帐

Dim m As Integer, i As Integer

Dim dj(0 To 2) As Integer

dj(0) = 4000: dj(1) = 8000: dj(2) = 7000

For i = 0 To 2

If Check1(i).Value = 1 And Val(Text1(i).Text) <> 0 Then

m = m + dj(i) * Val(Text1(i).Text)

List1.AddItem Check1(i).Caption & Text1(i).Text & "台"

End If

Next i

If m <> 0 Then

List1.AddItem "您需付款:" & m & "元。"

End If

End Sub

Private Sub Command2_Click() '下一位

Dim i As Integer

For i = 0 To 2

Text1(i).Text = ""

Text1(i).Enabled = False

Check1(i).Value = 0

Next

List1.Clear

End Sub

第3题:编程,建立一个4行4列的二维数组,数组的第一行和第一列的值分别由输入对话

框赋值,其余元素均为其上面和左面元素值之和(如图所示)。

正确答案:

Private Sub Form_Click()

Dim a(4, 4) As Integer, i%, j%

a(1, 1) = InputBox("请输入a(1,1)")

For i = 2 To 4

a(1, i) = InputBox("请输入a(1," & i & ")")

a(i, 1) = InputBox("请输入a(" & i & ",1)")

Next i

For i = 2 To 4

For j = 2 To 4

a(i, j) = a(i - 1, j) + a(i, j - 1)

Next j

Next i

For i = 1 To 4

For j = 1 To 4

Print a(i, j);

Next j

Print

Next i

End Sub

第09套:

第1题:编一程序,单击“生成”命令按钮时,随机产生10个两位整数,将它们升序显示在列表框中,单击“保存”命令按钮时,将列表框中的数据保存到e:\d1.txt文件中。

正确答案:

运行前先在属性窗口中将list1的sorted属性设置为True.

Private Sub Command1_Click()

For i = 1 To 10

k = Int(Rnd * 90 + 10)

List1.AddItem k

Next i

End Sub

Private Sub Command2_Click()

Open "e:\d1.txt" For Append As #1

For i = 0 To List1.ListCount - 1

Print #1, List1.List(i)

Next i

Close #1

End Sub

第2题:本程序要求用一个文本框数组和定时器编写模拟体育彩票程序:控件数组用来显示

28个【0,9】之间的随机整数。运行时单击“产生随机数字”按钮,定时器开始工作,所有文本框中的数字不断滚动变化;单击停止时所有文本框停止变化,如图所示;单击“清空”按钮时,所有文本框无内容。

正确答案:

Private Sub Command1_Click()

Timer1.Enabled = True

Timer1.Interval = 50

Command4.Enabled = True

End Sub

Private Sub Command2_Click()

For i = 0 To 6

Text1(i).Text = ""

Next i

Command2.Enabled = False :Command4.Enabled = False

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Command4_Click()

Timer1.Enabled = False: Command2.Enabled = True

End Sub

Private Sub Form_Load()

Command2.Enabled = False :Command4.Enabled = False

End Sub

Private Sub Timer1_Timer()

Dim i As Integer

Randomize

For i = 0 To 6

Text1(i).Text = Fix(Rnd * 10)

Next i

End Sub

第3题:编程,计算多项式Sn=a+aa+aaa+aaaa+…+aa…a(n个a),其中a是一个随机产生的1~9之间的整数;n是一个5~10之间的整数可从输入对话框中输入。

正确答案:

Private Sub Form_Click()

Dim i%, a#, n%, s#

Randomize

a = Int(Rnd * 9) + 1

Do

n = InputBox("输入一个n值:")

Loop While n < 4 Or n > 10

s = 0

For i = 1 To n

a = a * 10 + a

s = s + a

Next i

Print "s=a+aa+aaa+……+"; s

End Sub

第10套:

第1题:在窗体上建立两个列表框List1和List2,在属性窗口中为List1添加一些班级的名称(如“化学071”、“数学073”等等),单击List1中的某个班级名称时,则将与该班级相同名字的文本文件打开,并把文件中的内容按行显示在List2中。(与这些班级相对应的文本文件应事先建好,如“化学071.txt”等,放在c:\中,文件中存放一些学生的基本信息)正确答案:

Private Sub List1_Click()

Dim fn As String, k As String

fn = "c:\" + List1.Text + ".txt"

Open fn For Input As #1

List2.Clear

Do While Not EOF(1)

Line Input #1, k

List2.AddItem k

Loop

Close #1

End Sub

第2题:编程,打印输出有数字组成的金字塔。图案如图所示。

正确答案:

Private Sub Form_Click()

Dim i%, j%, k%

For i = 1 To 5

Print Tab(15 - i);

For j = 1 To 2 * i - 1

Print Trim(Str(i));

Next j

Print

Next i

For i = 4 To 1 Step -1

Print Tab(15 - i);

For j = 1 To 2 * i - 1

Print Trim(Str(i));

Next j

Print

Next i

End Sub

第3题:编程,窗体标题为“猜数游戏”。

基本要求:单击“出题”按钮则生成一个1~100间的随机整数;然后在文本框中输入若干数(以回车键结束),大于或小于随机数则给出提示信息,猜1个数超过10次不可再猜该数。出题、猜数可重复进行;随机数产生后锁定“出题”按钮、激活文本框控件,猜数结束后锁定文本框控件、激活“出题”按钮。

正确答案:

Dim num As Integer, m As Integer, rec As Integer

Private Sub Form_Load()

Command1.Caption = "出题": Command1.Enabled = True

Text1.Text = "": Text1.Enabled = False: rec = 0

End Sub

Private Sub Command1_Click()

Randomize: num = Int(Rnd * 100) + 1: Text1.Enabled = True

Label1.Caption = "": Command1.Enabled = False

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

m = Val(Text1.Text): rec = rec + 1: Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text): Text1.SetFocus

If rec > 10 Then

Label1.Caption = "差!重新开始": Call Form_Load

Else

If m > num Then

Label1.Caption = Str(m) & "大了!"

ElseIf m < num Then

Label1.Caption = Str(m) & "小了!"

Else

If rec < 5 Then

Label1.Caption = "好!猜对了。"

Else

Label1.Caption = "还行!猜对了。"

End If

Call Form_Load

End If

End If

End If

End Sub

第11套:

第1题:单击窗体,在窗体上画出一个当前窗体中所能容纳的最大的红色实心椭圆(即椭圆的上下左右分别与窗体的上下左右相切)。

正确答案:

Private Sub Form_click()

Dim r As Single

r = Form1.ScaleWidth

If Form1.ScaleHeight > Form1.ScaleWidth Then r = Form1.ScaleHeight

Form1.FillStyle = 0

Form1.FillColor = RGB(255, 0, 0)

Form1.Cls

Form1.Circle (ScaleWidth / 2, ScaleHeight / 2), r / 2, RGB(255, 0,

0), , , ScaleHeight / ScaleWidth

End Sub

第2题:有一个长阶梯,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4阶最后剩3阶,如果每步跨5阶最后剩4阶,如果每步跨6阶最后剩5阶,只有当每步跨7阶时刚好走完,问这个阶梯有多少阶?请编程求解。

正确答案:

第3题:编写程序,利用计时器控件来实现字幕“Welcome!”的左右摆动。要求:运行初时,标签从窗体的左边界开始向右移动:当标签的右边界超出窗体的右边界时,标签改为向左移动;当标签的左边界超出窗体的左边界时,标签改为向右移动。摆动过程文字颜色随机变化。

正确答案:

Dim d As Integer

Private Sub Form_Load()

Timer1.Enabled = True

Label1.ForeColor = vbBlue

Label1.FontSize = 24

Label1.Caption = "welcome"

d = 1

End Sub

Private Sub Timer1_Timer()

If Label1.Left + Label1.Width >= Form1.Width Or Label1.Left < 0 Then

d = -d

End If

Label1.Left = Label1.Left + 100 * d

Label1.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)

End Sub

第12套:

第1题:编写一个函数,其功能是求n!。

正确答案:

Private Function jc(n As Integer) As Single

Dim i%

jc = 1

For i = 1 To n

jc = jc * i

Next i

End Function

第2题:程序运行时,使窗体的高度和宽度相等,单击窗体,改变窗体坐标系长宽均为300个单位,过窗体中点(即原点)画出互相垂直的两条蓝色直线,用红色画函数曲线y=x2-2x+6在[-10,10]区间的图形(要求图形开口向上)。

正确答案:

Function f(ByVal x As Single) As Single

f = x * x - 2 * x + 6

End Function

Private Sub Form_Click()

Dim x As Single

Cls

Form1.ForeColor = vbBlue

Form1.Scale (-150, 150)-(150, -150)

Form1.Line (-150, 0)-(150, 0)

Form1.Line (0, -150)-(0, 150)

Form1.ForeColor = vbRed

For x = -10 To 10 Step 0.0001

Form1.PSet (x, f(x))

Next x

End Sub

Private Sub Form_Load()

Form1.Width = Form1.Height

End Sub

第3题:本程序是一个简单乘除运算器。运行时,用户在文本框中输入运算数,通过单选按钮选择运算符,也改变标签上显示的运算符号,单击“=”后,在标签中显示计算结果。注意除数不能为0。单击“复位”按钮后,文本框所有内容被清空。

正确答案:

Private Sub Form_Load()

Dim i As Integer

Text1(0).Text = ""

: Text1(1).Text = ""

: Text2.Text = ""

For i = 0 To 1

Option1(i).Enabled = False

Next i

End Sub

Private Sub Label2_Click()

Text2.Visible = True

Select Case Label1.Caption '根据运算要求进行计算并显示

Case "×"

相关主题
文本预览
相关文档 最新文档