模拟考试题打印版.docx

上传人:b****3 文档编号:3501214 上传时间:2022-11-23 格式:DOCX 页数:27 大小:65.75KB
下载 相关 举报
模拟考试题打印版.docx_第1页
第1页 / 共27页
模拟考试题打印版.docx_第2页
第2页 / 共27页
模拟考试题打印版.docx_第3页
第3页 / 共27页
模拟考试题打印版.docx_第4页
第4页 / 共27页
模拟考试题打印版.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

模拟考试题打印版.docx

《模拟考试题打印版.docx》由会员分享,可在线阅读,更多相关《模拟考试题打印版.docx(27页珍藏版)》请在冰豆网上搜索。

模拟考试题打印版.docx

模拟考试题打印版

模拟题一

一、程序阅读题

阅读下列程序,写出运行结果。

1、程序1

PrivateSubCommand1_Click()

DimxAsInteger,sAsInteger

x=Val(InputBox("请输入一个正整数="))

Ifx<5Then

s=s*x

Else

s=s+x

EndIf

text1.Text="s="+Str(s)

EndSub

程序运行时连续3次单击Command1,且设输入的数是5,2和4时,分别写出文本框Text1.Text的值。

2、程序2

PrivateSubForm_Click()

Form1.Cls

w=3

Fork=2To6Step2

Form1.Print"w=";w,"k=";k

w=w+1

Nextk

Form1.Print"w=";w,"k=";k

EndSub

写出程序运行时单击窗体后,Form1上的输出结果。

3、程序3

PrivateSubForm_Click()

DimxAsString

DimiAsInteger,nAsInteger

Form1.Cls

x="ABCDEFGHKL"

n=Len(x)

Fori=nTo1Step-2

Form1.PrintTab(20-i);Mid(x,i,1)

Nexti

EndSub

写出程序运行时单击窗体后,Form1上的输出结果。

4、程序4

DimaAsInteger,yAsInteger

PrivateSubForm_Load()

Open"c:

\a1.dat"ForOutputAs#1

Close#1

EndSub

PrivateSubCommand1_Click()

Open"c:

\a1.dat"ForAppendAs#1

Callaa(5)

y=y+a

Print#1,"y=";y,"a=";a

Close#1

EndSub

Subaa(iAsInteger)

x=1

DoUntilx>i

a=a+x

x=x+3

Loop

EndSub

写出程序运行时连续3次单击Command1后,a1.dat文件的最终结果。

二、程序填空题

1.程序说明:

利用一个计时器,一个标签框和两个命令按钮制作一个动态秒表,

单击“结束”命令按钮,秒表结束计时,并在标签框显示运行时间,如“运行

了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=

(1)

Timer1.Enabled=False

x=0

EndSub

PrivateSubCommand1_Click()

(2)

EndSub

PrivateSubCommand2_Click()

Timer1.Enabled=False

x=(3)

Label1.Caption="运行了"+Str(h)+"小时"+Str(m)+"分"+Str(s)+"秒"

EndSub

PrivateSubTimer1_Timer()

x=x+1

h=(4)

m=(xMod3600)\60

s=(5)

Label1.Caption=Str(h)+":

"+Str(m)+":

"+Str(s)

EndSub

2.程序说明:

己知自然对数的底数e的级数表示如下:

e=1+1/(1!

)+1/(2!

)+...+1/(n!

)+...

本程序利用函数过程fact()求e,其中的绝对值小于IE-8的项被忽略。

程序代码如下

PrivateFunctionfact(mAsInteger)AsSingle'求m!

的函数

DimxAsSingle,iAsInteger

x=1

Fori=1Tom

X=(6)

Nexti

fact=x

EndFunction

PrivateSubForm_Click()

DimeAsSingle,itemAsSingle

DimnAsInteger

e=1:

n=(7)

Do

n=n+1

item=(8)

e=e+item

LoopWhile(9)

三、程序设计题

1.随机产生n个两位正整数(n由输入对话框输入,且n>0),求出其中的偶数之和,并在标签框Label1上显示。

注:

