江苏省等考VB上机真题汇总.docx

上传人:b****3 文档编号:3898148 上传时间:2022-11-26 格式:DOCX 页数:18 大小:20.63KB
下载 相关 举报
江苏省等考VB上机真题汇总.docx_第1页
第1页 / 共18页
江苏省等考VB上机真题汇总.docx_第2页
第2页 / 共18页
江苏省等考VB上机真题汇总.docx_第3页
第3页 / 共18页
江苏省等考VB上机真题汇总.docx_第4页
第4页 / 共18页
江苏省等考VB上机真题汇总.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

江苏省等考VB上机真题汇总.docx

《江苏省等考VB上机真题汇总.docx》由会员分享,可在线阅读,更多相关《江苏省等考VB上机真题汇总.docx(18页珍藏版)》请在冰豆网上搜索。

江苏省等考VB上机真题汇总.docx

江苏省等考VB上机真题汇总

2008春VB03

一、改错题(14分)

【题目】本程序功能是求二维的随机整数数组每一行元素中素数的个数。

OptionExplicit

Dima()AsInteger,mAsInteger,nAsInteger

PrivateSubCommand1_Click()

DimiAsInteger,jAsInteger

m=InputBox("行数",,4)

n=InputBox("列数",,5)

ReDima(m,n)

Fori=1Tom

Forj=1Ton

a(i,j)=Int(Rnd*90)+10

a(i,j);

Nextj

Nexti

EndSub

PrivateSubCommand2_Click()

DimiAsInteger,jAsInteger

DimkAsInteger,mAsInteger,nAsInteger

k=0

Fori=1Tom

Forj=1Ton

Ifprime(a(i,j))Thenk=k+1

Nextj

Text1=Text1&k&vbCrLf

Nexti

EndSub

PrivateFunctionprime(nAsInteger)AsBoolean

DimiAsInteger

Fori=2ToSqr(n)

IfnModi=0ThenExitFor

Nexti

prime=True

EndFunction

【要求】

1.新建工程,输入上述代码,改正程序中的错误;

2.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到软盘A的根目录下。

二、编程题(26分)

【题目】编写程序,查找给定范围[A,B]内所有升序完全平方数。

所谓升序完全平方数是指该数的平方根是一个整数,且组成该数的各位数字由左至右,依次递增。

例如13689的平方根是117,它就是一个升序完全平方数。

【编程要求】

1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.运行程序,在文本框1和文本框2中分别输入A与B的值,按“查找”按钮,开始查找并在列表框中显示结果;按“清除”按钮,则将所有文本框与列表框清空,焦点置于文本框1上;

3.程序中应定义一个名为sx的函数过程,用于判断一个正整数是否为升序数。

【提示】判断一个整数是否为升序数,首先要分解得到该数的各位数字,再逐位依次判断其大小。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到软盘A的根目录下。

2008秋VB01

一、改错题(14分)

【题目】本程序的功能是:

随机生成一个有n个元素的数组(n由InputBox函数输入),找出其中的最大元素并将它删除,再输出删除后的数组。

OptionExplicit

OptionBase1

Dima()AsInteger,nAsInteger

PrivateSubCommand1_Click()

DimiAsInteger

n=InputBox("请输入数组个数",,10)

ReDima(n)

Fori=1Ton

a(i)=Int(Rnd*100)+1

Text1=Text1&Str(a(i))

Nexti

Calllookup(a)

Fori=1Ton

Text2=Text2&Str(a(i))

Nexti

EndSub

PrivateSublookup(a()AsInteger)

DimmaxvAsInteger,maxpAsInteger,iAsInteger

maxv=a

(1):

maxp=1

Fori=2Ton

Ifa(i)>maxvThen

maxv=a(i):

maxp=i

EndIf

Nexti

Callmove_f(a,maxp)

EndSub

PrivateSubmove_f(a()AsInteger,kAsInteger)

DimiAsInteger

Fori=k+1ToUBound(a)

a(i)=a(i+1)

Nexti

ReDima(UBound(a)-1)

EndSub

【要求】

4.新建工程,输入上述代码,改正程序中的错误;

