程序设计题目Word格式文档下载.docx

上传人:b****3 文档编号:17562935 上传时间:2022-12-07 格式:DOCX 页数:26 大小:446.80KB
下载 相关 举报
程序设计题目Word格式文档下载.docx_第1页
第1页 / 共26页
程序设计题目Word格式文档下载.docx_第2页
第2页 / 共26页
程序设计题目Word格式文档下载.docx_第3页
第3页 / 共26页
程序设计题目Word格式文档下载.docx_第4页
第4页 / 共26页
程序设计题目Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

程序设计题目Word格式文档下载.docx

《程序设计题目Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《程序设计题目Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

程序设计题目Word格式文档下载.docx

Nexti

_____=str(s)

EndSub

问:

(1)为了计算上述表达式的值,上面程序段划线处应填入_________。

(2)该程序段运行后,a(5)的值是____________。

用辗转相除法求最大公约数。

已知用辗转相除法求两个正整数m、n的最大公约数的算法如下:

(用num1,num2,r分别表示被除数m、除数n和余数)

①求num1/num2的余数r;

②若r=0,则执行第⑤步;

③将num2的值放在num1中,将r的值放在num2中;

④重新执行第①步;

⑤输出最大公约数num2。

下列VisualBasic程序用于求三个正整数的最大公约数。

程序界面如图所示,在文本框Text1、Text2和Text3中分别输入三个数a、b和c,单击“求最大公约数”按钮(Command1)后,在文本框Text4中输出a、b、c的最大公约数y。

Functiontemp(num1asInteger,num2asInteger)asInteger

DimrasInteger'

此函数用于计算两个正整数的最大公约数

r=num1Modnum2

DoWhile②

num1=num2

num2=r

r=num1Modnum2

Loop

temp=num2

EndFunction

DimaasInteger,basInteger,casInteger,xasInteger,yasInteger

a=Val(Text1.Text)

b=Val(Text2.Text)

c=Val(Text3.Text)

x=  ③

y=temp(x,c)

Text4.Text=Str(y)

(1)解决此问题的算法是①。

(选填:

解析法或枚举法)

(2)在程序划线处,填入适当的语句或表达式,把程序补充完整:

程序中②划线处应填入___________________。

程序中③划线处应填入___________________。

m=-5

n=-2

s=m+Int(n)

该程序段运行后,变量s的值为____________。

a=10

b=8

morning"

Label1.Caption="

byebye"

s=0

Fori=1To10Step2

a=a+i

s=a*i

Nexti

该程序段运行后,

(1)变量i的值是____________。

(2)变量s的值是___________。

某超市打折促销,规定如下:

①购物未超过500元按原价支付;

②购物超过500元但未超过1000元,超过500元部分按9折优惠计价;

③购物超过1000元但未超过1500元,超过1000元部分按8折优惠计价;

④购物超过1500元但未超过3000元,超过1500元部分按7折优惠计价;

⑤购物超过3000元,超过3000元部分按6折优惠计价。

根据以上规定,假定购物货款为x元,则实付金额y为:

xx≤500

500+(x-500)*0.9500<x≤1000

y=500+500*0.9+(x-1000)*0.81000<x≤1500

500+500*0.9+500*0.8+(x-1500)*0.71500<x≤3000

500+500*0.9+500*0.8+1500*0.7+(x-3000)*0.6X>3000

程序界面如图所示,在“输入购物金额(单位:

元)”后的文本框orgtext中输入购物金额(单位:

元),单击“实付金额计算”按钮(Command1)后,在“实际支付金额(单位:

元)为”后的文本框cashText中输出实付金额。

解决此问题相应的VisualBasic程序如下:

DimxAsSingle,yAsSingle

x=Val(orgtext.Text)

Ifx<

=500Then

y=x

ElseIf②Then

y=500+(x-500)*0.9

ElseIfx<

=1500Then

y=500+500*0.9+(x-1000)*0.8

=3000Then

y=500+500*0.9+500*0.8+(x-1500)*0.7

y=500+500*0.9+500*0.8+1500*0.7+(x-3000)*0.6

EndIf

(1)解决此问题的算法是①。

(选填:

解析法或枚举法)