程序写在命令按钮Commandl的Click事件中。

2.由输入对话框输入100个数值数据放入数组a。

将其中的整数放入数组b,然后运用选择排序法将数组b中的数据按从大到小的顺序排列,并以每行5个数据在窗体上输出。

注:

程序写在窗体Form的Click事件中。

模拟题二

一、程序填空题

1.【程序说明】

本程序求3~100之间的所有素数(质数)并统计个数,同时将这些素数从小到大依次写入顺序文件e:

\dataout.txt,素数的个数显示在窗体Form1上。

【程序】

PrivateSubCommand1_Click()

DimcountAsInteger,flagAsBoolean

DimtiAsInteger,t2AsInteger

(1)

count=0

Forti=3To100

flag=True

Fort2=2ToInt(Sqr(t1))

If

(2)Thenflag=False

Nextt2

(3)

count=count+1

Write#1,t1

EndIf

Nextt1

(4)Close#1

EndSub

(1)A、Opene:

\dataout.txtForOutputAs#1

B、Opene:

\dataout.txtForInputAs#1

C、Opene:

\dataout.txtForOutputAs#2

D、Opene:

\dataout.txtForOutputAs#1

(2)A、t2\t1=0B、t1Modt2=0C、t1\t2=0D、t2Modt1=0

(3)A、IfflagThenB、Ift2>t1Then

C、Ift1>t2ThenD、Ift2>int(sqr(t1))Then

(4)A、Forml.Print"素数个数:

";count

B、Print#l"素数个数:

";Count

C、Form1.Print"素数个数:

";count

D、Form1.Print"素数个数:

":

Count

2.[程序说明]由输入对话框输入n(设n为大于零且小于30的自然数),计算下列表达式并在标签控件Label1上显示。

  1/(1*2)+1/(2*3)+1/(3*4)+……+1/(n*(n+1))

【程序】

PrivateSubForm_Click()

DimnAsInteger,sumAsDouble,kAsInteger

Do(5)

n=Val(InputBox("n=","请重输"))

Loop

sum=0

(6)

Do

k=k+1

sum=(7)

LoopUntilk>=n

Label1.Caption="Sum"+Str(sum)

EndSub

(5)A、Whilen<=Oorn>=30B、Whilen<=OAndn>=30

C、Untiln>0Orn<30D、Untiln>=0andn<=30

(6)A、k=2B、k=1C、K=-1D、k=0

(7)A、1/(k*(k+1))B、l/(k-1)*k

C、sum+1/(k*(k+1))D、sum+1/k*(k+1)

3.【程序说明】本程序用于处理文本框Textl.Text中的内容,假设文本框中有偶数个字符。

要求将文本框从头尾至中间依次各取字符,组成一个新的字符串str2,并在窗体上输出。

如:

Textl.Text="12345678",则Str2="18273645"

【程序】

PrivateSubForm_Click()

DimStr1AsString,Str2AsString

Str1=TeXt1.Text

Str2=""

m=0

Do(8)

Str2=Str2+(9)

Str2=Str2+(10)

m=m+l

Loop

forml.PrintStr2

EndSub

(8)A、WhilemC、Untilm>Len(Str1)/2D、Untilm

(9)A、Mid(str1,m,1)B、Mid(str1,len(str1)-m,1)

C、Mid(m,Strl,l)D、Mid(Str1,m+l,1)

(10)A、Mid(str1,len(str1)-m+1,1)

B、Mid(str1,m,1)

C、Mid(str1,len(str1)-m,1)

D、Mid(str1,len(str1)-m+1,1)

二、程序阅读题

1.

PrivateSubCommand1_Click()

n=0:

x=1:

y=0

DoWhilex<20

n=n+l

y=x+y

x=x*(x+1)

Loop

text1.Text="n="&Str(n)

Text2.Text="x="&Str(x)

Text3.Text="y="&Str(y)

EndSub

程序运行时单击Command1后,分别写出文本框Text1、text2和Text3的Text值。

2.

PublicFunctionchg(aAsInteger,bAsInteger)AsInteger

DimnAsInteger

