2026秋国家开放大学《VisualBasic程序设计》(课程ID:00028)形考作业及答案_第1页
2026秋国家开放大学《VisualBasic程序设计》(课程ID:00028)形考作业及答案_第2页
2026秋国家开放大学《VisualBasic程序设计》(课程ID:00028)形考作业及答案_第3页
2026秋国家开放大学《VisualBasic程序设计》(课程ID:00028)形考作业及答案_第4页
2026秋国家开放大学《VisualBasic程序设计》(课程ID:00028)形考作业及答案_第5页
已阅读5页,还剩18页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家开放大学《VisualBasic程序设计》形考作业及答案说明:本课程形考由网上形考(客观题库+程序设计题)与形成性考核册(作业1—4)两部分构成。网上形考平台每次从题库随机抽题、乱序显示,四个任务共用同一题库。题目按阿拉伯数字顺序编号,答案以加粗标出。第一部分网上形考客观题库一、单项选择题(1—10)1.如果创建了命令按钮数组控件,那么Click事件的参数是()。A.CaptionB.没有参数C.IndexD.Tag答案:C(Index)2.以下哪类控件能用来显示图形()。A.TextBoxB.OptionButtonC.LabelD.PictureBox答案:D(PictureBox)3.如果有数组定义语句Dima(1To3,1To4),则数组a中的元素个数共有()。A.12个B.7个C.9个D.11个答案:A(12个,3×4)4.用RGB()函数设置红色,以下设置方式正确的是()。A.RGB(255,0,0)B.RGB(0,0,255)C.RGB(0,0,0)D.RGB(255,255,255)答案:A(RGB(255,0,0))5.列表框控件所显示的项目列表系统默认为()。A.双列列表B.空白列表C.多列列表D.单列列表答案:D(单列列表)6.要将数值型数据x转换成字符型数据,需要用到转换函数()。A.Str(x)B.Trim(x)C.Ltrim(x)D.Val(x)答案:A(Str(x))7.用Line方法画直线后,当前坐标在()。A.直线终点B.(0,0)C.容器的中心D.直线起点答案:A(直线终点)8.下面错误的语句是()。A.Line(200,200)-(400,400),,FB.Line(200,200)-(400,400),RGB(255,0,0)C.Circle(600,600),300,RGB(255,0,0)D.Line(200,200)-(400,400),,B答案:A(画填充矩形须用"BF"标志,"F"单独使用不成立)9.下面选项中,能绘制一条水平直线的选项是()。A.Line(1000,2000)-(2000,3000)B.Line(1000,2000)-(1000,2000)C.Line(1000,2000)-(2000,2000)D.Line(1000,2000)-(1000,3000)答案:C(纵坐标相同即为水平线)10.以下各项中,VisualBasic不能接收的图形文件是()。A.JPG文件B.ICO文件C.BMP文件D.PSD文件答案:D(PSD文件)二、多项选择题(11—20)11.以下控件具有Caption属性的分别是()。A.CheckBoxB.TextBoxC.CommandButtonD.Label答案:A、C、D(TextBox用Text属性,无Caption属性)12.关于标签控件的使用,以下叙述中正确的是()。A.可以通过程序指令改变标签控件在窗口中的位置B.当标签控件中显示的文本内容发生变化时触发Change事件C.标签控件在窗口中的位置一旦设定就不能更改D.标签中显示的文本内容是可以改变的答案:A、B、D13.以下VB文件名中,后缀不是.bas的文件分别有()。A.窗体文件B.标准模块文件C.类模块文件D.窗体二进制数据文件答案:A、C、D(.frm/.cls/.frx;.bas为标准模块文件)14.对表达式16/4-2^5*8/4MOD5+2计算错误的结果分别是()。A.14B.4C.20D.2答案:A、B、C(先算2^5=32、32*8/4=64、64MOD5=4,4-4+2=2,正确结果为2)15.当一个工程中含有多个窗体时,以下哪些窗体可以不是启动窗体()。A.第一个添加的窗体B.在"工程属性"对话框中指定的窗体C.最后一个添加的窗体D.启动VB时创建的第一个窗体答案:A、C、D(只有"工程属性"中指定的窗体是启动窗体)16.如果要求图像框Image控件不要自动适应其中的图形大小,应()。A.将控件的AutoSize属性设为FalseB.将控件的AutoSize属性设为TrueC.将控件的Stretch属性设为FalseD.将控件的Stretch属性设为True答案:D(Image控件Stretch为True时图形随控件缩放,控件本身不再按图形大小自动调整;AutoSize是PictureBox的属性)17.以下属于标签控件Appearance属性的属性值有()。A.3DB.FlatC.FalseD.True答案:A、B(0-Flat平面、1-3D三维)18.文本框控件的ScrollBars属性设置,可以有以下不同的值()。A.VerticalB.NoneC.BothD.Horizontal答案:A、B、C、D(0-None、1-Horizontal、2-Vertical、3-Both)19.文本框控件的Enabled属性的作用,是用于决定其()。A.在程序运行时是否能够可见B.在程序运行时是否能够显示用户输出的数据C.在程序运行时是否能够响应用户生成的事件D.在程序运行时是否能够接收用户输入的数据答案:C、D(是否可见由Visible属性决定)20.标签控件的Alignment属性,用来设置标签文本的对齐方式,可以有以下不同的属性值()。A.右对齐B.居中对齐C.左对齐D.低端对齐答案:A、B、C(0-Left、1-Right、2-Center)三、填空题(21—30)21.控件数组是一组具有相同名称和相同类型的控件,每一个控件称为控件数组的一个元素。答案:相同名称和相同类型22.若X是小于100且大于0的正数,对应的布尔表达式是。答案:X>0AndX<10023.控件数组的名字由属性指定。答案:Name24.在事件过程或其他过程中可以按名称调用函数过程。答案:按名称(直接用函数名调用)25.函数过程是用户根据需要编写的程序过程,可完成特定的运算功能。答案:用户(自定义的、由用户编写的)26.以窗体Form1的中心为圆心,画一个半径为500的圆的语句是。答案:Circle(ScaleWidth/2,ScaleHeight/2),500(或Form1.Circle(Form1.ScaleWidth/2,Form1.ScaleHeight/2),500)27.使用Output方式打开一个已存在的文件时,磁盘上的原有同名文件将被覆盖。答案:将被覆盖(全部清除)28.每次重新设置驱动器列表框的Drive属性时,都将引发Change事件。答案:Change29.是应用程序的对外接口,是其他控件的载体和容器。答案:窗体(Form)30.Timer控件的Enabled属性决定该控件是否对时间的推移做响应。将该属性设置为False会关闭Timer控件,设置为True则打开它。答案:Enabled四、判断题(31—40)31.由VisualBasic语言编写的应用程序有解释和编译两种执行方式。()答案:对32.当程序员设计在VB窗体上建立一个控件时,VB就给这个控件设定了一个默认的TAB键序值TABIndex,这个属性决定控件接收焦点的顺序。()答案:对33.VB6.0用于开发任何环境下的应用程序。()答案:错(VB6.0不能开发所有环境下的应用,如跨平台、Web服务等)34.在事件驱动的应用程序中,代码是按照预定的路径执行的。()答案:错(事件驱动由用户操作决定执行路径)35.在打开一个VB工程后,当要另存为一个版本时,单击"工程另存为…"即可,因为同时会保存窗体文件。()答案:错(窗体文件需单独"另存为"保存)36.打开一个工程时,系统不会自动载入与该工程有关的窗体、标准模块等文件类型。()答案:错(打开工程会自动载入相关文件)37.VB工程是构成VB应用程序文件的集合。()答案:对38.VB中的Tab(n)函数与Print方法或Print#语句一起使用时,可以对输出进行定位。()答案:对39.在VB中,可以不需要对工程进行编译就形成可执行文件。()答案:错(须经"生成.exe"编译)40.VB工程文件是与VB工程相关联的所有文件和对象以及所设置的环境信息的一个简单的列表。()答案:对第二部分网上形考程序设计题一、任务一程序设计题(41—45)41.时间换算程序:输入小时数、分钟数和秒数,单击"计算"按钮输出共计秒数。PrivateSubCommand1_Click()Text4.Text=Val(Text1.Text)*3600+Val(Text2.Text)*60+Val(Text3.Text)EndSub42.消息框提示程序:单击"输入"按钮弹出"是否输入"对话框(只有"是""否"),选"是"则在文本框中显示函数返回值。PrivateSubCmd1_Click()IfMsgBox("是否输入",vbYesNo)=vbYesThenText1.Text=MsgBox("是否输入",vbYesNo)EndIfEndSub43.倒计时程序:输入分钟数后单击"开始"按钮开始倒计时,结束时弹出"时间到"信息框。DimsAsLongPrivateSubCommand1_Click()s=Val(Text1.Text)*60Timer1.Interval=1000EndSubPrivateSubTimer1_Timer()s=s-1Text2.Text=sIfs<=0ThenTimer1.Interval=0MsgBox"时间到"EndIfEndSub44.文本框隐藏/显示程序(不得使用变量)。PrivateSubCmd1_Click()Text1.Visible=FalseEndSubPrivateSubCmd2_Click()Text1.Visible=TrueEndSub45.文本框输入/取消程序(不得使用变量)。PrivateSubCmd1_Click()Txt1.Text="祝你考试成功!"EndSubPrivateSubCmd2_Click()Txt1.Text=""EndSub二、任务三程序设计题(大作业,每题25分)1.Word文件查找显示程序:文件列表框只显示.doc文件(File1.Pattern="*.doc"),引入MicrosoftRichTextBoxControl后用RichTextBox1显示RTF文件。PrivateSubFile1_Click()RichTextBox1.LoadFileFile1.Path&"\"&File1.FileNameEndSub2.文本浏览器:驱动器、目录、文件列表框联动,复选框控件数组(Index0—5)显示文件属性(只读、隐藏、系统、存档、目录、正常)。PrivateSubDrive1_Change()Dir1.Path=Drive1.DriveEndSubPrivateSubDir1_Change()File1.Path=Dir1.PathEndSub3.VCD播放器:用CommonDialog选择文件、MMControl播放(MMControl1.Command="Open"→"Play"),配合快进、快退、暂停、弹碟、退出按钮。4.图片浏览器:CommonDialog打开文件对话框,用"上一个""下一个"按钮在文件列表框中顺序切换并显示图片。三、任务四程序设计题(数据库应用,50分)开发"成绩查询"数据库应用程序,具备增加(Insert)、修改(Update)、删除(Delete)、查询(Select)功能:用Access或SQLServer建"成绩"库(学生成绩表、学生情况表、课程情况表),采用ADO对象(Connection+Recordset)连接,用DataGrid或MSFlexGrid显示记录,用SQL语句(Select*From学生成绩表Where学号='...')实现查询。第三部分形成性考核册作业1—4作业1一、选择题1.在设计应用程序时,可以查看到应用程序工程所有组成部分的窗口是()。A.窗体设计B.代码C.属性D.工程资源管理器窗口答案:D2.窗体的Load事件的触发时机是()。A.用户单击窗体时B.窗体被加载时C.窗体显示之后D.窗体卸载时答案:B3.与传统的程序设计语言相比,VisualBasic最突出的特点是()。A.结构化程序设计B.程序开发环境C.事件驱动编程机制D.程序调试技术答案:C4.VB6.0集成开发环境的主窗口中不包括()。A.标题栏B.菜单栏C.状态栏D.工具栏答案:C5.如果对象的名称为Mytext,而且对象有一个属性Text,那么在代码中引用该属性的正确格式是()。A.text.MytextB.Mytext.TextC.Mytext.(Text)D.Mytext*Text答案:B6.下列可以激活属性窗口的操作是()。A.用鼠标双击窗体的任何部位B.执行"工程"菜单中的"属性窗口"命令C.按Ctrl+F4D.按F4答案:D7.假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先应执行的操作是()。A.单击窗体上没有控件的地方B.单击任一个控件C.不执行任何操作D.双击窗体的标题栏答案:A8.如果要在文本框键入字符时,只显示某个字符,如(*),应设置文本框的()属性。A.CaptionB.PasswordCharC.TextD.Char答案:B9.如果想要在文本框中的内容在运行时不能编辑,需要文本框的()属性设置为True。A.LockedB.MultiLineC.TabStopD.Visible答案:A10.对于定时器(Timer)控件,设置其定时是否开启的属性是()。A.IndexB.TagC.EnabledD.Left答案:C11.要在窗体Form1内显示"myfrm"使用的语句是()。A.Form.caption="myfrm"B.Form1.caption="myfrm"C.Form1.print"myfrm"D.form.print"myfrm"答案:C12.对象的性质和状态特征称为()。A.事件B.方法C.属性D.类答案:C13.下列正确的赋值语句是()。A.x+y=20B.y=x+20C.3x=yD.s=答案:B14.当使用上下文相关的帮助时,选择要帮助的内容,然后按()键,就可出现MSDN窗口直接显示所需的帮助信息。A.HelpB.F10C.EscD.F1答案:D15.将调试通过的工程经"文件"菜单的"生成.exe文件"编译成exe后,将该可执行文件放到其它机器上不能运行的主要原因是()。A.运行的机器上无VB系统B.缺少.frm窗体文件C.该执行文件有病毒D.以上原因都不对答案:D(真正原因是目标机缺少VB运行库,三项均非主因)二、填空题1.当进入VB集成开发环境后,发现没有显示"工具箱"窗口,应选择视图菜单的工具箱选项,使"工具箱"窗口显示。2.在VB中,事件过程名由对象名和事件名构成。3.工程文件的扩展名是vbp,窗体文件扩展名是frm。4.对象是代码和数据的集合,例如VisualBasic中的窗体、按钮、文本框等都是对象。5.对象的方法用于实施某种操作功能;当方法不需要参数也没有返回值时,调用格式为对象名.方法名,如对窗体Form1使用Show方法写作Form1.Show。6.要使文本框显示滚动条,需要将其ScrollBars属性设置为3(Both)。7.欲设置定时的时间间隔为4秒,则属性Interval的值为4000(单位毫秒)。8.要使标签框的大小随Caption属性自动调整,应将AutoSize属性设置为True。9.通过窗体布局窗口可以在设计时直观地调整窗体在屏幕的位置。10.要想在代码中给名为txtshow的文本框赋予文本"GOODWORK!",语句是txtshow.Text="GOODWORK!"。11.若命令按钮的名称为Cmdopen,单击它打开窗口frm1,事件过程为:PrivateSubCmdopen_Click()Frm1.ShowEndSub(事件过程名由Cmdopen与Click构成)12.事件就是对象上所发生的事情,VB中的事件如单击、装入、鼠标移动等;一个对象响应的事件可以有多个,用户不能建立新的事件;事件过程是指响应某个事件后所执行的代码。对PrivateSubcmd1_Click()中的Form1.Caption="VB示例",响应过程的对象名是cmd1,事件名是Click。13.对象的方法用于在对象上实施某种操作功能,调用格式为对象名.方法名,如Form1.Show。14.为了在编写代码时能自动语法检查,必须执行工具菜单中的选项命令,打开选项对话框,在"编辑器"选项卡中选中自动语法检测。15.定时器(Timer)控件可识别的事件是Timer,产生该事件的时间间隔由Interval属性设置,其单位为毫秒。三、问答题1.什么是可视化编程和事件驱动?答:可视化编程是指无须编写大量代码,仅通过直观的界面操作即可完成界面设计的编程方式。事件驱动是指应用程序运行后系统处于等待状态,当某个事件发生后,程序就执行该事件的事件过程;该过程执行完后,系统又进入等待下一个事件发生的状态。2.对象、属性、事件和方法之间的关系如何?答:对象是代码和数据的封装体;对象的操作通过与其有关的属性、事件和方法来描述。属性是对象的基本特性;方法是对象要执行的动作(完成特定操作的子程序);事件是在对象上所发生的事情,事件发生时执行相应的事件过程。3.简述事件驱动机制与传统编程方式的不同。答:传统面向过程的程序中,应用程序自身控制执行哪部分代码、按何种顺序执行,程序从第一行开始按预定路径执行,用户无法改变流程;事件驱动机制则由用户的操作(事件)决定执行路线,程序不按固定顺序执行。4.简述事件驱动的工作过程。答:(1)启动应用程序,装载并显示窗体;(2)窗体及其控件等待事件发生;(3)事件发生后执行对应的事件过程代码;(4)重复(2)(3),直到遇到End语句或单击"结束"按钮停止运行。四、程序设计题1.文本框显示/隐藏:两个按钮"隐藏文本框""显示文本框",后者显示文本框并写入"VB程序设计"(字号16)。PrivateSubCommand1_Click()'隐藏文本框Text1.Visible=FalseEndSubPrivateSubCommand2_Click()'显示文本框Text1.Visible=TrueText1.Text="VB程序设计"Text1.FontSize=16EndSub2.三科平均成绩计算:清除、计算、退出三个按钮。PrivateSubCommand1_Click()'清除Text1.Text="":Text2.Text="":Text3.Text="":Text4.Text=""EndSubPrivateSubCommand2_Click()'计算平均分Text4.Text=(Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text))/3EndSubPrivateSubCommand3_Click()'退出EndEndSub3.收款计算程序:输入单价、数量、折扣,计算应付款并支持清除。PrivateSubCommand1_Click()'计算Text4.Text=Val(Text1.Text)*Val(Text2.Text)*Val(Text3.Text)/10EndSubPrivateSubCommand2_Click()'清除Text1.Text="":Text2.Text="":Text3.Text="":Text4.Text=""EndSub(若"折扣"以百分比输入,则Text4=Val(Text1)*Val(Text2)*Val(Text3)/100;若以折数输入,则再乘折扣比例)作业2一、选择题1.按照变量的作用域可将变量划分为()。A.公有、私有、系统B.全局变量、模块级变量、过程变量C.动态、常数、静态D.Public、Private、Protected答案:B2.可获得字符的ASCII码的函数是()。A.ValB.FixC.AscD.Chr答案:C3.要退出Do…Loop循环,可使用的语句是()。A.ExitB.ExitForC.EndDoD.ExitDo答案:D4.把数值型转换为字符串型需要使用的函数是()。A.ValB.StrC.AscD.Chr答案:B5.关于语句行,下列说法正确的是()。A.一行只能写一条语句B.一条语句可以分多行书写C.每行的首字符必须大写D.长度不能超过255个字符答案:B(用续行符"空格+下划线"折行)6.表达式6+10Mod4*2+1的值是()。A.9B.11C.1D.3答案:A(4*2=8,10Mod8=2,6+2+1=9)7.以下可以作为VisualBasic变量名的是()。A.SINB.CO1C.COS(X)D.X(-1)答案:B8.表达式Abs(-5)+Len("ABCDE")的值为()。A.5ABCDEB.-5ABCDEC.10D.0答案:C9.一条语句太长无法在一行内写下时,可以在行末使用续行字符(),表示下一行是当前行的继续。A.一个空格加一个下划字符(_)B.一个下划字符(_)C.直接回车D.一个空格加一个字符(-)答案:A10.Sub过程与Function过程最根本的区别是()。A.Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以B.Function过程可以有参数,Sub过程不可以C.两种过程参数的传递方式不同D.Sub过程的过程名不能返回值,而Function过程能够通过过程名返回值答案:D11."X是小于80的非负数",用VB表达式表示正确的是()。A.0≤X<80B.0<=X<80C.0<=xAndx<80D.0<=xOrx<80答案:C12.在设计菜单时,如果要在菜单中加入一个菜单分隔条,则菜单分隔条的标题必须设置为()。A.加号(+)B.减号(-)C.星号(*)D.感叹号(!)答案:B13.如果要在程序中显示一个弹出式菜单,那么要调用VisualBasic中提供的方法是()。A.PrintB.MoveC.RefreshD.PopupMenu答案:D14.下列可以用来存储图像供其他对象使用的控件是()。A.ToolBarB.StatusBarC.ImageListD.TreeView答案:C15.当单击工具栏上的按钮时,会触发的事件是()。A.ButtonClickB.ChangeC.LoadD.KeyPress答案:A16.要利用公用对话框控件来显示"打开文件"对话框,需要调用控件的()方法。A.ShowPrinterB.ShowOpenC.ShowSaveD.ShowColor答案:B17.对于窗体级变量,下列说法中错误的是()。A.所在窗体的各子程序都可以访问B.其他窗体的子程序不能访问C.所在窗体的子程序不能访问用Private定义的窗体级变量D.一定要在所在窗体的通用区内定义答案:C18.从一个字符串中的第3个字符开始,获取5个字符,应使用()。A.Len函数B.Mid函数C.Left函数D.Right函数答案:B19.用语句DimA(-3To5)AsInteger所定义的数组的元素个数是()。A.6B.7C.8D.9答案:D(-3…5共9个)20.有如下程序段:Dimstr1AsString*5/str1="VisualBasic",执行完后变量str1的值为()。A."Visual"B."Visua"C."V"D."VisualBasic"答案:B(定长字符串取前5个字符)二、填空题1.菜单一般有下拉式和弹出式两种基本类型。2.通用对话框控件可显示的常用对话框有打开、保存、颜色、字体、打印。3.组合框具有文本框和列表框两种控件的基本功能。4.要使数组的默认下标从"1"开始,则应在窗体或标准模块代码的声明部分使用语句OptionBase1。5.调用Sub过程时,使用Call语句,该语句用于把程序控制传送到一个VisualBasic的Sub过程。6.若已建立Form1和Form2两个窗体,通过工程菜单的属性命令的通用选项卡可将启动窗体设置为Form2;程序中若要显示Form1窗体,则执行Form1.Show语句。7.列表框中项目的序号是从0开始的。8.Sub过程与Function过程最根本的区别是Sub过程名无返回值,Function过程名有返回值。9.VB提供了三种类型的模块:类模块、窗体模块和标准模块。10.使用Hide方法会隐藏被调用的窗体,但不会把窗体卸载,其属性等仍处于内存中。11.将下列数学式子写成VB表达式:(1)2cos(a)sin(a)/(2a)→2*Cos(a)*Sin(a)/(2*a)(2)√(s(s-a)(s-b)(s-c))→Sqr(s*(s-a)*(s-b)*(s-c))(3)sin45°→Sin(45*3.14159/180)12.逻辑表达式:(1)1≤x<12→1<=xAndx<12(2)A+B≥C或a-c≤c→(A+B)>=COr(a-c)<=c(3)a和b都为正整数或同为负数→(a>=0Andb>=0)Or(a<=0Andb<=0)13.设A=2,B=3,C=4,D=5,表达式NotA<=COr4*B^2AndB<>A+C的值为False。14.VB中有三种循环结构:若循环次数可以事先确定,使用For…Next循环;若要求先判断循环条件,可使用DoWhile…Loop或While…Wend循环。15.以下语句的输出结果是3:a%=3.14159:Printa%三、阅读程序写结果1.累加1—100:PrivateSubForm_Click()StaticSumAsIntegerForI=1To100Sum=Sum+INextIPrintSumEndSub运行结果:50502.输出格式(Spc/Space$):A=10:b=15:c=20:d=25PrintA;Spc(5);b;Spc(7);cPrintA;Spc(8);b;Space$(5);cPrintc;Spc(3);"+";Spc(3);c+d运行结果:10152010152020+453.九九乘法表(左下三角):Fori%=1To3Forj%=1ToiPrintLTrim(Str(i%))+"*"+LTrim(Str(j%))+"=";i%*j%;Nextj%PrintNexti%运行结果:1*1=12*1=22*2=43*1=33*2=63*3=94.变量类型转换:Dima,bAsIntegerA=3.4B=3.4Text1.Text=aText2.Text=b运行结果:Text1显示3.4,Text2显示3(a未声明类型为Variant保留3.4,b为Integer四舍五入为3)5.星号三角形:ForI=1To5PrintTab(11-I);ForJ=1ToI*2-1Print"*";NextNextI运行结果:*************************四、程序设计题1.购物优惠程序(100元以上九五折、200元以上九折、300元以上八折、500元以上七折):PrivateSubCommand1_Click()DimmAsSinglem=Val(Text1.Text)Ifm>=500ThenText2.Text=m*0.7ElseIfm>=300ThenText2.Text=m*0.8ElseIfm>=200ThenText2.Text=m*0.9ElseIfm>=100ThenText2.Text=m*0.95ElseText2.Text=mEndIfEndSub2.输出100—200之间不能被3整除的数(用Do语句):PrivateSubForm_Load()DimaAsIntegera=100DoWhilea<=200IfaMod3<>0ThenList1.AddItemStr(a)a=a+1LoopEndSub3.打印乘积表:PrivateSubForm_Click()DimiAsInteger,jAsIntegerPrint"*";Space(5);Fori=3To12Step3PrintStr(i);Space(5);NextiPrintFori=15To18PrintStr(i);Space(3);Forj=3To12Step3PrintStr(i*j);Space(4);NextjPrintNextiEndSub4.单选按钮计算程序(10和2的加减乘除):PrivateSubOption1_Click(IndexAsInteger)SelectCaseIndexCase0:Text1.Text=10+2Case1:Text1.Text=10-2Case2:Text1.Text=10*2Case3:Text1.Text=10/2EndSelectEndSubPrivateSubCommand1_Click()EndEndSub5.输入0—6显示星期(中文+英文):PrivateSubText1_Change()SelectCaseVal(Text1.Text)Case0:Label1.Caption="星期天"&Chr(13)&"(Sunday)"Case1:Label1.Caption="星期一"&Chr(13)&"(Monday)"Case2:Label1.Caption="星期二"&Chr(13)&"(Tuesday)"Case3:Label1.Caption="星期三"&Chr(13)&"(Wednesday)"Case4:Label1.Caption="星期四"&Chr(13)&"(Thursday)"Case5:Label1.Caption="星期五"&Chr(13)&"(Friday)"Case6:Label1.Caption="星期六"&Chr(13)&"(Saturday)"EndSelectEndSub6.鼠标指针形状变化+右键消息框:PrivateSubPicture1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Picture1.MousePointer=2'十字形指针EndSubPrivateSubPicture1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2Then'右键MsgBox"Youpressedrightbutton"Picture1.MousePointer=0EndIfEndSub7.列表框增删改程序:PrivateSubCommand1_Click()'添加List1.AddItemText1.TextText1.Text=""EndSubPrivateSubCommand2_Click()'删除IfList1.ListIndex>=0ThenList1.RemoveItemList1.ListIndexEndSubPrivateSubCommand3_Click()'修改/修改确认IfCommand3.Caption="修改"ThenText1.Text=List1.TextCommand3.Caption="修改确认"ElseIfList1.ListIndex>=0ThenList1.List(List1.ListIndex)=Text1.TextCommand3.Caption="修改"EndIfEndSub作业3一、选择题1.VisualBasic根据计算机访问文件的方式将文件分成三类,其中不包括()。A.顺序文件B.Unix文件C.二进制文件D.随机文件答案:B2.随机文件进行文件读取的单位是()。A.字节B.记录C.整个文件D.字符答案:B3.为了使目录路径列表框Dir1的内容符合驱动器列表框Drive1的选择,应当()。A.在Dir1_Click事件中加入Dir1.Path=Drive1.DriveB.在Drive1_Click事件中加入Dir1.Path=Drive1.DriveC.在Dir1_Click事件中加入Drive1.Path=Dir1.DriveD.在Dir1_Click事件中加入Drive1.Path=Dir1.Drive答案:B4.为了使Drive1、Dir1和File1三个文件系统控件能同步协调工作,需要在()。A.Drive1的Change事件中加入Drive1.Drive=Dir1.Path,在Dir1的Change事件中加入Dir1.Path=File1.PathB.Drive1的Change事件中加入Dir1.Path=Drive1.Drive,在Dir1的Change事件中加入File1.Path=Dir1.PathC.Dir1的Change事件中加入Dir1.Path=Drive1.Drive,在File1的Click事件中加入File1.Path=File1.FileNameD.Dir1的Change事件中加入Dir1.Path=Drive1.Drive,在File1的Click事件中加入File1.Path=Dir1.Path答案:B5.下面关于顺序文件的描述正确的是()。A.每条记录的长度必须相同B.可通过编程对文件中的某条记录方便地修改C.数据只能以ASCII码形式存放在文件中,所以可通过文本编辑软件显示D.文件的组织结构复杂答案:C(顺序文件记录长度可不等、修改不便、结构简单,只能以ASCII码存储,可用文本编辑器查看)6.Kill语句在VB语言中的功能是()。A.清内存B.清病毒C.删除磁盘上的文件D.清屏幕答案:C7.可用来改变坐标度量单位的是()。A.DrawStyle属性B.DrawWidth属性C.Scale方法D.ScaleMode属性答案:D8.以下的属性和方法中,可重定义坐标系的是()。A.DrawStyle属性B.DrawWidth属性C.Scale方法D.ScaleMode属性答案:C9.当用Line方法画直线后,当前坐标在()。A.(0,0)B.直线起点C.直线终点D.容器的中心答案:C10.Line(200,200)-Step(500,500)将在窗体()画一直线。A.(200,200)到(500,500)B.(200,200)到(300,300)C.(200,200)到(700,700)D.(300,300)到(500,500)答案:C(Step为相对当前点的偏移)11.设置对象的边框类型的属性是()。A.DrawStyleB.BorderStyleC.DrawWidthD.ScaleMode答案:B12.为了清除图片框Picture1中的图形,应采取的正确方法是()。A.选择图片框,然后按Del键B.执行语句Picture1.Picture=LoadPicture("")C.执行语句Picture1.Picture=""D.选择图片框,在属性窗口中选择Picture属性条,然后按回车键答案:B13.绘制多种形状的图形,需要设置Shape控件的()属性。A.ShapeB.BorderStyleC.FillStyleD.Style答案:A14.设置Line控件的线型,需要设置其()属性。A.ShapeB.BorderStyleC.FillStyleD.Style答案:B15.如果准备读文件,打开顺序文件"text.dat"的正确语句是()。A.Open"text.dat"ForWriteAs#1B.Open"text.dat"ForBinaryAs#1C.Open"text.dat"ForInputAs#1D.Open"text.dat"ForRandomAs#1答案:C16.如果准备向随机文件中写入数据,正确的语句是()。A.Print#1,recB.Write#1,recC.Put#1,recD.Get#1,rec答案:C17.程序代码CommonDialog1.Action=1代表()。A.文件另存为B.打开文件C.色彩D.打印答案:B18.File1.Pattern="*.bat"程序代码执行后,会显示()。A.只包含扩展文件名为"*.bat"的文件B.第一个bat文件C.包含所有的文件D.会显示磁盘的路径答案:A19.下列数据对象模型中采用OLEDB访问数据库的是()。A.DAOB.RDOC.ADOD.RDO和ADO答案:C20.设ADOrs为Recordset对象,从"学生基本情况表"中获取所有记录的语句是()。A.ADOrs.New"Select*From学生基本情况表"B.ADOrs.Open"Select*From学生基本情况表"C.ADOrs.Execute"Select*From学生基本情况表"D.ADOrs.Select"Select*From学生基本情况表"答案:B21.VB中将变量xl声明为Excel应用程序对象的方法是()。A.DimxlAsExcel.ApplicationB.DimxlAsExcel.WorkbookC.DimxlAsExcel.WorksheetD.DimxlAsExcel.Worksheets答案:A二、填空题1.如果要新建一个顺序文件,用Open语句时,操作方式关键词是Output。2.实现复制文件"C:\"到D盘根目录下的语句为FileCopy"c:\","d:\"。3.实现删除文件"D:\tem.tmp"的语句为Kill"d:\tem.tmp"。4.按文件号为1打开顺序文件SEQNEW.DAT用于写入数据:Open"SEQNEW.DAT"ForOutputAs#1。5.按文件号为2打开顺序文件SEQOLD.DAT用于读出数据:Open"SEQOLD.DAT"ForInputAs#2。6.若窗体左上角坐标为(-200,250)、右下角为(300,-150),则X轴正向向右,Y轴正向向上。7.Stretch属性设置为False时,图像框可自动改变大小以适应其中的图形。8.在图片框Picture1中画左上角在(500,500)、边长500的红色实心正方形的语句为Picture1.Line(500,500)-Step(500,500),vbRed,BF。9.设CurrentX=50、CurrentY=100,执行Line(100,20)-Step(300,500)后,CurrentX/Y=(400,520)。10.使用ADO模型时,可通过ActiveConnection属性建立Recordset和Connection对象的连接。11.VB中将数据库分为本地数据库、远程数据库和外部数据库三种类型。12.采用ADO模型时,与ADOrs.Fields("学号")等效的语句是ADOrs("学号")。13.ADO模型中可通过Connection对象的Execute方法执行增加、删除、修改等三类不返回结果集的SQL语句。14.Str1为"001",执行StrSQL="Select*fromTabel1Where学号='"+Str1+"'"后,StrSQL的值为"Select*fromTabel1Where学号='001'"。15.在VB中,将FoxPro称为外部数据库,Access称为本地数据库,SQLServer称为远程数据库。三、程序设计题1.图片浏览程序(驱动器、目录、文件、图片框联动):PrivateSubForm_Load()Drive1.Drive="C:"File1.Pattern="*.bmp;*.jpg"EndSubPrivateSubDrive1_Change()ChDriveDrive1.DriveDir1.Path=Drive1.DriveEndSubPrivateSubDir1_Change()ChDirDir1.PathFile1.Path=Dir1.PathEndSubPrivateSubFile1_Click()Picture1.Picture=LoadPicture(File1.Path&"\"&File1.FileName)EndSub2.画余弦曲线(x从-2π到2π,含坐标轴刻度):PrivateSubForm_Click()Form1.Scale(-2*3.14159,1)-(2*3.14159,-1)Form1.Line(-2*3.14159,0)-(2*3.14159,0)Form1.Line(0,1)-(0,-1)Form1.CurrentX=0.2:Form1.CurrentY=-0.1:Print"0"Form1.CurrentX=-3.2:Form1.CurrentY=-0.1:Print"-pi"Form1.CurrentX=3.3:Form1.CurrentY=-0.1:Print"pi"Form1.CurrentX=0.2:Form1.CurrentY=0.5:Print"0.5"Form1.CurrentX=0.2:Form1.CurrentY=-0.5:Print"-0.5"ForI=-6.282To6.282Step0.08Form1.PSet(I,Cos(I))NextIEndSub3.Line控件线宽与线型控制:PrivateSubCheck1_Click()IfCheck1.Value=1ThenLine1.BorderWidth=4ElseLine1.BorderWidth=1EndSubPrivateSubOption1_Click(IndexAsInteger)SelectCaseIndexCase0:Line1.BorderStyle=1'实线Case1:Line1.BorderStyle=2'虚线Case2:Line1.BorderStyle=3'点线EndSelectEndSub4.Shape控件形状、边框与填充:PrivateSubOption1_Click(IndexAsInteger)'形状Shape1.Shape=Array(0,1,3,4)(Index)'矩形、正方形、圆、椭圆EndSubPrivateSubOption2_Click(IndexAsInteger)'边框Shape1.BorderStyle=Array(0,2,1,3,4)(Index)EndSubPrivateSubOption3_Click(IndexAsInteger)'填充Shape1.FillStyle=Array(1,1,3,6)(Index)EndSub5.ADO+MSFlexGrid显示"学生"数据库:PrivateADOcnAsConnectionPrivateSubReadFromTable()DimstrTmpAsStringDimADOrsAsNewRecordsetADOrs.ActiveConnection=ADOcnADOrs.Open"select*fromstudentsorderby学号"MSFlexGrid1.ClearMSFlexGrid1.Rows=0MSFlexGrid1.Cols=3strTmp="学号"+vbTab+"姓名"+vbTab+"专业"MSFlexGrid1.AddItemstrTmpDoWhileNotADOrs.EOFstrTmp=ADOrs("学号")+vbTab+ADOrs("姓名")+vbTab+ADOrs("专业")MSFlexGrid1.AddItemstrTmpADOrs.MoveNextLoopMSFlexGrid1.FixedCols=0MSFlexGrid1.FixedRows=1EndSubPrivateSubForm_Load()DimstrDBAsStringstrDB="provider=SQLOLEDB;UserID=sa;password=;database=学生"SetADOcn=NewConnectionADOcn.OpenstrDBReadFromTableEndSubPrivateSubCommand1_Click()UnloadMeEndSub作业4一、选择题1.WinsockServer.LocalPort=10001语句的含义是()。A.设置侦听端口B.设置计算机IP地址C.设置中断地址D.设置通讯协议答案:A2.当Winsock控件处于关闭状态时,其State属性的值是()。A.1B.0C.2D.6答案:B3.相对于UDP协议而言,TCP协议是一种()。A.面向连接的协议B.无连接协议C.计算机间不建立连接D.适用于传送少量数据答案:A4.VB程序中通常不会产生错误提示的是()。A.编译错误B.实时错误C.运行时错误D.逻辑错误答案:D5.VB程序的编译错误一般可通过VB集成环境的何种设置自动检测()。A.要求变量声明B.自动语法检测C.自动显示快速信息D.根本无法自动检测答案:B6.VB程序中设置断点的按键是()。A.F5键B.F6键C.F9键D.F10键答案:C7.OnErrorGoToErrLB语句中,ErrLB的含义是()。A.行标识号B.Sub过程名C.Function过程名D.错误号答案:A8.Err对象中,用来表示错误描述的属性是()。A.ErrNoB.DescriptionC.NumberD.Source答案:B二、填空题1.使用Winsock控件时,一旦有数据到达,将首先触发该控件的DataArrival事件;如果要发送数据,则通常使用该控件的SendData方法。2.Winsock控件主要用来编制基于TCP/IP或UDP协议的通话程序。3.ActiveXEXE文件的后缀是exe。4.COM对象有两种类型接口,即标准接口和用户接口。5.如果希望得到本地计算机的IP地址,可以使用Winsock控件的LocalIP属性。6.Winsock控件的BytesReceived属性返回接收到的数据,通常使用GetData方法获取这些数据。7.Winsock1.Listen语句的含义是使服务器程序处于侦听状态,等待客户机连接。8.常用的VB网络编程控件主要有Winsock、InternetTransfer、WebBrowser三种。9.VB中的程序错误类型主要有编译错误、逻辑错误、实时错误三种。10.VB中用于关闭错误捕获机制的语句是OnErrorGoTo0。三、问答题1.简述基于Socket的通信过程。答:Socket在计算机中提供一个通信端口,可以通过该端口与任何一个同样具有Socket接口的计算机通信;应用程序在网络上传输、接收的信息都通过Socket接口实现,只需对Socket接口进行数据读写即可。2.简要说明设计错误处理程序的3个步骤。答:(1)捕捉错误,并强制程序跳转;(2)编写错误处理程序,对所有可预见的错误作出反应;(3)退出错误处理程序。3.简述常用的程序调试技巧。答:(1)事先做好备份;(2)分离受怀疑的程序;(3)缩小搜索范围;(4)使用MsgBox语句(或Debug.Print、断点、单步执行、立即窗口)。4.简述基于Winsock控件的开发模式。答:服务器端:(1)设置LocalPort作为侦听端口(习惯上大于1000);(2)用Listen方法进入侦听状态;(3)客户机请求连接时触发ConnectionRequest事件并得到requestID;(4)用Accept方法接受请求(接受前先Close),此后可用SendData发送数据;(5)收到数据触发DataArrival事件,用GetData接收。客户端:(1)设置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论