杭州师范大学《计算机技术基础》(VB程序设计)设计题(请按照题目要求进行答题,完成之后打包上传)第01套:第1题:编程,输入x,求下列分段函数的值,计算结果输出到Text控件中。正确答案:PrivateSubCommand1_Click()DimxAsSinglex=InputBox(输入x,计算分段函数)Ifx=3ThenText1=Str(1+x)ElseText1=Str(x+3)^0.25EndIfEndSub第2题:如下图,编程,点击按钮可以移动列表框中所选中表项的位置。说明:通过load事件添加列表项,运行时,先选择列表框中的选项,才可以使用“上移”或“下移”按钮。当选项是第一项时不能再上移,当选项是最后一项时不能再下移。正确答案:PrivateSubCommand1_Click()'上移DimiAsIntegeri=List1.ListIndexList1.AddItemList1.Text,i-1'先将选中的内容添加到上一项前List1.RemoveItemi+1'将原来选中的那项删除List1.ListIndex=i-1'将光标重新指向已经上移后的选项EndSubPrivateSubCommand2_Click()'下移DimiAsIntegeri=List1.ListIndexList1.AddItemList1.Text,i+2'先将选中的内容添加到下一项后List1.RemoveItemi'将原来选中的那项删除List1.ListIndex=i+1'将光标重新指向已经下移后的选项EndSubPrivateSubList1_Click()Command1.Enabled=True:Command2.Enabled=TrueIfList1.ListIndex=0ThenCommand1.Enabled=False'第一项不能上移EndIfIfList1.ListIndex=List1.ListCount-1ThenCommand2.Enabled=False'最后一项不能下移ElseEndIfEndSub第3题:编写程序,将磁盘文件d:\student.dat中若干个学生的姓名、出生年月、外语成绩和计算机成绩显示在列表框中,并且能实现以下功能:直接输入在文本框中的文本可以追加;单击列表框某项,则该项可删除;首次运行时文件可以为空,退出系统前应保存文件。界面设计如图所示。正确答案:PrivateSubForm_Load()DimssAsStringOpene:\student.datForAppendAs#1Close#1Opend:\student.datForInputAs#1WhileNotEOF(1)LineInput#1,ss:List1.AddItemssWendClose#1EndSubPrivateSubCommand1_Click()IfTrim(Text1.Text)ThenList1.AddItemText1.TextText1.Text=EndSubPrivateSubCommand2_Click()List1.AddItemText1.Text,List1.ListIndexList1.RemoveItemList1.ListIndexText1.Text=EndSubPrivateSubCommand3_Click()DimiAsIntegerOpend:\student.datForOutputAs#1Fori=0ToList1.ListCount-1:Print#1,List1.List(i):NextiClose#1EndSubPrivateSubCommand4_Click()CallCommand3_Click:EndEndSub第02套:第1题:编程,用随机函数产生2个10~100的整数,输出最大值。正确答案:PrivateSubCommand1_Click()Dimx%,y%,max%Randomizex=Int(Rnd*91+10)y=Int(Rnd*91+10)Max=xIfyMaxTheny=MaxPrintMaxEndSub第2题:如下图,编写事件过程Command1_Click和Text3_Keypress(KeyasciiAsInteger)事件,运行时单击“出题”按钮,自动在Text1和Text2中显示两个2位随机正整数;用户在Text3中输入运算结果,按回车后计算机对运算结果进行评判,并将评判结果在Label2中显示(对了或错了)。要求文本框Text3只接受数字和回车键。(回车键的Ascii码为13,数字键的Ascii码为48到57)正确答案:DimxAsInteger,yAsIntegerPrivateSubCommand1_Click()x=Int(Rnd*90)+10:y=Int(Rnd*90)+10Text1.Text=CStr(x):Text2.Text=CStr(y)Text3.Text=Text3.SetFocusLabel2.Visible=False:Command1.Enabled=FalseEndSubPrivateSubForm_Load()Text1.Text=:Text2.Text=:Text3.Text=Label2.Visible=FalseRandomizeEndSubPrivateSubText3_KeyPress(KeyAsciiAsInteger)If(KeyAscii48OrKeyAscii57)AndKeyAscii13ThenKeyAscii=0EndIfIfKeyAscii=13ThenLabel2.Visible=TrueIfVal(Text3.Text)=x+yThenLabel2.ForeColor=vbBlue:Label2.Caption=对了ElseLabel2.ForeColor=vbRed:Label2.Caption=错了EndIfCommand1.Enabled=TrueEndIfEndSub第3题:在窗体上添加一个文本框和一个命令按钮。当用户在文本框中输入密码并单击命令按钮后,判断输入的密码是否为“123”,如果不是,则弹出对话框提示“密码不正确!单击“确定”,请再试一次”,并将文本框内容清空,焦点定位在文本框上,3次密码不正确即结束程序运行;如果输入的密码是“123”,则打开文本文件e:\aaa.txt,向文本框中写入:第I次登录日期时间(如:第9次登录2008-6-3010:11:00)。要求程序运行前先建一个文件e:\aaa.txt,初始内容为:第1次登录2008-6-110:41:31,之后每次按顺序在文件末尾写入第2次当前日期当前时间、第3次登录当前日期当前时间……。正确答案:DimkasintegerPrivateSubCommand1_click()DimnAsInteger,stasstringIfText1.Text=123ThenOpene:\aaa.txtForInputAs#1LineInput#1,stst=Mid(st,2,1)n=1+Val(st)Close#1Opene:\aaa.txtForAppendAs#1Print#1,第;Trim(n);次登录;Now()Close#1Elsek=k+1Ifk4ThenMsgBox密码不正确!单击“确定”,请再试一次Text1.Text=Text1.SetFocusElseEndEndIfEndIfEndSub第03套:第1题:编程,求算式1+1/2!+1/3!+1/4!+……前10项的和。正确答案:PrivateSubCommand1_Click()Dimi%,s!,a!a=1:s=0Fori=1To10a=a/is=s+aNextiPrint1+1/2!+1/3!+……=;sEndSub第2题:设计一个用于输入学生信息的应用程序。界面如图所示(民族有汉族、苗族、壮族等;政治面貌有:群众、团员、党员)。要求:(1)输入完毕后单击确定按钮,能在另一窗口显示输入的信息(2)单击取消按钮,将取消所输入的信息。正确答案:PublicinfoAsStringDimsAsStringPrivateSubCommand1_Click()info=学号为+Text1.Text+,姓名为+Text2.Text+,性别为+s+,民族为+Combo1.Text+,政治面貌为+Combo2.Text+”.”Form2.ShowEndSubPrivateSubCommand2_Click()CallForm_LoadEndSubPrivateSubForm_Load()Text1.Text=:Text2.Text=Option1.Value=True:Option2.Value=FalseCombo1.Text=汉族:Combo2.Text=群众EndSubPrivateSubOption1_Click()s=男EndSubPrivateSubOption2_Click()s=女EndSub第3题:编程实现两个文本文件的合并,要求用驱动器、目录、文件列表框选择文件1,单击按钮1后,调用通用对话框选择文件2;单击按钮2后,将文件2的内容添加到文件1原来内容之后,然后删除文件2。正确答案:DimfnAsStringPrivateSubCommand1_Click()CommonDialog1.Filter=(*.txt)|*.txtCommonDialog1.ShowOpenEndSubPrivateSubCommand2_Click()DimsAsStringOpenfnForAppendAs#1OpenCommonDialog1.FileNameForInputAs#2DoWhileNotEOF(2)LineInput#2,sPrint#1,sLoopCloseKillCommonDialog1.FileNameEndSubPrivateSubDir1_Change()File1.Path=Dir1.PathEndSubPrivateSubDrive1_Change()Dir1.Path=Drive1.DriveEndSubPrivateSubFile1_Click()IfRight(File1.Path,1)=\Thenfn=File1.Path+File1.FileNameElsefn=File1.Path+\+File1.FileNameEndIfEndSubPrivateSubForm_Load()File1.Pattern=*.txtEndSub第04套:第1题:编程,求算式1-1/2+1/3-1/4+……前30项的和。正确答案:PrivateSubCommand1_Click()Dimi%,s!,f%s=0:f=1Fori=1To30s=s+f/if=-fNextiPrint1-1/2+1/3-1/4+……=;sEndSub第2题:编程,用户界面如图所示(可先用Form_Load添加几个单词到列表框)。要求:(1)单击“添加单词”按钮,将Text1中的单词添加到列表框,并使Text1获得焦点,可直接输入另一个单词。(2)单击“删除单词”按钮,删除列表框中被选中的列表项。(3)单击“全部删除”按钮,删除列表框中的全部表项。(4)单击“退出”按钮,结束该程序。正确答案:PrivateSubForm_Load()List1.AddItemhappy:List1.AddItemappleList1.AddItemstudent:List1.AddItemcomputerEndSubPrivateSubCommand1_Click()List1.AddItemText1.Text:Text1.SetFocusText1.SelStart=0:Text1.SelLength=Len(Text1.Text)EndSubPrivateSubCommand3_Click()List1.ClearEndS