VB程序设计-2017年6月在线考试答案

合集下载

vb程序设计试题(含答案)

vb程序设计试题(含答案)

第一套试题一、选择题(每题2分,共30分)1.在VB环境中,工程文件的扩展名是( C )(A).frm (B).bas (C).vbp (D).frx2.下面4项中不属于面向对象系统三要素的是( A )(A)变量(B)事件(C)属性(D)方法3. \、/、Mod、*这4个算述运算符中,优先级别最低的是( C )(A)\ (B)/ (C)Mod (D)*4.要使Print方法在Form_Load事件中起作用,要对窗体的( C )属性进行设置(A)BackColor (B)ForeColor(C)AutoRedraw (D)Caption5.不论何控件,共同具有的属性是( B )(A)Text (B)Name(C)ForeColor (D)Caption6.要使Form1窗体的标题栏显示“欢迎使用VB”,以下语句正确的是( D ) (A)Form1.Caption=“欢迎使用VB”(B)Form1.Caption=ˊ欢迎使用VBˊ(C)Form1.Caption=欢迎使用VB (D)Form1.Caption=〞欢迎使用VB〞7.VB提供了结构化程序设计的3种基本结构,这3种基本结构是( D )(A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构(C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构8.给变量赋值a=123+MID(“123456”,3,2),a变量中的值是( D )(A)“12334”(B)123 (C)12334 (D)1579.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是( D )(A)If sex=“男”And age<40 And InStr(duty,“教授”)>0 Then n=n+1 (B)If sex=“男”And age<40 And (duty=“教授”Or duty=“副教授”) Then n=n+1(C)If sex=“男”And age<40 And Right(duty,2)= “教授” Then n=n+1 (D)If sex=“男”And age<40 And duty=“教授”And duty=“副教授” Then n=n+110.若要清除列表框的所有内容,可用来实现的方法是( C )(A)RemoveItem (B)Cls(C)Clear (D)以上均不可以11.要使时钟控件Timer1的Timer事件不起作用,以下正确的语句是( B ) (A)Timer1.Visible=False (B)Timer1.Enabled=False(A) Timer1.Interval=1000 (D)Timer1.Index=012.引用列表框(List1)最后一个数据项应使用的语( B )(A)List1.List(List1.ListCount) (B)List1.List(List1.ListCount-1)(C)List1.List(ListCount) (D)List1.List(ListCount-1)13.如下数组声明语句,正确的是( B )(A)Dim a[3,4]As Integer (B)Dim a(3,4)As Integer(C)Dim a(n,n) As Integer (D)Dim a(3,4)As Integer14.下面子过程语句说明合法的是(A、D )(A)Sub f1(ByVal n%) (B)Sub f1(n%)As Integer(C)Function f1%(f1%) (D)Function f1(ByVal n%)15.假定有如下的命令按钮(名称为Command1)事件过程:Private Sub Command1_Click()x=InputBox("输入:","输入整数")MsgBox"输入的数据是:”,,”输入数据:"+xEnd Sub16.程序运行后,单击命令按钮,如果从键盘上输入整数10,则以下叙述中错误的是( A )(A)x的值是数值10 (B)输入对话框的标题是“输入整数”(C)信息框的标题是“输入数据:10”(D)信息框中显示的是“输入的数据是:”二、填空题(每题2分,共20分)1、当进入VB集成环境后,发现没有显示“工具箱”窗口,应选择视图菜单的工具箱选项,使“工具箱”窗口显示。

vb程序设计试题及答案

vb程序设计试题及答案

vb程序设计试题及答案一、选择题(每题2分,共20分)1. 在VB中,下列哪个选项是正确的数据类型?A. IntegerB. DoubleC. StringD. All of the above答案:D2. VB中用于声明变量的关键字是?A. DimB. DeclareC. SetD. All of the above答案:A3. 在VB中,下列哪个选项是正确的循环语句?A. ForB. DoC. WhileD. All of the above答案:D4. VB中用于打开文件的函数是?A. OpenB. CloseC. WriteD. Read答案:A5. 在VB中,下列哪个选项是正确的条件语句?A. If...ThenB. Select CaseC. Do WhileD. All of the above答案:A6. VB中用于创建新窗体的语句是?A. Form.ShowB. Form.NewC. Form.CreateD. Form.Open答案:A7. VB中用于声明常量的关键字是?A. ConstB. DimC. StaticD. Option答案:A8. 在VB中,下列哪个选项是正确的数组声明?A. Dim arr(5) As IntegerB. Dim arr() As IntegerC. Dim arr As IntegerD. Dim arr(5) As String答案:A9. VB中用于结束程序的语句是?A. EndB. ExitC. CloseD. All of the above答案:B10. VB中用于捕获异常的语句是?A. Try...CatchB. On ErrorC. CatchD. All of the above答案:B二、填空题(每题2分,共20分)1. 在VB中,声明一个名为myVar的变量,其类型为字符串,应该使用语句________。

答案:Dim myVar As String2. VB中,用于定义一个名为myFunction的函数,返回值为整数,应该使用语句________。

17秋《VB程序设计》在线作业3满分答案

17秋《VB程序设计》在线作业3满分答案

17秋《VB程序设计》在线作业3试卷总分:100 得分:100一、单选题1.能够触发文本框Chang事件的操作是()。

A. 文本框失去焦点B. 文本框获得焦点C. 设置文本框的焦点D. 改变文本框的内容正确答案:D2.在Visual Basic6.0中,改变控制的位置可以通过设置()属性来实现。

A Left和TopB. Width和HeightC. Left和HeightD. Width和Top正确答案:A3. 以下关于焦点的叙述中,错误的是()。

A. 如果文本框的TabStop属性为False,则不能接收从键盘输入的数据B. 当文本框失去焦点时,触发LostFocus事件C. 当文本框的Enabled属性为False时,其Tab顺序不起作用D. 可以用TabIndex属性改变Tab顺序正确答案:A4.在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1、Text2的文本框,然后编写如下事件过程: Private Sub Command1_Click() n = Text1.Text Select Case n Case 1 To 20 x = 10 Case 2,4,6 x = 20 Case Is<10 x = 30 Case 10 x = 40 End Select Text2.Text = x End Sub 程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,则在Text2中显示的内容是()。

A. 10B. 20C. 30D. 40正确答案:A5.关于复选框和单选按钮的Value属性,说法正确的是()。

A. 复选框的Value属性有2个值B. 单选按钮的Value属性有3个值C. Value属性的值都是True或FalseD. 复选框的Value属性有3个值正确答案:D6.如果要在菜单中添加一个分隔线,则应将其Caption属性设置为()。

A. *B. =C. &D. -满分:5 分正确答案:D7. 为了把一个记录型变量的内容写入文件中指定的位置,要使用语句()。

VB程序设计17春在线作业1满分答案

VB程序设计17春在线作业1满分答案

VB程序设计17春在线作业
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 30 分)abc
1. 窗体的()属性在程序运行时其设置才起作用。

A. BorderStyle
B. Caption
C. MaxButton
D. Left
满分:3 分
正确答案:D
2. 文件列表框中用于设置或返回所选文件的路径和文件名的属性是()。

A. File
B. FilePath
C. Path
D. FileName
满分:3 分
正确答案:D
3. 下面的过程定义语句中合法的是()。

A. Sub Proc1(ByVal n())
B. Sub Proc1(n) As Integer
C. Function Proc1(Proc1)
D. Function Proc1(ByVal n)
满分:3 分
正确答案:D
4. 符号%是声明( )类型变量的类型定义符。

A. 整型
B. 长整型
C. 单精度
D. 双精度
满分:3 分
正确答案:A
5. 使用驱动器列表框的()属性可以返回或设置磁盘驱动器的名称。

A. ChDrive
B. Drive
C. List
D. ListIndex。

《VB语言程序设计》习题答案

《VB语言程序设计》习题答案

《VB语言程序设计》习题参考答案第1章习题一、单选题1.D 2.B 3.C 4.A 5.C 6. A 7.A 8.B 9.C 10.(1)A (2)B二、多选题1.ACDE 2.BCDE 3.CD 4. CE三、填空题1.事件驱动 2.解释,编译 3.设计,运行,中断4. 属性,方法,事件5. Command2_Click6. 中央,代码7.MyForm.frm 8. (1)Cmd1_Click() (2)Print "VB语言程序设计"编程及上机调试1. 按要求设置窗体属性2.在窗体上建立一个标签Label1。

程序代码如下:Private Sub Form_Click()Label1.Caption = "你单击了窗体"End SubPrivate Sub Form_DblClick()Label1.Caption = "你双击了窗体"End Sub3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮Command1。

两个文本框的Text属性均为空。

Private Sub Command1_Click()Dim x As Singlex = Val(Text1.Text)Text2.Text = 15 * xEnd Sub第2章习题一、单选题1.①D,②D 2.①A,②C 3.A 4.B 5.B 6.B 7.C 8.D 9.B 10.B 11.A 12.A 13.B 14.A 15.B 16.A 17.B二、多选题1.BD 2.CD 3.AC 4. AD三、填空题1.(1) Sin(50*3.14159/180) (2) (2+x*y)/(2–y*y)(3) a*a–3*a*b/(3+a) (4) x^(3/8)+Sqr(y*y+4*a*a/(x+y^3))2.Int(50+6*Rnd)3.(1)138 (2)3 (3)214 (4) "inchina" (5)70 (6) "45"(7)04. "系统管理数据库"编程及上机调试1~3题:按要求完成操作练习。

VB程序设计考试试题及答案

VB程序设计考试试题及答案

VB程序设计考试试题及答案月考上机试题一.选择题:(10*2)1由单精度浮点型的数据组成的字节数是A.2B.4C.8D.162.可以同时删除字符串前导和尾部空白的函数是A.LtrimB.RtrimC.TrimD.Mid3.在设计阶段,当双击窗体上的某个控件时,所打开的窗口是A.工程资源管理器窗口B.工具箱窗口C.代码窗口D.属性窗口4.在窗体上添加如下命令按钮,然后编写如下事件过程:C Private Sub Command1 _ Click()Dim a(10)As IntegerDim p(3)As Integerk=5For i=1 To 10a(i)=iNext iFor i=1 To 3p(i)=a(i*i)Next iFor i=1 To 3k=k+p(i)*2Next iPrint kEnd Sub该过程的运行结果为:A.35B.33C.31D.295.VB表达式Cos(0)+Abs(1)+Int(Rnd(1))的值是A.1B. -1C. 0D. 26.若m,x,y,均为Integer型变量,则执行下面语句后m值是m=1:X=2:Y=3m=IIf(X>Y,X+Y,X-Y)A.-1B.0C.1D. 27.设a=″Visual Basic″,下面使b=″Basic″的语句是A.b=Left(a,8,12)B.b=Mid(a,8,5)C.b=Right(a,5,5)D.b=Left(a,8,5)8.以下不能运行工程的操作是A..执行"运行"菜单中的"启动"命令B.单击工具栏中的"启动"命令D.按下F5键 C.按下Ctrl+F5键9.下列关于面向对象程序设计的叙述不正确的是A.对象具有属性、方法等特性B.对象之间的通信产生了消息C.一个对象是一个软件构造块,它包含数据与相关的操作D.对象的属性不能被改变10.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:Private Sub Command1 _ Click()Static X As IntegerStatic Y As IntegerClsY=lY=Y+5X=5+XPrint X,YEnd Sub程序运行时,三次单击命令按钮Command1后,窗体上显示的结果为:A.15 16B.15 6C.15 15D.5 6二.填空题(3*4)1.计算1*2*3*...*3000,当积大于3000时停止计算。

VB程序设计试题 及 参考答案

VB程序设计试题 及  参考答案

VB程序设计及参考答案一、单选题(共20分,每小题1分)1、要改变控件的宽度,应修改该控件的()属性。

(A)TOP (B)width (C)Left (D)Height2、将命令按钮Command1设置为不可见,应修改该命令按钮的()属性。

(A)Visible (B)Value (C)Caption (D)Enabled3、()对象具有clear方法。

(A)图片框(B)窗体(C)复选框(D)列表框4、启动VB后,就意味着要建立一个新()。

(A)窗体(B)文件(C)工程(D)程序5、下列()对象不具有Clear方法。

(A)列表框(B)组合框(C)剪贴框(D)图片框6、组合框有三种风格,它们由Style属性所决定,其中为简单组合框时,Style 属性值应为()(A)0 (B)1 (C)2 (D)37、下列可调整图片框的大小以适合图片的属性是()(A)Stretch (B)autosize (C)picture (D)oledropmode 8、要想清除文本框中的内容则可利用()进行。

(A)Caption (B)Text (C)Clear (D)Cls9、在文本框控件中将Text的内容全部显示为所定义的字符的属性是()。

(A)Password (B)PasswordChar(C)需要编程来实现(D)以上都不是10、Visual Basic是一种面向对象的程序设计语言,所采用的编程机制是()。

(A)从主程序开始执行(B)按过程顺序执行(C)事件驱动(D)按模块顺序执行11、下列四项中合法的变量名是()。

(A)a-bc (B)a_bc (C)4abc (D)integer12、无论何种控件,共同具有的属性是()(A)Text (B)Name (C)Caption (D)ForeColor13、有程序代码如下:Text1.Text = "Visual Basic程序设计"则Text1、Text ,和"Visual Basic程序设计"分别代表()。

vb考试试题及答案

vb考试试题及答案

vb考试试题及答案VB考试试题及答案VB(Visual Basic)是一种面向对象的编程语言,广泛应用于Windows平台的应用程序开发中。

对于学习VB的人来说,参加考试是一种检验自己掌握程度的方式。

下面将为大家提供一些VB考试试题及答案,希望对大家的学习有所帮助。

一、选择题1. VB是以下哪种类型的编程语言?A. 面向过程编程语言B. 面向对象编程语言C. 函数式编程语言D. 混合编程语言答案:B. 面向对象编程语言2. VB中的变量声明关键字是?A. DimB. VarC. IntD. Public答案:A. Dim3. VB中的循环结构中,以下哪个关键字用于跳出当前循环?A. ExitB. BreakC. ContinueD. End答案:A. Exit4. VB中的条件语句中,以下哪个关键字用于多个条件的判断?A. IfB. ElseC. ElseIfD. Switch答案:C. ElseIf5. VB中的函数定义关键字是?A. SubB. FunctionC. MethodD. Procedure答案:B. Function二、填空题1. VB中的注释符是()。

答案:'2. VB中的数组下标是从()开始的。

答案:03. VB中的字符串连接符是()。

答案:&4. VB中的逻辑与运算符是()。

答案:And5. VB中的模块化编程可以通过()来实现。

答案:函数和子程序三、简答题1. VB中的控件是什么?请举例说明。

答:VB中的控件是用于与用户进行交互的可视化组件。

例如,按钮(Button)、文本框(TextBox)、标签(Label)等都是VB中常见的控件。

通过控件,我们可以实现用户输入、数据展示、按钮点击等功能。

2. VB中的事件是什么?请举例说明。

答:VB中的事件是指在特定条件下发生的操作或响应。

例如,按钮的点击事件(Click Event)是指当用户点击按钮时触发的事件,我们可以在该事件中编写相应的代码来实现按钮的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《VB程序设计》课程综合复习资料一、单项选择1.若要使标签控件显示时,不覆盖其背景内容,应设置标签控件的(D )属性。

A.BACKCOLOR B.BORDERSTYLE C.FORECOLOR D.BACKSTYLE2.如果要在文本框中输入字符时,只显示某个字符,如星号(*),运行时,在文本框中输入的字符仍然显示出来,而不显示星号,原因可能是(B )A.文本框的MULTILINE属性值为TRUEB.文本框的LOCKED属性值为TRUEC.文本框的MULTILINE属性值为FALSED.文本框的LOCKED属性为FALSE3.下列关于属性设置的叙述错误的是:(A)A.一个控件具有什么属性是VB预先设计好的,用户不能改变B.一个控件具有什么属性是VB预先设计好的,用户可以改变C.一个控件的属性即可以在属性窗口中设置,也可以用程序代码设置D.一个控件的属性在属性窗口中设置,还可以利用程序代码为其设置新值4.下列说法正确的是(C )A.对象属性只能在“属性窗口”中设置B.一个新的工程可以在“工程窗口”中建立C.必须先建立一个工程,才能开始设计应用程序D.只能在“代码窗口”中编写程序代码5.下列关于窗体上控件的基本操作错误的是:(A )A.下一次DEL键只能删除一个控件B.按下一次DEL键可以同时删除多个控件C.按住SHIFT键,然后单击每个要选择的控件,可以同时选中多个控件D.按住ALT键,然后单击每个要选择的控件,可以同时选中多个控件6.下列关于设置控件属性的叙述正确的是(C )A.用户必须设置属性值B.所有的属性值都可以由用户随意设定C.属性值不必一一重新设置D.不同控件的属性项都完全一样7.如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为(B )A.0 B.-1 C.TRUE D.FALSE8.下列关于控件画法的叙述错误的是(D )A.单击一次工具箱中的控件图标,只能在窗体上画出一个相应的控件B.按住CTRL键后单击一次工具箱中的控件图标,可以在窗体上画出多个相同类型的控件C.双击工具箱中的控件图标,所画控件的大小和位置是固定的D.不合用工具箱中的控件工具,不可以在窗估上画出图形对象,但可以写入文字字符9.应用程序设计完成后,应将程序保存,保存的过程是(D )A.只保存窗体文件即可B.只保存工程文件即可C.先保存工程文件,之后保存窗体文件D.先保存窗体文件(或标准模块文件),之后还要保存工程文件10.VB应用程序的运行模式是(C )A.解释运行模式B.编译运行模式C.两者都有D.汇编模式11.可视化编程的最大优点是(C)A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得12、当一个对象(如窗体或图片框)被移动或改变大小之后,或当一个覆盖该窗体被移开之后,如果要保持该所画图形的完整性,可以选择触发(A)事件来完成图形的重画工作。

A.Paint B.Load C.Click D.Active13、滚动条控件的属性中,表示取值范围最大值的属性是(A)A.Max B.LargeChange C.Min D.Value14、程序中如果需要检测和控制鼠标的位置和状态的改变,就需要使用鼠标事件,其中下面哪个选项用于表示拖动事件(A )A.DragDrop B.MouseDown C.MouseUp D.MouseMove15、命令按钮的标题文字由(B )属性来设置。

A.Text B.Caption C.Name D.(名称)16、下面程序运行后输出的结果是(B )。

Chr1="CCCCHIINAAAA"Chr2=Left(Chr1,3)PRINT Chr2ENDA.CHI B.CCC C.INA D.AAA17、以下语句的输出结果是(C )。

Print Format$(32548.5, "###,###.##")A.032,548,50 B.325,485.00 C.32548.5 D.32,548,5018、若要设置文本的显示颜色,则可用(B )属性来实现。

A.BackColor B.Forecolor C.FillColor D.Backstyle19、在运行时,若要调用某命令钮的Click事件过程,则可设置该命令钮对象的(B )属性为Ture 来实现。

A.Enabled B.Value C.Default D.Cancel20、表达式4+5 \ 6 * 7 / 8 Mod 9 的值是(B)。

A.4 B.5 C.6 D.7二、简答题1.在程序设计中为什么尽量不用GoTo语句?2.框架的作用是什么?3.如何为一个菜单项设置热键和快捷键?4.程序出错的类型有哪几种?5.在设计状态,若用户想打开代码窗口,应怎样操作?代码窗口主要包括哪几部分?6.表间的关系类型有哪几种?二、简答题1.答案要点:主要是为了结构化。

2.答案要点:框架主要是用作容器,可以实现多组单选按钮,并且可以美化界面。

3.答案要点:为一个菜单项设置热键时需要在相应字符前面加&,设置快捷键需要在菜单编辑器中选择。

4.答案要点:四种:语法错误、编译错误、运行错误和逻辑错误。

5.答案要点:在设计状态,打开代码窗口至少有三种方法,只要写一种即为正确;代码窗口主要三部分:对象列表、事件列表、代码窗口。

6.答案要点:表间的关系类型有三种:一对一、一对多和多对多。

三、编程题1.编程求任意两个正整数(利用两个文本框输入)的最大公约数,并利用标签输出结果。

Private Sub Command1_Click()Dim m, n, r As Integerm = Val ( Text1.Text )n = Val ( Text2.Text )If m < 0 Or n < 0 ThenLabel2.Caption = "输入数据有错!"Elser = m Mod nDo While r <> 0m = nn = rr = m Mod nLoopLabel2.Caption = "最大公约数为:" & nEnd IfEnd Sub2.编程实现对n个整数按由小到大的顺序排序。

Private Sub sort(arraya() As Integer, n As Integer)Dim p As Integer, i As Integer, j As Integer, temp As IntegerFor i = 1 To n - 1p = iFor j = i + 1 To nIf arraya(p) > arraya(j) Then p = jNext jIf p <> i Then temp = arraya(i) : arraya(i) = arraya(p) : arraya(p) = temp Next iEnd Sub3.请编程实现每30秒在窗体上显示一次当前的时间。

Private Sub Form_Load()Timer1.Interval = 30000End SubPrivate Sub Timer1_Timer()Print TimeEnd Sub《VB程序设计》课程综合复习资料参考答案一、单项选择二、简答题1.答案要点:主要是为了结构化。

2.答案要点:框架主要是用作容器,可以实现多组单选按钮,并且可以美化界面。

3.答案要点:为一个菜单项设置热键时需要在相应字符前面加&,设置快捷键需要在菜单编辑器中选择。

4.答案要点:四种:语法错误、编译错误、运行错误和逻辑错误。

5.答案要点:在设计状态,打开代码窗口至少有三种方法,只要写一种即为正确;代码窗口主要三部分:对象列表、事件列表、代码窗口。

6.答案要点:表间的关系类型有三种:一对一、一对多和多对多。

三、编程题1.参考程序如下:Private Sub Command1_Click()Dim m, n, r As Integerm = Val ( Text1.Text )n = Val ( Text2.Text )If m < 0 Or n < 0 ThenLabel2.Caption = "输入数据有错!"Elser = m Mod nDo While r <> 0m = nn = rr = m Mod nLoopLabel2.Caption = "最大公约数为:" & nEnd IfEnd Sub2.参考程序如下:Private Sub sort(arraya() As Integer, n As Integer)Dim p As Integer, i As Integer, j As Integer, temp As IntegerFor i = 1 To n - 1p = iFor j = i + 1 To nIf arraya(p) > arraya(j) Then p = jNext jIf p <> i Then temp = arraya(i) : arraya(i) = arraya(p) : arraya(p) = temp Next iEnd Sub3.参考程序如下:Private Sub Form_Load()Timer1.Interval = 30000End SubPrivate Sub Timer1_Timer()Print TimeEnd Sub新建一个form1添加command1添加label1label1高度设的稍高一点,以显示数据。

form 代码视图中加入以下语句.Private Sub Command1_Click() '定义变量Dim a(9) As IntegerDim i As IntegerDim r As IntegerDim t As Integer '产生随机数RandomizeFor i = 0 To 9a(i) = CInt(Rnd() * 100)Next i '排序For i = 0 To 8For r = i + 1 To 9If a(i) > a(r) Thent = a(i)a(i) = a(r)a(r) = tEnd If-------------精选文档-----------------Next rNext i '显示数据Label1.Caption = ""For i = 0 To 9Label1.Caption = Label1.Caption + "第" + CStr(i + 1) + "个随机数=" + CStr(a(i)) + vbCrLfNext iEnd Sub对单选按钮进行分组,每一组单选按钮都是独立的,对一组单选按钮进行操作不会影响其他组单选.按钮的选择;另外可对窗体上现有控件进行分组,提供视觉上的区分和总体的激活或屏蔽特性。

相关文档
最新文档