(2)在程序划线处,填入适当的语句或表达式,把程序补充完整。

程序中②划线处应填入___________________。

程序中③划线处应填入___________________。

m="

sch"

n=Mid("

tools"

2,3)

s=m+n

该程序段运行后,变量s的值为__________。

a=3:

b=4:

c=5

bAndb>

cThen

happy"

better"

DimiAsInteger,sAsInteger

i=1:

a=5

DoWhilei<

=100

s=s+a*i

i=i*5

(2)变量s的值为____________。

要求从某一字符串中删除指定的字符(假设所含的英文字母均为小写字母),并将处理后的字符串重新输出。

程序界面如图所示,在文本框Text_1中输入原始字符串,在文本框Text_2中输入需要删除的字符,单击“删除此字符”按钮(Command1)后,在文本框Text_3中输出处理后的结果。

解决此问题的算法流程图如图所示,相应的VisualBasic程序如下:

DimpAsString,kAsString

DimsAsInteger,resultAsString,flagAsBoolean

result="

"

p=Text_1.Text

k=Text_2.Text

Fors=1ToLen(p)

flag=f(s)

IfNotflagThen

result=result+②

Nexts

Functionf(sAsInteger)AsBoolean

IfMid(p,s,1)=kThenf=True

(1)解决此问题的算法是①。

顺序查找或对分查找)

a=-1:

b=2

c=3Modb

b=b+c

该程序段运行后,变量b的值为______。

a=13:

b=24:

bOrb>

monday"

tiger"

s=10

Fori=1To20Step3

s=s+i

Forj=1To3

s=s*j

Nextj

问:

(1)语句“s=s*j”执行的次数为_________。

(2)变量s的值为。

某协会进行钓鱼比赛,最后有十人进入决赛,录入员编制了如下VisualBasic程序,功能是根据成绩进行排序,程序中数组a保存所有参赛者的成绩,数组b保存此成绩对应的姓名,第i位参赛者的成绩保存在a(i)中,姓名保存在b(i)中。

程序界面如图所示,左边列表框List1中显示原始数据(成绩和相应的姓名),单击“排序”按钮(Command1),排序后的结果按成绩从高到低显示在列表框List2中。

解决此问题的算法流程图如图所示,排序部分的程序段如下:

Dima(1To10)AsSingle

Dimb(1To10)AsString

DimiAsInteger,jAsInteger,kAsInteger,xAsSingle,yAsString

Fori=1To9

k=i

Forj=i+1To10

If②Thenk=j

Nextj

Ifk<

>

iThen

x=a(i):

a(i)=a(k):

y=b(i):

b(i)=b(k):

b(k)=y

Fori=1To10

List2.AddItemStr(a(i))+"

"

+b(i)

PrivateSubForm_Load()

'

此过程用于对数组a和数组b进行初始赋值,代码略

(1)解决此问题的算法是①。

冒泡排序或选择排序)

s="

expression"

a=25

b=a+Len(s)

该程序段运行后,变量b的值为____________。

a=1:

b=2:

c=5

bAnda>

c=a+b

c=a+5

Label1.Caption=Str(c)

该程序段运行后,在标签Label1上显示的是____________。

已知某数列前二项分别为:

a1=1、a2=2,以后每项都满足:

ai=ai-1+ai-2 

(i>

2)

Dima(1To20)AsInteger

a

(1)=1:

a

(2)=2

Fori=3To_______

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

(1)数组a存储该数列的前20项,上面程序段划线处应填入_________。

(2)该程序段运行后,a(6)的值为____________。

王敏的E-Mail邮箱密码忘记了,但她需要收一封很重要的来信,请你帮她尽可能找出密码。

她零星记得自己密码信息:

①密码是六位数字,前面两位为31;

②最后两位数字相同;

③能被16和46整除。

程序界面如图所示,单击“帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。

解决此问题的相应程序如下:

DimaAsInteger,sAslong,bAsInteger,iAsInteger

Fori=0To9999②

s=310000+i

IfsMod46=0Then

b=(sMod100)\10

Ifa=bThen

List1.AddItemStr(s)

枚举算法或排序算法)

a=15