5.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

二、编程题(26分)

【题目】编写程序,找出介于a和b之间所有能构成幻影素数的数。

所谓幻影素数是指自身为素数,其反序数也是素数的数。

例如107和701都是素数,所以107是幻影素数。

【编程要求】

1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.运行程序,在文本框A和文本框B中输入指定数据范围,再按“运行”按钮,将找出的幻影素数存放在列表框中(若指定区间无幻影素数,则输出“本区间无幻影素数”)。

按“清除”按钮,将文本框和列表框清空,焦点置于文本框A上;

3.程序中应定义一个名为prime的函数过程,用于判断一个整数是否为素数;再定义一个求一个整数的反序数的通用过程。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。

2008秋VB02

一、改错题(14分)

【题目】本程序的功能是查找80~150范围内的特殊十进制数据,其特点是该十进制数对应的8进制数为回文数(指从左向右读与从右向左读是一样的数)。

例如十进制数据105对应八进制数为151,151属于回文数,所以105就是符合要求的数。

OptionExplicit

PrivateSubCommand1_Click()

DimiAsInteger,hwAsString,fgAsBoolean

DimstAsString

Fori=80To150

fg=False

Callhw8(i,hw,fg)

IffgThen

st=CStr(i)&"==>"&hw&"&O"

st

EndIf

Nexti

EndSub

PrivateSubhw8(nAsInteger,hwAsString,fAsBoolean)

DimkAsInteger,st()AsString*1,iAsInteger

hw=""

Do

k=k+1

ReDimPreservest(k)

st(k)=nMod8

hw=st(k)&hw

n=n\8

LoopUntiln<0

Fori=1ToUBound(st)/2

Ifst(i)<>st(UBound(st)-i+1)ThenExitFor

Nexti

f=True

EndSub

【要求】

1.新建工程,输入上述代码,改正程序中的错误;

2.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

二、编程题(26分)

【题目】编写程序,验证任意一个不超过9位的自然数,经过下述的反复变换最终得到123。

变换方法是:

统计该数的偶数(0算偶数)个数记为a,奇数个数记为b,数据位数记为c;以a为百位数、b为十位数、c为个位数,得到一个新数(若a=0,则以b为百位数、a为十位数),若这个新数不是123,再按上述步骤进行变换,直到出现123为止。

123被称为陷阱数。

【编程要求】

1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.运行程序,在文本框1中任意输入一个不超过9位的自然数后,按“验证”按钮,则根据变换规则生成新数,将其输出到列表框,重复变换操作,直到得到123为止,最后输出“验证成功”信息;按“清除”按钮,将文本框和列表框清空,焦点置于文本框上;按“结束”按钮,结束程序运行;

3.程序中应定义一个名为Validate的通用过程,用于对数据进行变换操作。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。

2009秋VB01

一、改错题(14分)

【题目】本程序的功能是,将24位真彩色图像的一个像素的颜色值,转换成用十进制表示的红、绿、蓝三基色的亮度值。

OptionExplicit

OptionBase1

PrivateSubCommand1_Click()

DimstAsString,c(3)AsString*8

DimkAsInteger,color(3)AsString

color

(1)="红色"

color

(2)="绿色"

color(3)="蓝色"

st=Text1

Do

k=k+1

c(k)=Left(st,8)

st=Right(st,Len(st)-8)

LoopUntilk>3

Fork=1To3

Text2=Text2&color(k)&":

"&b2d(c)&vbCrLf

Next

EndSub

PrivateFunctionb2d(sAsString)AsInteger

DimkAsInteger

Do

b2d=b2d+Val(Right(s,1))*2^k

s=Left(s,Len(s)-1)

k=k+1

LoopUntilk=Len(s)

EndFunction

【要求】

1.新建工程,输入上述代码,改正程序中的错误;

2.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

二、编程题(26分)

【题目】编写程序,随机生成m行n列由1位非零整数组成的数组;并分别求出数组中所有周边元素之和与非周边元素(内部)之和。

(m、n由InputBox函数输入,缺省值分别为4、5)

【编程要求】

