东大23年9月《可视化程序设计Ⅰ》复习题及答案
发布时间:2023-09-17 20:09:49浏览次数:48 1 / 17东 北 大 学 继 续 教 育 学 院可视化程序设计 I 复习题 一、选择题(注意:正式考试时仅有 15 道题)1)在设计阶段,当双击窗体上的某个控件时,所打开的窗口是A) 工程资源管理器窗口 B) 工具箱窗口C) 代码窗口 D) 属性窗口2) 在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Move 500,500End Sub程序运行后,单击命令按钮,执行的操作为A) 命令按钮移动到距窗体左边界、上边界各 500 的位置B) 窗体移动到距屏幕左边界、上边界各 500 的位置C) 命令按钮向左、上方向各移动 500D) 窗体向左、上方向各移动 5003)在窗体上有若干控件,其中有一个名称为 Text1 的文本框。影响 Text1 的 Tab 顺序的属性是A) TabStop B)Enabled C) Visible D)TabIndex4 ) 在 窗 体 (Name 属 性 为 Form1) 上 画 两 个 文 本 框 ( 其 Name 属 性 分 别 为 Text1 和Text2)和一个命令按钮(Name 属性为 Command1),然后编写如下两个事件过程:Private Sub Command1_Click()a=Text1.Text+Text2.TextPrint aEnd SubPrivate Sub Formm_Load()Text1 Text=""课程名称: 可视化程序设计Ⅰ
10 / 17End Ifx=InputBox(“Enter a score”)LoopPrint”Max=”;amax,”Min=”;aminEnd Sub5)文件按其存储格式分为两种类型( 8 )、( 9 )。6)在如下工具栏按钮事件处理函数中,空白处应当添加的语句为Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case ( 10 )7)在窗体上有一个文本框控件,名称为 TxtTime:一个计时器控件,名称为 Timerl,要求每一秒钟在文本框中显示一次当前的时间。程序为:Private Sub Timer1_( 11 )TxtTime.text=TimeEnd Sub请在( 11 )处补全程序8)在窗体上画两个标签,其名称分别为 Label1 和 Label2,Caption 属性分别为“数值”及空白;然后画一个名称为 Hscoll1 的水平滚动条,其 Min 的值为 0,Max 的值为 100。程序运行后,如果单击滚动条两端的箭头,则在标签 Lable2 中显示滚动条的值,如图所示。请在 (12) 和 (13) 处填入适当的内容,将程序补充完整。 Private Sub HScroll1_( 12 ) ()Labl2.Caption=HScroll1. ( 13 ) End Sub9)建立随机文件 TEST.DAT,存放学生的姓名和部分,然后把该文件中的数据读出来显示。请将下列程序补充完整。Type RecordStudent As String * 20课程名称: 可视化程序设计Ⅰ
11 / 17Score As SingleEnd TypeDim Class As RecordOpen "Test.dat" For ( 14 ) As #1 Len = Len(Class)Class.Student = "LiuMin": Class.Score = 596Put #1, 1, ClassClose #1Open "Test.dat" For Random As #1 Len = Len(Class)( 15 )Print "STUDENT:", Class, StudentPrint "SCORE:", Class, ScoreClose #1End10)设有如下程序段:a$="BeijingShanghai"b$=Mid(a$,InStr(a$,"g")+1)执行上面的程序段后,变量 b$的值为( 16 ) 。11)以下程序段的输出结果是( 17 ) 。num =0While num<=2num = num + 1WendPrint num12)在窗体上画一个名称为“Command1”,标题为“计算”的命令按钮,再画 7 个标签,其中 5 个标签组成名称为 Label1 的控件数组;名称为 Label2 的标签用于显示计算结果,其Caption 属性的初始值为空;标签 Label3 的标题为“计算结果”。运行程序时会自动生成5 个随机数,分别显示在标签控件数组的各个标签中,如图所示。单击“计算”按钮,则将标签数组各元素的值累加,然后计算结果显示在 Label2。请填空。课程名称: 可视化程序设计Ⅰ
12 / 17 Private Sub Command1_Click()Sum = 0For i = 0 To 4Sum = Sum + ( 18 ) Next( 19 ) = SumEnd Sub13)在窗体上画两个名称分别为 Command1 和 Command2、标题分别为“初始化”和“求和”的命令按钮。程序运行后,如果单击“初始化”命令按钮,则对数组 a 的各元素赋值;如果单击“求和”命令按钮,则求出数组 a 的各元素之和,并在文本框中显示出来,如图所示。请填空。 Option Base 1Dim a(3,2) As IntegerPrivate Sub Command1_Click()For i = 1 To 3For j = 1 To 2(20) = i + jNext jNext iEnd SubPrivate Sub Command2_Click()For j = 1 To 3For i = 1 To 2s = s +(21)Next iNext jText1.Text = (22)End Sub课程名称: 可视化程序设计Ⅰ
13 / 1714)如下程序计算 1~100 之间的能被 3 整除或被 5 整除的数的和,请不全如下程序Private Function sum() As Integers = ( 23 ) For i = 1 To 100 If ( 24) Then s = s + i End If Nextsum = ( 25 )End Function三、编程(注意:正式考试时仅有 3 道)1)编制程序实现从键盘读入一数字,求此数字的绝对值,并输出结果。2)编制程序实现从键盘读入一数字,求其平方根。如果此数为负数,请提示“负数没有平方根”,否则输出其平方根。3)编制程序现从键盘读入一个数字,计算此数的所有因子之和。4)输入 10 个同学的数学成绩,计算平均分。5) 输入 10 个同学的数学成绩,统计不及格人数和及格人数,并输出。6)设计一个 form 名称为 form1,添加“打开文件”按钮 cmdOpen,, “保存文件”按钮为 cmdSave,文本框为 txtSource。通过点击“打开文件”按钮读取文件”c:\abc.dat”的内容,并将内容显示到 txtSource 中;然后通过点击“保存文件”按钮将此文本框的内容 保 存 到 “ c:\abc.c” 中 。 要 求 使 用 open 命 令 打 开 文 件 , 在 form1_load 中 初 始 化cmdOpen 和 cmdSave 的标题属性。参考答案:课程名称: 可视化程序设计Ⅰ
14 / 17一、选择1)-5):CBDCC6)-10):DBAAA11)-15): CBCCB16)C17)C18) D19) B 20) A21) A22) C23) B24) B25) D26) B27) B28) D29) B30) B二、填空(1)-(5)顺序\选择\循环\change\200(6)x>=0(7)x<amin 或 x<=amin>x 或 amin>=x(8)文本(9)二进制(10) Button.index(11)Timer(12) Change(13) Value(14) RANDOM(15)GET #1,1,CLAS(16)"Shanghai"(17)3(18)label1(i).caption(19)label2.caption(20)a(i,j)(21)a(j,i)(22)s课程名称: 可视化程序设计Ⅰ
15 / 17(23)0(24)i Mod 5 = 0 Or i Mod 3 = 0 (25)s编程1.Dim a As SingleDim absa As Singlea = InputBox("请输入一实数", "输入")absa = aIf a < 0 Then absa = -aEnd IfPrint "|"; a; "|="; absa2.Dim num As Integernum = InputBox("请输入一整数", "输入")Print num; "所有因子包括:";For i = 1 To num If num Mod i = 0 Then Print i; End IfNext3.num = InputBox("请输入一整数", "输入")If num < 0 ThenPrint "负数没有平方根"Else Print Sqr(num)4.Dim scores(1 To 10) As SingleDim avgScore As SingleFor i = 1 To 10课程名称: 可视化程序设计Ⅰ
16 / 17 scores(i) = InputBox("输入分数[0,100]")NextavgScore = 0For i = 1 To 10 avgScore = avgScore + scores(i)NextavgScore = avgScore / 10Print "平均分:"; avgScore5.Dim scores(1 To 10) As SingleFor i = 1 To 10 scores(i) = InputBox("输入分数[0,100]")Nextusum = 0sum = 0avgScore = 0For i = 1 To 10 If scores(i) < 60 And scores(i) >= 0 Then usum = usum + 1 End If If scores(i) >= 60 And scores(i) <= 100 Then sum = sum + 1 End If NextPrint "不及格人数:" & usumPrint "不格人数:" & sum6、Private Sub cmdOpen_Click()txtEdit.Text = ""'-----------------------------------1CommonDialog1.Filter="All Jle|*.*|(*.Doc)|*.Doc|(*.Txt)|*.Txt"CommonDialog1.FilterIndex=2CommonDialog1.DialogTitle="VBTest"CommonDialog1.Action=1CommonDialog1.Show'-----------------------------------1Open "c:\abc.dat" For Input As #1课程名称: 可视化程序设计Ⅰ
17 / 17'-----------------------------------1Do While Not EOF(1)'-----------------------------------1Line Input #1, InputDatatxtTest.Text = txtTest.Text + InputData + vbCrLf'------------------------------------2LoopClose #1End SubPrivate Sub cmdSave_Click()Open "c:\abc.c " For Output As #1'--------------------------------- 2Print #1, txtEdit.Text'----------------------------------2Close #1End SubPrivate Sub Form_Load()'-----------------------------------1cmdOpen.Caption = "打开文件"cmdSave.Caption = "保存文件"End Sub课程名称: 可视化程序设计Ⅰ
2 / 17Text2 Text=""End sub程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入 123 和321,然后单击命令按钮,则输出结果为()。A) 444 B) 321123 C) 123321 D) 1322315)在窗体上画两个名称分别为 Text1、Texte2 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim x As Integer,n As Integerx=1n=0Do While x<20x=x*3n=n+1LoopText1.Text=Str(x)Text2.Text=Str(n)End Sub程序运行后,单击命令按钮,在两个文本框中显示的值分别是A) 15 和 1 B) 27 和 3 C) 195 和 3 D) 600 和 46)设有如下声明:Dim X As Integer如果 Sgn(X) 的值为-1,则 X 的值是A) 整数B) 大于 0 的整数 C) 等于 0 的整数 D) 小于 0 的数7)设 a=“Visual Basic”,下面使 b=“Basic”的语句是A) b=Left(a,8,12) B) b=Mid(a,8,5)C) b=Rigth(a,5,5) D) b=Left(a,8,5)8)在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim array1(10,10) As IntegerDim i,j As IntegerFor i=1 To 3For j=2 To 4课程名称: 可视化程序设计Ⅰ
3 / 17array1(i,j)=i+jNext jNext IText1.Text=array1(2,3)+array1(3,4)End Sub程序运行后,单击命令按钮,在文本框中显示的值是A) 12 B) 13 C) 14 D) 159)下列叙述中正确的是A) 在窗体的 Form_Load 事件过程中定义的变量是全局变量B) 局部变量的作用域可以超出所定义的过程C) 在某个 Sub 过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程D) 在调用过程时,所有局部变量被系统初始化为 0 或空字符串10)在窗体上画一个名称为 Command1 的命令按钮和一个名称为 Text1 的文本框,然后编写如下程序:Private Sub Command1_Click()Dim x,y,z As Integerx=5y=7z=0Text1.text=“”Call P1(x,y,z)Text1.Text=Str(x)End SubSub P1(ByVal a As Integer,ByVal b As Integer,c As Integer)c=a+bEnd Sub程序运行后,如果单击命令按钮,则在文本框中显示的内容是A) 0 B) 12 C) Str(z) D) 没有显示11) 当利用 Line 方法进行添加图时,以下正确的说法是( ) A) 有 7 种不同的线型,而且不管线宽多少都可以绘制虚线/点划线/点线 B)使用 Line(100,100)-(1000,1200)和 Line(100,100)-Step(900,1100)将绘制两条相课程名称: 可视化程序设计Ⅰ
4 / 17同位置的直线 C) 可利用 Line 方法添加矩形,如 Line(300,300)-(2000,2000),BF D) 可利用 Line 方法添加矩形,如 Line(300,300)-(2300,2300),B+F12)关于 MDI 窗体不正确描述的是A)所有子窗体均在 MDI 窗体工作区,可进行排列B) 所有子窗体的大小和位置均可以调整,并且可以移动出 MDI 窗体工作区C) 所有子窗体最小化后,其图标显示在 MDI 窗体工作区,而不是状态栏D) MDI 窗体和子窗体均可以有自己的菜单13)设有如下程序:Option Base 0Private Sub Form_Click()Dim aDim i As Integera=Array(1,2,3,4,5,6,7,8,9)For i=0 To 3Print a(5-i);NextEnd Sub程序运行后,单击窗体,则在窗体上显示的是A) 4 3 2 1 B) 5 4 3 2 C) 6 5 4 3 D) 7 6 5 414)下列叙述中正确的是A) 在窗体的 Form_Load 事件过程中定义的变量是全局变量B) 局部变量的作用域可以超出所定义的过程C) 在某个 Sub 过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程D) 在调用过程时,所有局部变量被系统初始化为 0 或空字符串15)以下叙述中正确的是A) 一个记录中所包含的各个元素的数据类型必须相同课程名称: 可视化程序设计Ⅰ
5 / 17B) 随机文件中每个记录的长度是固定的C) Open 命令的作用是打开一个已经存在的文件D) 使用 Input #语句可以从随机文件中读取数据16)以下能在窗体 Form1 的标题栏中显示“VisualBasic 窗体"的语句是A) Form1.Name="VisualBasic 窗体"B) Form1.Title="VisualBasic 窗体"C) Form1.Caption="VisualBasic 窗体"D) Form1.Text="VisualBasic 窗体”17)在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()x=InputBox("Input")Select Case xCase 1,3Print "分支 1"Case Is >4Print "分支 2"Case ElsePrint "Else 分支 "End SelectEnd Sub程序运行后,如果在输入对话框中输入 2,则窗体上显示的是A) 分支 1 B) 分支 2 C) Else 分支 D) 程序出错18 )以下关于 MsgBox 的叙述中,错误的是A) MsgBox 函数返回一个整数B) 通过 MsgBox 函数可以设置信息框中图标和按钮的类型课程名称: 可视化程序设计Ⅰ
6 / 17C) MsgBox 语句没有返回值D) MsgBox 函数的第二个参数是一个整数,该参数只能确定对话框中显示的按钮数量19)在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim x As IntegerClsx=2y=0For i=1 To 2y=y+xx=x+2Next Print 有End Sub程序运行后,连续三次单击 Command1 按钮后,窗体上显示的是A) 4 2 B) 6 6 C) 12 30 D) 4 620)以下关于多重窗体程序的叙述中,错误的是A) 用 Hide 方法不但可以隐藏窗体,而且能清除内存中的窗体B) 在多重窗体程序中,各窗体的菜单是彼此独立的C) 在多重窗体程序中,可以根据需要指定启动窗体D) 对于多重窗体程序, 需要单独保存每个窗体21)以下合法的 Visual Basic 标识符是A) ForLoop B) Const C) 9abc D) a#x22) 当一个复选框被选中时,它的 Value 属性的值是A) 3 B) 2 C) 1 D) 0 23)在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()课程名称: 可视化程序设计Ⅰ
7 / 17a$="VisualBasic"Print lef(3,a$)End Sub程序运行后,单击命令按钮,在窗体上显示的内容是A) VVV B) Vis C) sic D) 1124)设有如下程序段:x=2For i=1 To 10 Step 2x=x+iNext运行以上程序后,x 的值是A) 26 B) 27 C) 38 D) 5725)执行如下两条语句,窗体上显示的是a=9.8596Print Format(a,"$00,00.00")A) 0,009.86 B) $9.86 C) 9.86 D) $0,009.8626)在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Option Base 1Private Sub Command1_Click()Dim aa= Array(1,2,3,4,5)For i=1 To UBound(a)a(i) = a(i)+i-1NextPrint a(3)End Sub程序运行后,单击命令按钮,则在窗体上显示的内容是A) 4 B) 5 C) 6 D) 727)以下关于文件的叙述中,错误的是A) 顺序文件中的记录一个接一个地顺序存放B) 随机文件中记录的长度是随机的课程名称: 可视化程序设计Ⅰ
8 / 17C) 执行打开文件的命令后,自动生成一个文件指针D) LOF 函数返回给文件分配的字节数28)窗体上画一个名称为 CommandDialog1 的通用对话框,一个名称为 Command1 的命令按钮。然后编写如下事件过程:Private Sub Command1_Click()CommonDialog1.FileName =""CommonDialog1.Filter="All Jle|*.*|(*.Doc)|*.Docx|(*.Txt)|*.Txt"CommonDialog1.FilterIndex=2CommonDialog1.DialogTitle="VBTest"CommonDialog1.Action=1End Sub对于这个程序,以下叙述中错误的是A) 该对话框被设置为“打开”对话框B) 在该对话框中指定的默认文件名为空C) 该对话框的标题为 VBTestD) 在该对话框中指定的默认文件类型为文本文件(*.Txt)29)以下叙述中错误的是A) 在 KeyPress 事件过程中不能识别键盘的按下与释放B) 在 KeyPress 事件过程中不能识别回车键C) 在 KeyDown 和 KeyUp 事件过程中,将键盘输入的"A"和"a"视作相同的字母D) 在 KeyDown 和 KeyUp 事件过程中 ,从大键盘上输入的"1"和从右侧小键盘上输入的"1"被视作不同的字符30)设窗体上有一个文本框,名称为 text1,程序运行后,要求该文本框只能显示信息,不能接受输入的信息,以下能实现该操作的语句是A) Text1.MaxLength=0 B) Text1.Enabled=FlaseC) Text1.Visible=Flase D) Text1.Width=0课程名称: 可视化程序设计Ⅰ
9 / 17二、填空题(注意:正式考试时仅有 15 个填空题)1) 结构化程序设计中把程序结构规定为( 1 )、( 2 )、( 3 )三种基本结构。2)在窗体上画一个名称为 Command1 的命令按钮和一个名称为 Text1 的文本框。程序运行后,Command1 为禁用(灰色) 。当向文框中输入任何字符时,命令按钮 Command1变为可用。请在 (4) 处填入适当的内容,将程序补充完整。Private Sub Form_Load()Command1.Enabled=FalseEnd SubPrivate Sub Text1( 4 )()Command1.Enabled=TrueEnd Sub3)窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序:Function M(x As Integer,y As Integer)As IntegerM=IIf(x>y,x,y)End FunctionPrivate Sub command1_Click()Dim a As Integer,b As Integera=100b=200Print M(a,b)End Sub程序运行后,单击命令按钮,输出结果为 ( 5 )4)以下程序的功能是:从键盘上输入若干个学生的考试分数,当输入负数时结束输入,然后输出其中的最高分数和最低分数。请在( 6) 和 (7) 处填入适当的内容,将程序补充完整。Private Sub Form_Click()Dim x As Single,amax As Single,amin As Singlex=InputBox(“Enter a score”)amax=xamin=xDo While ( 6 )If x>amax ThenAmax=xEnd IfIf ( 7 )ThenAmin=x课程名称: 可视化程序设计Ⅰ