b=Val("

256"

a=a*2+b

该程序段运行后,变量a的值为____________。

a=Mid("

Pleaseinput"

4,2)

b="

Please"

IfLen(a)<

Len(b)Then

标准"

不合格"

a1=1,a2=2,以后每项都满足:

ai=ai-1+ai-2(i>

Fori=3To20

a(i)=+a(i-2)

(1)如果用数组a存储该数列的前20项,程序段划线处应填入_________。

(2)该程序段运行后,a(4)的值为____________。

小明设计了某单位的公积金查询系统,输入职工的公积金账号,可以查出该账号对应的余额。

所有职工的公积金账号和相应的余额已分别保存在数组a(按从小到大排序)和数组b中,第i个职工的账号保存在a(i)中,对应的账号余额保存在b(i)中。

程序界面如图所示,左边列表框List1中显示的是部分职工的账号和余额,在文本框Text1中输入职工的公积金账号,单击“查询余额”按钮(Command1)后,如果找到此账号,则在标签Label2中显示“此账号余额为”和账号对应的余额值,如果未找到则显示“找不到此账号,请重新输入”。

解决此问题的算法流程图如图所示,相应的查找部分程序段如下:

Dima(1Ton)AsLong

Dimb(1Ton)AsSingle

DimxAsLong,iAsLong,jAsLong,mAsLong,fAsBoolean

x=Val(Text1.Text)

j=n:

f=False'

设账号总数为n

DoWhile(i<

=j)AndNotf

Ifx=a(m)Then

f=True

a(m)Then

j=m-1

Else

 ③ 

Loop

IffThen

Label2.Caption="

此账号余额为"

+Str(b(m))+"

元"

找不到此账号,请重新输入"

(1)解决此问题的算法是①。

对分查找或顺序查找)

(2)在程序划线处填入适当的语句或表达式,将程序补充完整:

a=210

b=-19

b=a+a\5

该程序段运行后,变量b的值为____________。

a=11

VisualBasic"

计算机基础"

课外活动"

s=150:

i=1

DoWhiles>

100

s=s-i+1

i=i+20

(2)变量s的值为___________。

陈晓峰和同学们去农科院开展研究性学习,大家都收获很大,晓峰设计了一个VisualBasic程序,他把同学们收集到的水稻亩产量和同学姓名已分别保存在数组a和数组b中,第i个同学收集的亩产量保存在a(i)中,对应的同学姓名保存在b(i)中,最后按亩产量从高到低进行排序。

程序界面如图所示,左边列表框List1中显示的是所有同学收集到的原始数据,单击“排序”按钮(Command1)后,在右边的列表框List2中显示排序完成后的结果(按亩产量从高到低排列)。

解决此问题的算法流程图如图所示,相应的排序部分程序如下:

Dima(1Ton)AsSingle

Dimb(1Ton)AsString

DimiAsInteger,jAsInteger,cAsSingle,tAsString

Fori=1Ton'

设共有n名同学

Forj=nToi+1  ②  

If  ③ Then

c=a(j-1)

a(j-1)=a(j)

a(j)=c

t=b(j-1)

b(j-1)=b(j)

b(j)=t

Fori=1Ton

选择排序或冒泡排序)

a=29:

b=6

a=aModb

b=a+Len("

Input"

x=2010

s=10

Ifx<

2012Thens=s+x

Label1.Caption=Str(s)

i=5

=50

s=s+i:

i=i*2

(1)语句“s=s+i”执行的次数为____________。

数制转换。

将一个K进制(k<

=10)数x转换成十进制数可采用如下方法:

主要方法是从右向左,依次取数x的各位数字,分别计算出该数从右边数起的第i位数字与k(i-1)的积,再将其累加,直到所有的数字取完为止。

例如,将五进制数1231转换成十进制数的方法如下:

下列VisualBasic程序的功能是将K进制(k<

=10)数x转换成十进制数。

界面如图所示,在文本框Text1中输入数制k,在文本框Text2中输入数x,单击“转换”按钮(Command1)后,在标签Label4中输出转换的结果。

解决此问题的算法流程图如图所示,相应的V

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

当前位置:首页 > 工作范文 > 制度规范

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

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