选择.docx
《选择.docx》由会员分享,可在线阅读,更多相关《选择.docx(20页珍藏版)》请在冰豆网上搜索。
选择
题目:
产生30个小于100的成绩随机数,并统计出优、良
'、中等、及格、不及格数的个数,并计算出成绩属
'于优秀段的成绩平均分。
'------------------------------------------------
PrivateSubForm_Click()
Dimk%,a%,bjg%,jg%,zd%,lh%,yxAsInteger
DimpjfAsInteger
Randomize
pjf=0
Fork=1To30
'**********ERROR**********
a=Int(Rnd())
SelectCasea
Case0To59
bjg=bjg+1'不及格
Case60To69
jg=jg+1'及格
Case70To79
zd=zd+1'中等
Case80To89
lh=lh+1'良好
Case90To100
yx=yx+1'优秀
'**********ERROR**********
pjf=pjf+1
EndSelect
Nextk
'**********ERROR**********
Ifyx>0Thenpjf=pjf/30
Debug.Print"不及格"+Str$(bjg)+"人,及格"+Str$(jg)+"人,中等"+Str$(zd)+"人";
Debug.Print"良好"+Str$(lh)+"优秀"+Str$(yx)+"人"
Debug.Print"优秀分数段成绩平均分"&pjf
EndSub
题目:
该程序的功能是通过键盘给一维数组a输入10个
'整数,然后将一维数组的这些数赋值给一个2行
'5列的二维数组。
最后在一行内输出一维数组、
'在两行内输出二维数组。
'------------------------------------------------
PrivateSubForm_Click()
Dima(10),b(2,5)AsInteger
DimiAsInteger,kAsInteger,jAsInteger
Fori=1To10
a(i)=InputBox("请提供10个整数给数组")
a(i)=Val(a(i))
Nexti
k=0
Fori=1To2
Forj=1To5
k=k+1
b(i,j)=a(k)
Nextj
Nexti
PrintTab(10);"数组a的值"
PrintTab(10);
Fori=1To10
'**********ERROR**********
Printa(i)
Nexti
Print
PrintTab(10);"二维数组b的值是:
"
Fori=1To2
PrintTab(10);
Forj=1To5
'**********ERROR**********
Printb(j,i);
Nextj
'**********ERROR**********
Paintb(i,j)
Nexti
EndSub
'
'------------------------------------------------
PrivateSubForm_Click()
DimiAsInteger,jAsInteger,kAsInteger
PrintTab(30);"9*9table"
Print:
Print
Print"*";
Fori=1To9
'**********ERROR**********
PrintTab(i*6);i
Nexti
Print
Forj=1To9
Printj;"";
'**********ERROR**********
Fork=1To9
'**********ERROR**********
PrintTab(j*6);j*k;"";
Nextk
Print
Nextj
EndSub
'题目:
编程实现从左到右的滚动字幕,滚动的速度由滚动条
'控件来控制。
'------------------------------------------------
PrivateSubHScroll1_Scroll()
'**********ERROR**********
Timer1.Interval=HScroll1.Min-HScroll1.Value
EndSub
PrivateSubTimer1_Timer()
'**********ERROR**********
IfLabel1.Left<=Form1.WidthThen
'**********ERROR**********
Label1.Left=Label1.Width
Else
Label1.Left=Label1.Left+100
EndIf
EndSub
题目:
移动数组元素,将数组中某个位置的元素移动到指定位置.
'------------------------------------------------
FunctionfMove(a%(),L1%,L2%)
DimNAsInteger,iAsInteger,TAsInteger
'**********ERROR**********
N=LBound(a)
IfL2=N+1Then
'**********ERROR**********
a(N)=a(L1)
Fori=L1ToN
a(i)=a(i+1)
Nexti
Else
T=a(L1)
a(L1)=a(L2)
'**********ERROR**********
a(L1)=T
EndIf
EndFunction
PrivateSubForm_Click()
Dima%(1To5)
DimiAsInteger
Fori=1To5
a(i)=i
Next
fMovea,1,5
Fori=1To5
Printa(i)
Next
EndSub
题目:
输入一个字符串,将所有的小写字母都转换为大写字母。
'------------------------------------------------
PrivateSubForm_Click()
Dims1AsString,s2AsString,iAsInteger,tAsString
s1=InputBox("输入字符串,#号结束")
i=1
'**********ERROR**********
s1=Mid(s1,i,1)
Whilet<>"#"
'**********ERROR**********
Ift>="a"Andt<="z"Thent=Chr(Asc(t)-30)
s2=s2+t
i=i+1
t=Mid(s1,i,1)
Wend
'**********ERROR**********
Print"新字符串为:
";s1
EndSub
'------------------------------------------------
'【程序改错】
'------------------------------------------------
'题目:
请修改程序中错误,保证程序最后输出效果如图1所示。
'
'------------------------------------------------
PrivateSubForm_Click()
DimiAsInteger
Fori=1To7
'**********ERROR**********
PrintSpc(7);
'**********ERROR**********
Ifi>=1Then
Print"*"
Else
'**********ERROR**********
Print"*";Spc(2*(i-1));"*"
EndIf
Nexti
EndSub
------------------------------------------------
'【程序改错】
'------------------------------------------------
'题目:
下面的程序段用于删除数组中指定位置的数字,
' 如果位置错误给出提示,否则分别显示删除前后
' 的数组元素
'------------------------------------------------
PrivateSubForm_Click()
Dima(10)AsInteger,xAsInteger,iAsInteger,kAsInteger
Fori=1To10
a(i)=Int(Rnd*90)+10
Printa(i);
Nexti
Print
x=InputBox("请输入要删除第几位数字")
Ifx>0Andx<=10Then
'**********ERROR**********
Fork=xTo10
'**********ERROR**********
a(k)=a(k-1)
Nextk
Print"删除后的数组:
"
Fori=1To9
Printa(i);
Nexti
Else
Print"删除位置错误"
'**********ERROR**********
End
EndSub
题目:
使用顺序文件读写方式编写一个简单的记事本应用程序,
'基本逻辑是:
假设在考生目录中有一个名为exam.txt的文
'本文件。
当点击"打开"按钮(Command1)时,程序将exam.Txt
'文件中的内容显示在文本框(Text1)中,当点击"新建"按钮
'(Command2)时,清空Text1中的内容;用户可以在Text1中进行
'编辑操作,当点击"保存"按钮(Command3)时,将Text1中的内容
'保存在exam.txt文件中。
当点击"退出"按钮(Command4)时关闭本窗体。
'------------------------------------------------
PrivateSubCommand1_Click()
DimAAsString
Text1=""
Open"exam.txt"ForInputAs#1
DoWhileNotEOF
(1)
'**********ERROR**********
Input#0,A
Text1=Text1+A
Loop
'**********ERROR**********
Close#0
EndSub
PrivateSubCommand2_Click()
Text1=""
EndSub
PrivateSubCommand3_Click()
Open"exam.Txt"ForOutputAs#1
'**********ERROR**********
Input#1,Text1
Close#1
EndSub
PrivateSubCommand4_Click()
UnloadMe
EndSub
【程序改错】
'------------------------------------------------
'题目:
单击"开始"命令按钮,秒表开始计时,单击"结束"
'命令按钮,秒表结束计时,并在标签框显示运行
'时间,如"运行了0小时2分10秒"。
'------------------------------------------------
DimxAsLong
DimhAsInteger,mAsInteger,sAsInteger
PrivateSubForm_Load()
Form1.Caption="动态秒表(小时:
分:
秒)"
Command1.Caption="开始[&S]"
Command2.Caption="结束[&E]"
Label1.Alignment=2
Label1.Caption="0:
0:
0"
Timer1.Interval=1000
Timer1.Enabled=False
x=0
EndSub
PrivateSubCommand1_Click()
'**********ERROR**********
Timer1.Enabled=False
EndSub
PrivateSubCommand2_Click()
'**********ERROR**********
Timer1.Enabled=True
x=0
Label1.Caption="运行了"+Str(h)+"小时"+Str(m)+"分"+Str(s)+"秒"
EndSub
PrivateSubTimer1_Timer()
x=x+1
h=x\3600
m=(xMod3600)\60
'**********ERROR**********
s=(xMod3600)\60
Label1.Caption=Str(h)+":
"+Str(m)+":
"+Str(s)
EndSub
【程序说明】下列程序用来在窗体上输出如图4-1所示的数据。
'
'
'注意:
不要删除'**********FILL**********,否则影响评分成绩
'去掉__________,填写代码。
'
PrivateSubForm_Click()
Dima(5,5)AsByte,iAsByte,jAsByte
Fori=1To5
Forj=1To6-i
'**********FILL**********
a(i,j)=_____Nextj,i
Fori=2To5
'**********FILL**********
Forj=_____To5
a(i,j)=j+i-6
Nextj,i
Fori=1To5
Forj=1To5
Printa(i,j);
Nextj
'**********FILL**********
_____
Nexti
统计输入的多行字符串中字母出现的次数(大小写不区分),
并对出现的字母显示其出现的个数(每行显示8个),运行界面如下图
利用随机数生成两个矩阵A和B,A矩阵数据范围为30~70,B矩阵数据范围为101~135。
要求:
1、将A矩阵和B矩阵相加放入C矩阵中;
2、将A矩阵转置;
3、求C矩阵中元素最大值和下标。
运行界面如图所示。
'【程序说明】下面是一段计算数学表达式
的程序。
'
'注意:
不要删除'**********FILL**********,否则影响评分成绩
'去掉__________,填写代码。
'
PrivateSubForm_Click()
DimnAsInteger,pAsInteger,sAsSingle,qAsInteger,iAsInteger
n=InputBox("请输入N的值:
")
s=0:
p=-1:
q=1
Fori=1Ton
'**********FILL**********
p=-p:
q=_____
'**********FILL**********
s=_____
'**********FILL**********
_____Prints
EndSub
当程序运行时,在文本框中输入整数10,单击"显示"按钮,在图片框中显示10行的杨辉三角形,
单击"清屏"按钮时,清除图片框中显示的内容。
'【程序说明】以下程序产生30个两位随机整数、并按从小到大的顺序存入数组a中,
'再将其中的奇数按从小到大的顺序在窗体中用紧凑格式输出。
'
'注意:
不要删除'**********FILL**********,否则影响评分成绩
'去掉__________,填写代码。
PrivateSubForm_Click()
Dima(30)AsByte,iAsByte,jAsByte,mAsByte
'**********FILL**********
Fori=1To30:
a(i)=_____:
Nexti
Fori=1To29
'**********FILL**********
Forj=_____
Ifa(i)>a(j)Then
'**********FILL**********
m=a(i):
_____:
a(j)=m
EndIf
Nextj,i
Fori=1To30
'**********FILL**********
If_____ThenPrinta(i);
Nexti
EndSub
随机产生20个学生的成绩(0~100)并显示在第1个图片框中,每行显示10个数,
统计0~59、60~69、70~79、80~89、90~100各分数段的人数。
运行界面如下图。
随机产生20个1~100的正整数放入数组中,显示产生的数,
求最大值、最小值、平均值。
运行界面如下图(每行显示6个随机数)。
【程序说明】下列程序求两个正整数m、n的最大公约数。
'
'注意:
不要删除'**********FILL**********,否则影响评分成绩
'去掉__________,填写代码。
PrivateSubForm_Click()
DimmAsInteger,nAsInteger,rAsInteger
m=InputBox("请输入M的值:
"):
n=InputBox("请输入N的值:
")
Printm;"和";n;"的最大公约数是:
"
r=mModn
'**********FILL**********
DoUntil_____
'**********FILL**********
m=n:
n=r:
r=_____
Loop
Printn
EndSub
编写一个英文打字练习程序,要求如下:
1、在一个文本框内随机产生30个字母的范文;
2、当焦点进入另一个文本框时开始计时,按产生的范文练习打字;
3、当满30个字母结束计时,禁止向文本框输入内容;
4、显示打字时间和打字的准确率。
程序运行如图8-3。
2.下列关于数组的说法中,正确的是必须是常数
7.有如下程序:
SubMySub(ParamArraya())
s=1
ForEachxIna
s=s+x
Nextx
Prints
EndSub
PrivateSubCommand1_Click()
MySub2,3,6,18
EndSub
程序运行后,单击命令按钮,则输出的结果是30.
3.表达式Int(7.8)+Int(-7.2)的结果是。
4.下列对象不具有KeyPress事件的是标签
5.用ReDim语句定义的数组是临时。
6.下列对象不具有MousePointer属性的是形状
9.下列指定非蓝色的表达式是&hff0000
7.-7、0、100
11.列表框
12.6
13.事件、函数、子程序
14.72
17.s(3)=array(0、1、2、3)
24.filter
29.2
35.index
41.23466544
42.trim
44.0
45.变体变量的空值表示该变量值为0
47.使程序模块化
2.ctrl+e
3.2
24
246
2468
8
68
468
2468
6.DdD
7.Label
8.result13