文档库 最新最全的文档下载
当前位置:文档库 › VB改错题

VB改错题

VB改错题
VB改错题

1.程序的功能是:单击命令按钮“输出”,在图片框Picture1中输出费波那契数列的前20项项值,要求按区输出,每行输出4个项值。程序中有两处错误,请修改程序并运行,直到得出正确结果。

注意:程序中的修改行就在注释行:

'**********found*************' '请不要删除该行'

的下面,请不要修改程序中的其他部分。最后把修改后的文件按原来文件名存盘。Private Sub Command1_Click()

Dim f(40) As Long

Dim i As Integer

Picture1.Cls

f(1) = 0

f(2) = 1

Picture1.Print f(1), f(2),

'**********found*************' '请不要删除该行'

For i = 1 To 40

f(i) = f(i - 1) + f(i - 2)

Picture1.Print f(i),

'**********found*************' '请不要删除该行'

If i Mod 4 = 0 Then Picture.Print

Next i

End Sub

2. 程序的功能是:程序运行时,单击“输出”按钮,产生10个[0,99]之间的随机整数存入数组A中,并按照相反的顺序输出在窗体上。程序中有两处错误,请修改程序并运行,直到得出正确结果。

Private Sub Command1_Click()

Randomize

Dim A(10), I As Integer

Form1.Cls

For I = 1 To 10

'*********found******** '请不要删除该行

A(I) = Int(Rnd * 99)

Print A(I);

Next I

Print

For I = 1 To 10

'*********found******** '请不要删除该行

Print A(I);

Next I

End Sub

3. 在考生文件夹下有一个工程文件Modi1.vbp,相应的窗体文件为Modi1.frm,此外还有一个名为Modiin.dat的文本文件,其内容如下:

32 43 76 58 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37

程序运行后,单击窗体,将把文件Modiin.dat中的数据输入到二维数组Mat中,在窗体

上按5行5列的矩阵形式显示出来,然后交换矩阵第一行和第三行的数据,并在窗体上输出交换后的矩阵。在窗体的代码窗口中,已给出了部分程序,程序中有两处错误需要改正,改错行就在注释行:

Private Sub Form_Click()

Const N = 5

Const M = 5

'**********found*************' '请不要删除该行'

Dim Mat

Dim i, j, t

Open App.Path & "\" & "modiin.dat" For Input As #1

For i = 1 To N

For j = 1 To M

Input #1, Mat(i, j)

Next j

Next i

Close #1

Print

Print "初始矩阵为:"

Print

For i = 1 To N

For j = 1 To M

Print Tab(5 * j); Mat(i, j);

Next j

Print

Next i

Print

Print

For j = 1 To M

t = Mat(1, j)

Mat(1, j) = Mat(3, j)

'**********found*************' '请不要删除该行'

t = Mat(3, j)

Next j

Print

Print "交换第一行和第三行后的矩阵为:"

Print

For i = 1 To N

For j = 1 To M

Print Tab(5 * j); Mat(i, j);

Next j

Print

Next i

End Sub

4. 程序的功能是:实现密码登录验证。运行时,当用户输入完口令并按"确定"按钮时,对口令进行判断。在连续三次输入错误口令后,结束程序。程序中有两处错误,请修改程序并运行,直到得出正确结果。

Private Sub Command1_Click()

'*********found******** 请不要删除该行

Dim I As Integer

'*********found******** 请不要删除该行

If UCase(Text) = "hello" Then

Form1.Caption = "恭喜!,您已成功进入本系统"

ElseIf I = 0 Or I = 1 Then

I = I + 1

Form1.Caption = "口令错!,请重新输入"

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

Else

MsgBox "对不起,您不能使用本系统"

End

End If

End Sub

5.在考生文件夹下有一个工程文件Modi1.vbp,相应的窗体文件为Modi1.frm,此外还有

一个名为Modiin.dat的文本文件,其内容如下:

32 43 76 58 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37

程序运行后,单击窗体,将把文件Modiin.dat中的数据输入到二维数组Mat中,在窗体

上按5行5列的矩阵形式显示出来,然后计算矩阵第三行各项的和(设数组下标下界为1),并在窗体上显示计算结果。在窗体的代码窗口中,已给出了部分程序,程序中有两处

错误需要改正,改错行就在注释行:

'**********found*************' '请不要删除该行'

的下面,请不要修改程序中的其他部分。只在指定的修改行中修改、运行程序。