Forn=0To2

a=a+b

Nextn

chg=a

EndFunction

PrivateSubForm_Click()

DimaAsInteger,bAsInteger,zAsInteger

a=1:

b=1

Forn=1To3

z=chg(a,b)

Form1.Print"n=";n,"z=";z

Nextn

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

3.

PrivateSubForm_Click()

Dimx(5)AsInteger

x

(1)=8:

x

(2)=3:

x(3)=1:

x(4)=6:

x(5)=4

Fori=1To4

Forj=i+1To5

Ifx(i)

x(i)=x(j):

x(j)=t

Nextj,i

Fork=1To5

Form1.Print"x(";k;")=";x(k)

Nextk

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

4.

PrivateSubForm_Click()

Dima(2,3)AsInteger

Fori=1To2

Forj=1To3

a(i,j)=2*i-j

Nextj,i

Forh=1To3

Fork=1To2

Form1.Printa(k,h),

Nextk

Print

Nexth

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

三、程序设计题

1.共用户界面如下图所示,用于实现左右两个组合框中数据的左移和右移功能。

程序开始运行时,在左边组合框中生成10个由小到大排列的随机3位正整数(假设在设计阶段该组合框的Sorted属性值已设置为True,现要求完成:

⑴、单击“>>”按钮,左边组合框中的10个数全部移到右边组合框中,并由大到小排列,同时使“<<”按钮能响应,“>>”按钮不能响应。

⑵、单击“<<”按钮,右边组合框中的10个数全部移到左边组合框中,并由小到大排列,同时使“>>”按钮能响应,“<<”按钮不能响应。

⑶、单击“结束”按钮,结束程序运行。

用户界面

部分程序代码如下:

PrivateSubForm_load()

DimiAsInteger

Label1.Caption="组合框1"

Label2.Caption="组合框2"

CmdRight.Caption=">>"

CmdRight.Enabled=True

CmdLeft.Caption="<<"

CmdLeft.Enabled=False

cmdExit.Caption="结束"

ComboLeft.Text=""

Fori=1To10

ComboLeft.AddItemInt(Rnd*900)+100

Nexti

ComboRight.Text=""

EndSub

请分别编写3个命令按钮的单击事件。

模拟题三

一、程序填空题(

1.下面是一个求n!

的自定义函数代码。

PrivateFunctionJC(nAsInteger)AsLong

DimResultAsLong

Ifp=1Then

Result=1

Else

Result=

(1)

EndIf

JC=

(2)

EndFunction

2.下面的程序完成以下功能:

单击窗体上的“测试”(Command1)按钮,出现一个输入框,要求输入一串字符,将该字符串中的非字母字符删除后,显示在窗体中的一个文本框(Text1)中。

PrivateSubCommand1_Click()

DimSt1,St2AsString

DimChAs(3)

DimLAsInteger

St1=InputBox("请输入一串字符","字符串输入")

L=(4)

St2=""

Fori=1ToL

Ch=Mid(St1,i,1)

If(Ch>"A"And(5))Or(Ch>"a"AndCh<"z")Then

St2=St2+Ch

EndIf

Nexti

Text1.Text=(6)

EndSub

3.下面的程序完成以下功能:

窗体上有两个命令按钮“产生”(Command1)和“排序”(Command2)。

单击“产生”按钮时,随机产生10个[1,20]范围内的整数放在数组A中,并在窗体上输出。

单击“排序”按钮时,用选择法排序这10个数并输出。

DimA(10)AsInteger

PrivateSubCommand1_Click()

DimiAsInteger

Randomize

Print"排序前的数列:

"

Fori=1To10

A(i)=(7)

PrintStr(A(i))+"";

Nexti

Print

EndSub

PrivateSubCommand2_Click()

Dimi,j,Min,TempAsInteger

Print

Print"选择排序后的数列:

"

Fori=1To9

Min=A(i)

Forj=(8)To10

IfA(j)

Temp=A(j)

A(j)=(9)

Min=Temp

EndIf

Nextj

A(i)=Min

(10)

Fori=1To10

PrintStr(A(i))+"";

Nexti

Print

EndSub

二、程序阅读题

1.写出下面程序执行三次后的结果。

PrivateSubForm_Click()

DimiAsInteger

StaticjAsInteger

j=j+1

i=i+1

Print"i=";Str(i),"j=";Str(j)

EndSub

  2.写出下面程序执行后的结果(其中在Form_Click()事件中调用了子过程Proc)。

PrivateSubForm_Click()

Dimx,yAsInteger

Dimu,vAsInteger

x=1

y=2

u=3

Procx,y

u=u+x+y

Print"x=";Str(x),"y=";Str(y),"u=";Str(u)

EndSub

PrivateSubProc(ByValaAsInteger,ByRefbAsInteger)

DimuAsInteger

a=a+1

b=b+1

u=u+a+b

Print"a=";Str(a),"b=";Str(b),"u=";Str(u)

EndSub

三、程序设计题

1.窗体内有二个按钮(标题各为“成绩录入”和“按总分名次查询姓名”)。

要求:

(1)单击“输入成绩”按钮时,用输入对话框提示输入学生的学号和姓名(共100名)及4门课成绩,并且要求在输入小于零的学号时,需用户重新输入。

(2)单击“按总分名次查询姓名”按钮时,先用选择法对所求总分进行排序,然后查询。

模拟题四

一、程序填空题

  1.下面是一个求自然数m,n的最大公约数gcd(m,n)的自定义函数代码。

算法:

 PrivateFunctiongcd(m,nAsInteger)Asinteger

DimResultAsinteger

Ifn=0Then

Result=m

Else

Result=

(1)

EndIf

gcd=

(2)

EndFunction

2.下面的程序完成以下功能:

在窗体中有Text1、Text2、Text3三个文本框和一个按钮(Command1),要求在Text1中输入一字符串(父串),在Text2中输入一字符串(子串),为简单起见,假设子串是连续的,要求在父串中删除子串,结果显示在Text3中比如父串为:

soshouldbefouyououdissou,子串为:

ou,结果为:

soshldbefydiss

PrivateSubCommand1_Click()

DimFstr,Sstr,SAsString

Dimi,Lf,LsAsInteger

Fstr=Text1.Text

Sstr=Text2.Text

Lf=Len(Fstr)

Ls=Len(Sstr)

S=""

i=(3)

Whilei<=Lf

IfMid(Fstr,i,(4))=SstrThen

i=i+Ls

Else

S=S+Mid(Fstr,i,1)

i=(5)

EndIf

Wend

Text3.Text=(6)

EndSub

3.下面的程序完成以下功能:

假设已经存在一个已经由小到大有序排列的数组

A(1to100)Asinteger,要求用折半查找法查找一个整数是否存在,如果存在,

在Text1中输出它的下标,否则输出“不存在”。

PrivateSubCommand1_Click()

DimLow,High,Midd,KeyAsInteger

DimFoundAsBoolean

DimSt1AsString

Low=1

High=100

Found=False

St1=InputBox("请输入要查找的关键字","关键字输入")

Key=(7)

While(Low<=High)And(8)

Midd=(Low+High)\2

SelectCaseA(Midd)

CaseIs

Low=Midd+1

CaseIs>Key

High=Midd-1

CaseKey

Found=(9)

EndSelect

Wend

IfFoundThen

Text1.Text=(10)

Else

Text1.Text="不存在"

EndIf

EndSub

二、程序阅读题

  1.分别写出下面两段程序单击Command1三次后的结果。

DimxAsInteger

PrivateSubex3()

x=x+1

Printx;

EndSub

PrivateSubCommand1_Click()

x=x+1

Callex3

Printx

EndSub

  

PrivateSubex3()

StaticxAsInteger

x=x+1

Printx;

EndSub

PrivateSubCommand1_Click()

x=x+1

Callex3

Printx

EndSub

2.写出下面程序Form_Click()事件执行后的结果

PrivateSubmartha(ByValxAsInteger,ByRefyAsInteger)

DimzAsInteger

Forz=xToy

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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