1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.运行程序,按“运行”按钮,出现如图的InputBox函数窗口,分别输入数组行、列数(或使用缺省值)后按“确定”,则生成随机数组并显示在图片框中,并在文本框1与2中分别输出数组周边元素之和与非周边元素(内部)之和;按“清除”按钮,将所有文本框和图片框清空;按“结束“按钮”结束程序运行;

3.程序中应定义一个通用过程,用于求二维数组的周边元素之和与非周边元素之和。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。

2009秋VB02

一、改错题(14分)

【题目】本程序的功能是,找出所有两位整数中的“镜反平方数对”。

所谓“镜反平方数对”是指数对n与m,它们满足条件:

①n与m不含有数字0,且n不等于m;②n的反序数是m,n的平方数的反序数等于m的平方。

例如12与21,12的平方是144,其反序数是441,而21的平方正好等于441;所以12与21是镜反平方数对。

OptionExplicit

PrivateSubCommand1_Click()

DimnAsInteger,fnAsInteger,stAsString

Forn=11To99

IfInStr(CStr(n),"0")<>0Then

fn=fx(n)

Ifvalidate(n,fn)Andn

st=n&"^2="&n^2&","&fn&"^2="&fn^2

st

EndIf

EndIf

Nextn

If=0Then"无镜反平方数"

EndSub

PrivateFunctionfx(nAsInteger)AsInteger

DimsAsString

Do

s=s&Str(nMod10)

n=n\10

LoopUntiln=0

fx=s

EndFunction

PrivateFunctionvalidate(pAsInteger,qAsInteger)AsBoolean

Iffx(p^2)=q^2Then

validate=True

EndIf

EndFunction

【要求】

1.新建工程,输入上述代码,改正程序中的错误;

2.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

二、编程题(26分)

【题目】编写程序,找出输入字符串ASCII代码值最大的字符,把它移动到原字符串的末尾,其他字符的排列顺序维持不变。

例如,输入“student”,结果是“stdentu”(若输入字符串中含有多个最大字符,只移动其中的一个)。

【编程要求】

1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.运行程序,首先在“原字符串”文本框中输入测试字符串,然后按“处理”按钮,接受输入并按要求进行相关处理,将得到的新字符串输出到“新字符串”文本框中;按“清除”按钮,将两个文本框清空,焦点置于“原字符串”文本框上;按“结束”按钮,结束程序运行;

3.程序中应定义一个通用过程,用于找出一个字符串中ASCII代码最大的字符及其位置。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。

2009秋VB03

一、改错题(14分)

【题目】本程序的功能是,找出指定范围内的五位整数中,由不同数字组成的所有素数。

OptionExplicit

PrivateSubCommand1_Click()

DimnAsLong

Forn=34567To40000

Ifprime(n)Orvalidate(n)Then

Text1=Text1&n&vbCrLf

EndIf

Nextn

IfText1=""ThenText1="无符合要求的数"

EndSub

PrivateFunctionprime(nAsLong)AsBoolean

DimiAsInteger

Fori=2ToSqr(n)

IfnModi=0ThenExitFunction

Nexti

prime=True

EndFunction

PrivateFunctionvalidate(nAsLong)AsBoolean

Dimnum(5)AsInteger,iAsInteger,kAsInteger

Fori=1To5

num(i)=nMod10

n=n/10

Nexti

Fori=1To4

Fork=i+1To5

Ifnum(i)=num(k)ThenExitFunction

Nextk

Nexti

validate=True

EndFunction

【要求】

1.新建工程,输入上述代码,改正程序中的错误;

2.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

二、编程题(26分)

【题目】设24位真彩图像的一个像素的颜色值用A1A2B1B2C1C2形式的十六进制数表示,其中A1A2、B1B2、C1C2分别表示红、绿、蓝三种颜色的亮度值。

编写程序,分别求出该像素红(R)、绿(G)、蓝(B)三种颜色以十进制数表示的亮度值。

【编程要求】

1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.运行程序,首先在文本框1中输入像素以十六进制数表示的颜色值,然后按“运行”按钮,对颜色值进行处理,并将处理结果按下图给出的形式显示在多行文本框2中;按“清除”按钮,将两个文本框清空,焦点置于文本框1上;按“结束”按钮,结束程序运行;