最后把修改后的文件按原来文件名存盘。

标准答案:

Option Base 1

Private Sub Form_Click()

Const N = 5

Const M = 5

Dim Mat(M, N)

Dim Sum, i, j

Open App.Path & "\" & "Modiin.dat" For Input As #1

For i = 1 To N

For j = 1 To M

Input #1, Mat(i, j)

Next j

Next i

Close #1

Print

Print "初始矩阵为:"

Print

For i = 1 To N

For j = 1 To M

'**********found*************' '请不要删除该行'

Print Tab(5 * j); Mat(i, j)

Next j

Print

Next i

Sum = 0

For j = 1 To M

'**********found*************' '请不要删除该行'

Sum = Sum + Mat(i, j)

Next j

Print

Print "第三行各项的和为:";

Print Sum

End Sub

6.在窗体上有一个名为Text1的文本框和一个名为L1的列表框;还有两个命令按钮,名称分别为C1和C2,标题分别为“添加”和“删除”。程序的功能是在运行时,如果在文本框中输入一行字符并单击“添加”按钮,则把文本框中的内容作为列表项添加到列表框中。如果选中列表中的某一项并单击“删除”按钮,则从列表框中删除该项。

程序中有两个地方不正确,请进行修改并运行,直到得出正确结果。

Dim n As Integer

Private Sub C1_Click()

'**********found*************' '请不要删除该行'

L1.AddItem Text

Text1.Text = ""

Text1.SetFocus

End Sub

Private Sub C2_Click()

If L1.ListCount = 0 Then

MsgBox ("无项可以删除!")

Else

'**********found*************' '请不要删除该行'

L1.RemoveItem L1.List

Text1.SetFocus

End If

End Sub

7. 在考生文件夹下有一个工程文件Modi1.vbp,相应的窗体文件为Modi1.frm。

此外还有一个名为Modiin.dat的文本文件,其内容如下:

32 43 76 58 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57

窗体中有一个命令按钮,名称为Comd1,标题为“排序”(解释如何排序)。程序运行后单击命令按钮,将modiin.dat文件中的整数读入到数组Mat中,并在窗体上输出排序以后的数据(要求每行输出10个整数)。

程序中有两个地方不正确,请进行修改并运行,直到得出正确结果。存盘。

Dim mat(20) As Integer

Private Sub Comd1_Click()

Dim i, j, p, n As Integer

Form1.Cls

Call read

n = 20

j = 0

For i = 1 To n

Print mat(i);

If i Mod 10 = 0 Then Print

Next i

Print

For i = 1 To n - 1

p = i

'**********found*************' '请不要删除该行'

For j = 1 To n

If mat(p) > mat(j) Then p = j

Next j

If p <> i Then

t = mat(i)

mat(i) = mat(p)

mat(p) = t

End If

Next i

Print "After sorting numbers are:"

For i = 1 To n

Print mat(i);

'**********found*************' '请不要删除该行'

If i / 10 = 0 Then Print

Next i

End Sub

Private Function read()

Dim i As Integer

Open App.Path & "\" & "modiin.dat" For Input As #1

For i = 1 To 20

Input #1, mat(i)

Next i

Close #1

End Function

8.

在窗体上有一个命令按钮。程序中定义了过程sub1,其功能是在屏幕上输出一个n行的乘法表。例如n=3时,输出如下:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

程序运行时,单击命令按钮,由用户输入行数,调用sub1,输出乘法表。注意:程序中有两处错误需要改正,改错行就在注释行:

Private Sub Command1_Click()

Dim n As Integer

n = InputBox("请输入行数n")

'**********found*************' '请不要删除该行'

XXXX

End Sub

Sub Sub1(n As Integer)

Dim i, j

For i = 1 To n

'**********found*************' '请不要删除该行'

XXXX

Print i; "*"; j; "="; i * j,

Next j

Print

Print

Next i

End Sub

《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_Click 6. 中央,代码 7.MyForm.frm 8. (1)Cmd1_Click() (2)Print "VB语言程序设计" 编程及上机调试 1. 按要求设置窗体属性 2.在窗体上建立一个标签Label1。程序代码如下: Private Sub Form_Click() Label1.Caption = "你单击了窗体" End Sub Private Sub Form_DblClick() Label1.Caption = "你双击了窗体" End Sub 3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮Command1。两个文本框的Text属性均为空。 Private Sub Command1_Click() Dim x As Single x = Val(Text1.Text) Text2.Text = 15 * x End 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)