3.程序中应定义一个名为h2d的通用过程,其功能是将一个十六进制数转换为十进制数。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。

2010春VB02

一、改错题(14分)

【题目】本程序的功能:

利用随机函数生成n个可被3整除、且至少包含一个8的三位整数。

OptionExplicit

PrivateSubCommand1_Click()

DimnAsInteger,a()AsInteger,iAsInteger

DimstAsString

n=InputBox("数据个数n:

","查找",15)

ReDima(n)

Callfind(a)

Fori=1Ton

IfnMod3<>0Then

st=st&Str(a(i))

Else

st=st&Str(a(i))&vbCrLf

EndIf

Nexti

Text1=st

EndSub

PrivateSubfind(a()AsInteger)

DimubAsInteger,kAsInteger,pAsInteger

DimsAsString

Randomize

ub=UBound(a)

Do

p=Int(Rnd*899)+100

s=CStr(p)

IfInStr(s,"8")<>0OrpMod3=0Then

k=k+1

a(k)=p

EndIf

LoopUntilk>ub

EndSub

【要求】

1.新建工程,输入上述代码,改正程序中的错误;

2.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

二、编程题(26分)

【题目】编写程序,求指定范围内的非素数整数的所有真因子(除1和自身以外的因子)。

【编程要求】

1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.运行程序,首先在X文本框和Y文本框中输入相应的数据后,按“运行”按钮,进行相关处理,在列表框中按给定格式输出结果;按“清除”按钮,清空两个文本框和列表框,焦点置于文本框X上,按“结束”按钮,结束程序运行;

3.程序中应定义一个通用过程,用于求整数的所有真因子。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。

2010秋VB01

一、改错题(14分)

【题目】本程序的功能是,找出10~100之间的所有只有奇数真因子的整数。

所谓数据n的真因子是指除了1和n之外的因子。

OptionExplicit

OptionBase1

PrivateSubCmd1_Click()

Dimfac()AsInteger,nAsInteger

DimiAsInteger,snAsString,flagAsBoolean

flag=false

Forn=10To100

Calljsyz(n,fac,flag)

IfflagThen

sn=n&":

"

Fori=1ToUBound(fac)

sn=sn&fac(i)&","

Nexti

Left(sn,Len(sn)-1)

EndIf

Nextn

EndSub

PrivateSubjsyz(nAsInteger,fa()AsInteger,flagAsBoolean)

DimiAsInteger,kAsInteger,nasInteger

Fori=2Ton-1

IfnModi=0Then

IfiMod2<>0Then

k=k+1

ReDimfa(k)

fa(k)=i

Else

ExitSub

EndIf

EndIf

Nexti

Ifk<>0Thenflag=True

EndSub

【要求】

1.新建工程,输入上述代码,改正程序中的错误;

2.改错时,不得增加或删除语句,但可适当调整语句位置;

3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

二、编程题(26分)

【题目】编写程序,随机生成一个元素值为10~40之间整数的4行5列数组;找出该二维数组的最大元素与最小元素,并将最大元素与最小元素的值以及相应的行号和列号输出到图片框中。

(注意:

数组最大元素与最小元素都可能有多个)

【编程要求】

1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2、运行程序,按“运行”按钮,则生成随机数组并显示在图片框Pic1中,并在图片框Pic2中输出数组最大元素值和最小元素值机相应的数组元素的行号与列号;按“清除”按钮,将两个图片框清空,焦点置于“运行”按钮;按“结束”按钮,结束程序运行;

3、程序中应定义一个通用过程maxmin,用于求二维数组最大元素值与最小元素值。

【要求】

将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。

 

2010秋VB02

一、改错题(14分)

【题目】本程序的功能是,查找首末两位数字之和与中间两位数字之和相等的四位素数。

OptionExplicit

PrivateSubCmdFind_Click()

DimiAsInteger,FgAsBoolean

Fori=1001To9999

Fg=False

CallPD(i,Fg)

IfPrime(i)AndFgTheni

Nexti

EndSub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1