VB程序设计例题-程序改错程序填空程序设计

'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))

程序改错基本题

程序改错 一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1?2?3?4? ?n main() { long int sum; int n,i=1; scanf("%d",n); printf(“\n”); while(ia[j]) { max=a[j]; m=j; } printf(“下标:%d\n最大值:%d”, j, max) } *3. 求3+4 int a=3,b=4; main() { int a,c; c=a+b; printf(“c=%d”); } 4.用一个函数求两个数之和。 sum(x,y) { float z; z=x+y; return; }

main() { float a,b; int c; scanf("%f,%f",&a,&b); c=sum(a,b); printf("\nSum is %f",sum); } 5.用指针作函数参数,对输入的两个整数按大小顺序输出。 swap(int *p1,*p2) { int *p; *p=*p1;*p1=*p2;*p2=*p; } main() { int a,b; int *q1,*q2; scanf("%d,%d",&a,&b); &q1=a,&q2=b; if(a

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

第一套试题 一、选择题(每题2分,共30分) 1.在VB环境中,工程文件的扩展名是( C ) (A).frm (B).bas (C).vbp (D).frx 2.下面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)Caption 5.不论何控件,共同具有的属性是( B ) (A)Text (B)Name (C)ForeColor (D)Caption 6.要使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)157 9.下面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+1 10.若要清除列表框的所有内容,可用来实现的方法是( C )

VB改错题(答案)

1.程序的功能是:单击命令按钮“输出”,在图片框Picture1中输出费波那契数列的前20项项值,要求按区输出,每行输出4个项值。程序中有两处错误,请修改程序并运行,直到得出正确结果。 注意:程序中的修改行就在注释行: '**********found*************' '请不要删除该行' 的下面,请不要修改程序中的其他部分。最后把修改后的文件按原来文件名存盘。 第1个出错位置:For i=3 to 20 第2个出错位置:If i Mod 4=0 then Picture1.Print Private Sub Command1_Click() Dim f(40) As Long Dim i As Integer Picture1.Cls f(1) = 0 f(2) = 1 Picture1.Print f(1), f(2), '**********found*************' '请不要删除该行' For i = 1 To 40 For i=3 to 20 f(i) = f(i - 1) + f(i - 2) Picture1.Print f(i), '**********found*************' '请不要删除该行' If i Mod 4 = 0 Then Picture.Print If i mod 4=0 then picture1.print Next i End Sub 2. 程序的功能是:程序运行时,单击“输出”按钮,产生10个[0,99]之间的随机整数存入数组A中,并按照相反的顺序输出在窗体上。程序中有两处错误,请修改程序并运行,直到得出正确结果。 第1个出错位置:A(i)=Int(Rnd*100+0) p50 第2个出错位置:Print A(11-i); Private Sub Command1_Click() Randomize Dim A(10), I As Integer Form1.Cls For I = 1 To 10 '*********found******** '请不要删除该行 A(I) = Int(Rnd * 99) A(i)=Int(Rnd*100+0) Print A(I); Next I Print For I = 1 To 10 '*********found******** '请不要删除该行 Print A(I); Print A(11-i) (注意答案中间无;) Next I End Sub

计算机程序改错题,及答案

11 *程序名:TEST.prg *检索选修课程门数等于3门或3门以上,每门课程成绩大于或等于70分的每个学生的 *学号,姓名,性别,平均成绩,最低分和选课门数,并将结果存储到表NEW_TEST中. *以下程序有三处错误,请改正 OPEN DA TABASE SDB SELECT STUDENT.学号,姓名,性别,A VG(成绩) 平均成绩,MIN(成绩) 最低分,COUNT(*) 选课门数; FROM STUDENT,SC; WHere STUDENT.学号= SC.学号AND 成绩>= 70 ; &&**********Error********** GROUP BY STUDENT.学号HA VING count(课程号) >= 3; &&**********Error********** inTO table NEW_TEST &&**********Error********** CLOSE ALL 9 *程序名:dbtest3.prg *定义一个视图VS1, *检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选课门数和院系编号, *并按平均成绩降序排序. *以下程序有三处错误,请改正 SET TALK OFF SET SAFETY OFF open DATABASE SDB &&****Error***修改本行的语法错误,不许注释掉本行或删除本行 CREATE VIEW VS1 SELECT STUDENT2.学号, 姓名, A VG(成绩) 平均成绩, MIN(成绩) 最低分, COUNT(*) 选课门数, 院系编号; FROM STUDENT2, sc; &&*************Error************* WHERE STUDENT2.学号= SC.学号; GROUP BY SC.学号HA VING COUNT(课程号) > 3; ORDER BY 平均成绩desc &&*************Error************* CLOSE DATABASE RETURN i=2 create table four(结果I) do while i<=1000 if i%3=0 insert into four values(i) &&错误语句请修改 endif

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

VB程序设计编程考试题及答案 1.输入3个数,输出最大的数 Private Sub command1_click() Dim max For i = 1 To 3 n = Val(InputBox("输入第" & i & "个数")) If n > max Then max = n End If Next Print "三个数中最大的数是" ; max End Sub 2.有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根 Private Sub Command1_Click() Dim a, b, c, n a = Text1 b = Text2 c = Text3 n = b * b - 4 * a * c If n >= 0 Then Label4 = "方程有根" Else Label4 = "方程无根" End If End Sub 3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”, 若小于60,则弹出消息框,显示“抱歉!成绩没有通过! Private Sub Form_Load() Text1 = "" End Sub Private Sub Command1_Click() Dim n n = Text1 If n > =60 Then Val (MsgBox("恭喜!成绩通过!")) Else Val (MsgBox("抱歉!成绩没有通过!")) End If End Sub 4.输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整 除但不能被100整除,或者能被400整除) Private Sub Command1_Click() Dim y%

[整理]VB程序设计复习题及答案.

中南大学现代远程教育课程(专科)考试复习题及答案 《VB程序设计与应用》 一、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在 题后的括号内。 1. Visual Basic程序中分隔一行中各语句的字符是()。[ ] A)‘ B): C)\ D)_ 2. 下列可作为Visual Basic的变量名的是()。[ ] A: Filename B: A(A+B)C: A%D D : Print 3. 要让菜单项无效,应将()属性值设置为False。 [ ] A. Visible B. Enabled C. Moveable D. Checked 4. 以下过程是()事件。 Prviate Sub Form_Load( ) …… End Sub [ ] A: 命令按钮的单击B: 命令按钮的装载 C; 窗体的装载D: 窗体的单击 5. Vb中描述文件扩展名的是()属性。[ ] A: Drive B: Pattern C: FileName D: Path 6. 关于Visual Basic中事件的说法中,不正确的为()。[ ] A)事件是由Visual Basic预先定义好的,能够被对象识别的动作 B)DblClick(双击)是Visual Basic中的一种事件 C)一个对象可以识别一个或多个事件 D)对于一个系统提供的对象可以识别哪些事件,需要程序员自己定义 7. 下列控件中可设置滚动条是()。 [ ] A. 检查框(复选框) B. 框架 C. 文本框 D. 标签框 8. 在Visual Basic中建立一个空窗体,( )不会是其默认名。 [ ] A. Form1 B. Form2 C. Formx D. Form10 9. Const One&=1,则One为()类型的常数。[ ] A)整型 B)字节型

c语言程序设计第五版习题答案

c语言程序设计第五版习 题答案 Prepared on 24 November 2020

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、dowhile语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { inta1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main()

{ inta1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* IloveCprograms! ************************* 【分析与提示】 ①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功 能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf 等来实现的。这些函数的说明都包括在文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干 条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include<> main() { printf("************************\n"); printf("IloveCprograms!\n"); printf("************************\n"); } 第2章数据类型及其运算一.简答题 1.C语言中的数据类型主要有哪几类 【解答】短整型(shortint) 整型整型(int) 长整型(longint) 基本类型字符型(char)(float) 实型(浮点型) 双精度(double) 枚举类型(enum) 数组类型

有目录-程序改错部分试题及答案(2015-2016-1)

目录 功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。 (1) 功能:求如下表达式: (2) 功能:判断m是否为素数,若是返回1,否则返回0。 (4) 功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 (5) 功能:求1到20的阶乘的和。 (6) 功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出 整数部分,输出项数不得多于或少于20。 (7) 功能:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的 元素之和sum。 (8) 功能:找出大于m的最小素数,并将其作为函数值返回。 (9) 功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前 面的元素即第一个数对换位置. (10) 功能:一个已排好序的一维数组,输入一个数number,要求按原来排序的规律将 它插入数组中. (11) 第1题/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。 ------------------------------------------------------*/ #include #define N 11 main() { int i,number,a[N]={1,2,4,6,8,9,12,15,149,156}; printf("please enter an integer to insert in the array:\n"); /**********FOUND**********/ scanf("%d",&number) printf("The original array:\n"); for(i=0;i

VB程序改错40题

第2题(1、0分)题号:1 2 9 '【程序改错】 '题目:该程序实现将输入得0 —255 之间得正整数转 换成二进制数 O p t i on Explici t P riv a t e Sub Fo r m _Cl i ck () Con st n = 8 Dim a(n) A s I n tege r, s As Stri ng, m A s I n te g er, x A s Integer x = Va l (In p utB ox (”请输入一个0 — 2 55之间得正整数: ")) Prin t x ** ** ******FOUND** Fo r m = 1 T o n (m ) = x Mod 2 *** * *F^) D********* * Nex t m For m =n To 0 S t e p —1 * *********FOU N D * **** * * ** * s = Str(a( m )) Nex t m Pri n t s E n d Sub 答案:

(答案1)For m = 0 To n======= 答案2)x= x \ 2 或x= int(x/2)=======(答案3)s = s + St r (a (m)) 第3题(l、0分) 题号:463 '题目:以下程序功能就是输入三个数,由大到小排序。 Op t io n Explicit Di m A A s I n teger Dim B As I n te g er D im C As I nt e ger P r ivat e Sub F o r m_Click() Dim nTemp A s Integer A = V a l(ln put B o x (H P lease in put fi r st i nt e ger","输入正整数”)) B = Val( I n putBo x (” Pl e a s e in put s eco nd int e ge r”,"输入正整数”)) C = Va i (In pu tB o x(” P 1 e a se in put third int e ger ” ,"输入正整数”)) F OU ND * * ***** If A v= C T h en n Te m p = A A = B B = n Te mp E nd I f > ***** *FOUND**** * * * *** I f B <= C T hen nTe mp = A A = C C = nTem p

程序改错--答案版

12592 '题目:编程求一个十进制整数n的各位数字之和,设n为小于或等于5位的数。'------------------------------------------------ Option Explicit Private Sub Form_Click() Dim N As Integer, Sum As Integer, S1 As String, S2 As String Dim i As Integer, Ch As String Sum = 0 N = InputBox("输入整数n") S1 = Str(N) S1 = Trim(S1) For i = 1 To Len(S1) '**********ERROR********** Ch = Mid(N, i, 1) '**********ERROR********** Sum = Val(Ch) Next i Print "该整数的各位数之和是:"; Sum End Sub 12610'题目:程序功能根据输入的学习成绩,分别显示优秀(90分以上), 良好(75分以上),及格(60分以上)不及格四个等级. '------------------------------------------------ Option Explicit Private Sub Form_Click() Cls Dim i As Integer i = InputBox("请输入学习成绩") Select Case i '**********ERROR********** Case 0 < i < 100 MsgBox "成绩应该在0--100之间""" '**********ERROR********** Case 90 Print "优秀" Case 75 To 89 Print "良好" Case 60 To 74 Print "及格" '**********ERROR********** Case MsgBox "不及格", vbCritical End Select End Sub 12616.题目:求s=1!+3!+5!+7!,阶乘的计算用Function过程fact实现. '------------------------------------------------ Option Explicit Private Sub Form_Click() Dim i As Integer, s As Integer '**********ERROR********** For i = 1 To 7 s = s + fact(i) Next i Print s End Sub '**********ERROR********** Public Function fact() Dim t As Integer, i As Integer t = 1 For i = 1 To n t = t * i Next i '**********ERROR********** fact = i End Function 12620题目:编程实现从左到右的滚动字幕,滚动的速度由滚动条控件来控制。 '------------------------------------------------ Option Explicit Private Sub HScroll1_Scroll() '**********ERROR********** Timer1.Interval = HScroll1.Min - HScroll1.Value End Sub Private Sub Timer1_Timer() '**********ERROR********** If Label1.Left <= Form1.Width Then '**********ERROR**********

VB程序的设计课后复习题答案

VB课后习题解答 第一、二章: 1、简述VB6.0的主要特点 答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。2、当正常安装VB6.0后,误把Windows子目录删除。当重新安装Windows后,是否需要再次安装VB6.0? 答:要重新安装的。因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。 3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本? 答:在VB6.0的启动界面上,能显示对应的版本。 4、叙述建立一个完整应用程序的过程 答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程; 保存应用程序;程序调试和运行。 5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作? 答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。 6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。试问该工程涉及多少个要保存的文件? 若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息? 答:涉及两个文件要保存。先保存窗体文件(.frm),再保存工程文件(.vbp)。若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。 7、保存文件时,若不改变目录名,则系统默认的目录是什么? 答:系统默认的目录是VB98 8、安装Visual Basic 6.0后,帮助系统是否也已安装? 答:没有。VB6.0的帮助系统在两光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。 9、如何使用Visual Basic 6.0的帮助系统? 答:最方便的方法是选定要帮助的容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定容有关的帮助信息。 10、什么是类?什么是对象?什么是事件过程? 答:类是同类对象集合的抽象,它规定了这些对象的公共属性和方法; 对象是类的一个实例,对象包含三个要素:属性、方法和事件。 当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。 11、属性和方法的区别是什么? 答:属性是对象的特征,方法是对象的行为。前者有值,可以被赋值或引用;后者没有值,表示能够执行的操作。 12、当标签边框的大小由Caption属性的值进行扩展或缩小时,应对该控件的什么属性进行何种设置? 答:将该控件的Autosize属性值设置为true。 13、在VB6.0中,命令按钮的显示形式可以有标准的和图形的两种选择,它们通过什么属性来设置?若选 择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,应怎样修改?

19VB程序改错题收集(答案在后面)

VB中常见的错误 1、运行下面的 Visual Basic程序,单击命令按钮 Command1,出现如下图所示的提示信息: Private Sub Command1_Click() Dim a As Single, b As Single a = Val(Text1.Text) b = 10 If a >= b b = a * a + 2 * b End If Label1.Caption = Str(b) End Sub 出现该错误的原因是 A.If语句缺少Then B.If语句缺少Else C.变量a的数据类型说明错误 D.变量b的数据类型说明错误 2、某VB程序的事件过程如下所示: Private Sub Command1_Click ( ) Dim a As Integer a = Val(Text1.Text) Text1.Text = Str(Int( a )) End Sub 运行程序,单击按钮Command1后弹出如下图所示的错误提示。导致该错误的原因可能是() A.Int函数计算时出现错误 B.Val函数应用不正确 C.窗体上缺少Text1文本框对象 D.变量a数据类型定义错误 3、某Visual Basic程序段如下: Dim a(1 To 10) As Integer Dim i As Integer a(1) = 1 For i = 2 To 10 a(i) = a(i - 1) * i Next i 运行该程序段,会出现的错误提示为 (A)下标越界(B)子程序或函数未定义(C)要求对象(D)溢出 Interger类型范围在-32768~32767,而1到10相乘超出这个范围 4、某Visual Basic程序如下: Private Sub Command1_Click() Dim a(1 To 10) As Integer

c程序改错题——有答案

试卷编号:10578 所属语言:C语言 试卷方案:TC_150522153552 试卷总分:440分 共有题型:1种 一、程序改错共44题(共计440分) 第1题(10.0分)题号:380 难度:中第2章/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:输入两个双精度数,函数返回它们的平方和的平方根值。 例如:输入:22.936 和 14.121,输出为:y = 26.934415。 ------------------------------------------------------*/ #include #include #include /**********FOUND**********/ double fun (double *a, *b)//double fun(double *a,double *b) { double c; /**********FOUND**********/ c = sqr(a*a + b*b);//sqrt /**********FOUND**********/ return *c; } main ( ) { double a, b, y; printf ( "Enter a, b : "); scanf ("%lf%lf", &a, &b ); y = fun (&a, &b); printf ("y = %f \n", y ); } 第2题(10.0分)题号:438 难度:中第2章/*------------------------------------------------ 【程序改错】 --------------------------------------------------

VB程序设计学习与实验指导答案

Visual Basic 程序设计学习与实验指导答案 上篇学习指导 第1章Visual Basic 概述 1.事件 2.查看对象 3.工程 4.视图属性窗口 5.窗体编辑器 第2章面向对象程序设计初步 1.控件 2.事件 3.类属性 4.属性 5.略 https://www.wendangku.net/doc/4f9248582.html, 第3章Visual Basic 语言基础 1.(a*sin(30/180*3.14)+c*(log(b)/log(10)))/((Abs(d)+1)*(e+f))+1

2.mod 3.X=Int(X) And Y=Int(Y) And X*Y>0 4. 4.Y Mod 4=0 And Y Mod 100<>0 Or Y Mod 400=0 5.x=Int((99-10+1)*Rnd+10) 6.0 “” 7.空格 8.6,845.30 9. (1)8 (2)1 (3)abcd (4)出错,类型不匹配 (5)False (6)2008-6-29 (7)I likeVB (8)4 (9)4 4 (10)3 4 (11)10 -10 (12)-1 (13)aa (14)3 (15)0 (16)1 (17)C (18)5 (19)8 (20)34.54 (21)中国 (22)上海 (23)VISUAL BASIC (24)visual basic 10. (1)x<-100 or x>100 (2)a=Int(a) And b =Int(b) Or a<0 And b<0 (3)x<=y or x>=z (4)a>0 And a<>Int(a) (5)a=0 xor b=0 (6)Len(S)<10 (7)UCase(S)=S (8)Left(S,1)=”a” And Right(S,1)=”a” (9)Instr(S,”@”)<>0 (10)Trim(S)=S (11)Date=#8/8/2008#

VB 改错题

【程序改错】 '------------------------------------------------ '题目:下面的程序段用于删除数组中指定位置的数字,'如果位置错误给出提示,否则分别显示删除前后'的数组元素 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------ Private Sub Form_Click() Dim a(10) As Integer, x As Integer, i As Integer, k As Integer For i = 1 To 10 a(i) = Int(Rnd * 90) + 10 Print a(i); Next i Print x = InputBox("请输入要删除第几位数字") '**********FOUND********** If x > 0 And x <= 10 Then 'If x > 0 Then '**********FOUND********** For k = x To 9 'For k = x To 10 a(k) = a(k + 1) Next k Print "删除后的数组:" For i = 1 To 9 Print a(i); Next i Else Print "删除位置错误" '**********FOUND********** End If 'End End Sub 【程序改错】 '------------------------------------------------ '题目:在下列程序段中,过程fb可以显示任意长度的菲'波那契数列,现要求通过键盘输入一数字,利用'该过程显示不超过指定数字大小的数列 '------------------------------------------------

VB程序设计试题及答案

VB程序设计试题及答案(三) 一、单选题 1. Visual Basic是一种面向对象的可视化程序设计语言,采取了 A 的编程机制。 (A) 事件驱动(B) 按过程顺序执行 (C) 从主程序开始执行(D) 按模块顺序执行 2. 若要使标签控件显示时不覆盖其背景内容,要对 D 属性进行设置。 (A) Backcolor (B) BorderStyle (C) Forecolor (D) Backstyle 3. 在Visual Basic中最基本的对象是 C ,它是应用程序的基石,是其他控件的容器。 (A) 文本框(B) 命令按钮 (C) 窗体(D) 标签 4. 要判断在文本框是否按下Enter键,应在文本框的 D 事件中判断。 (A) Change (B)KeyDown (C) Click (D)KeyPress 5. 数学表达式3≤x10 (C) x>=3 Or x<10 (D) x>=3 AND x<10 6. Rnd函数不可能为下列 B 值。 (A) 0 (B) 1 (C) 0.1234 (D) 0.0005 7. 赋值语句:a=123+Mid("123456",3,2)执行后,a变量中的值是 D 。 (A) "12334" (B) 123 (C) 12334 (D) 157 8. 对于语句If x=l Then y=l,下列说法正确的是 C 。 (A) x=l和y=l均为赋值语句 (B) x=l和y=l均为关系表达式 (C) x=l为关系表达式,y=l为赋值语句 (D) x=l为赋值语句,y=l为关系表达式 9. 下面程序段表示求两个数中的大数, D 不正确。 (A) Max=IIf(x>y,x,y) (B) If x>y Then Max=x Else Max=y (C) Max=x (D) Ify>=x Then Max=y If y>=x Then Max=y Max=x 10.当在文本框中输入“ABCD”4个字符时,窗体上显示的是 C 。 Private Sub Text1_Change( ) Print Text1; End Sub (A) ABCD (B) A (C) AABABCABCD (D) A B AB C ABC D ABCD 11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值 B 。 (A) For i=1 to 4 (B) For i=1 to 4 n=1 For j=1 to i

相关文档