题库 高中信息

题干

分析解决问题。
有一张单据,编号为四位数,号码为:8□□0.中间两位被污浊看不出来。已知该单据能被23和37整除,请用编程求出该单据号码。
(算法设计)
设百位数字为x,十位数字为y;x和y的范围都是0到9。
4位数:8xy0=8*1000+x*100+y*10
列举()()里的两个数字的所有可能情况:
00,01,02,03,04,05,06,07,08,09
10,11,12,13,14,15,16,17,18,19
……
90,91,92,93,94,95,96,97,98,99
逐一判断找出符合条件的数字。
(参考代码)
Dim  x  as long
Dim  y  as long
Dim  n  as long
For x=0  to  9
For y=0  to  9
n=8*1000+x*100+y*10
If   then
Print n
End if
Next y
Next x
根据上述回答下列问题
(1)解决该问题采用的算法是:___________(填:解析法/穷举法/排序法/递归法)
(2)根据题意,程序中空白处应填写:______(填写字母:A/B/C/D)
A.n mod 23 =0 or n mod 37 =0
B.n\23=0 and n\37=0
C.n\23=0 or n\37=0
D.n mod 23 =0 and n mod 37 =0
(3)根据算法设计,参考程序中循环体中的语句“n=s*1000+x*100+y*10”,一共重复执行了_________次。
上一题 下一题 0.99难度 None 更新时间:2020-03-16 09:46:15

答案(点此获取答案解析)

同类题3

(加试题)计算机的基本功能是计算,信息加工处理本质上都是通过计算完成的。现有一图像模糊处理的算法,以10*10像素图像的模糊处理为例,具体算法如下:
(1)各像素点的颜色信息值(介于0至255之间的一个正整数),存储至数组a中。
(2)给定模糊处理的模糊中心位置p和模糊半径r(r>1),中心位置p即为半径为1的区域,
①确定模糊中心点在如下数阵中的位置。若模糊中心为36时,该模糊中心在数阵中对应位置为第4行第6列;

②根据中心点和模糊半径确定模糊处理的像素点的范围。
(3)依序将模糊处理范围内的像素点进行模糊处理。模糊处理的方式为:最外侧的像素点颜色信息不变,中间各像素点的新颜色信息值为该像素点上下左右相邻四个像素点颜色信息值的平均值。
程序运行时,在文本框Text1中输入模糊的中心点p,在文本框Text2中输入模糊的半径r,窗体加载,通过列表框List1输出图像模糊处理前的信息,单击命令按钮Command1后通过列表框List2输出模糊后的图像信息。程序运行效果如图2所示。相应的模糊中心位置由椭圆圈注,中间各像素点由矩形框圈注

实现上述功能的VB程序如下。请回答下列问题:
(1)若以a(48)为模糊中心,布置成如第17题图1所示数阵后模糊中心处于数阵的第________行。
(2)请在划线处填入合适的代码。
Const n = 10
Dim a(1 To n * n) As Integer  '介于0至255之间的值,存储10*10图像像素点的颜色信息
Private Sub Form_Load()
'读取100个正整数,存储在数组a中以表示10*10图片的像素点颜色信息,代码略。
'并按右对齐方式将该图片的各像素点颜色信息输出至列表框List1中,代码略。
End Sub
Private Sub Command1_Click()
Dim r As Integer, p As Integer
Dim i As Integer, j As Integer, k As Integer
p = Val(Text1.Text) :r = Val(Text2.Text)
①________
i = 1
Do While j > n
j = j - n
i = i + 1
Loop
'确定模糊处理的范围,处理范围的起始行,结束行,起始列,结束列保存到i1,i2,j1,j2中,代码略
For i = i1+1 To i2-1    '中间像素点的模糊处理
For j = j1+1 To j2-1
②________
a(k) = ave(k)
Next j
Next i
'并按右对齐方式将该图片的各像素点颜色信息输出至列表框List2中,代码略。
End Sub
Function ave(k As Integer) As Integer
ave = ③________
End Function

同类题4

在数组a中按顺序找出一组升序子序列,可以不连续,但要求长度最长。例如:数组a的值分别为2,11,4,13,5,7。升序子序列分别有2,11、2,4、2,11,13、2,4,13、2,4,5、
2,4,5,7、11,13、4,13、4,5、4,5,7、5,7,其中最长升序子序列的数据是2,4,5,7。

算法思路如下:

(1)求以a(i)为结尾元素的最长升序子序列时,找到所有序号j(j=1,2……i-1),且a(j)<a(i)。

如果这样的元素存在,且d(j)>=d(i)(d(i)记录i位置的最长升序子序列长度),那么就增加i位置的最长升序子序列长度,并记录该升序子序列倒数第二个位置。

(2)在d数组中找出最大值,即最长升序子序列长度。

(3)例如,2、11、4、13、5、7,d(1)=1,d(2)=2,d(3)=2,d(4)=3,d(5)=3,d(6)=4,所以最长升序子序列长度为4,是以a(6)为结尾元素。

现设计了如下VB程序,界面如图所示,请回答下列问题:


(1)观察上图,最长升序子序列的数据是____________________________。
(2)请在划线处填入合适的代码。
Const n = 9
Dim a(1 To n) As Integer
Private Sub Form_Load()

‘生成n个1,10范围的随机数,存储在a数组,并显示在列表框List1。代码略

End Sub
Private Sub Command1_Click()
Dim d(1 To n) As Integer ‘记录i位置的最长升序子序列长度
Dim pre(1 To n) As Integer ‘记录i结尾的最长升序子序列前一数据的位置
Dim st As String,i As Integer,k As Integer,maxlen As Integer
For i = 1 To n

d(i) = 1

Next i
For i = 2 To n

For j = 1 To i-1

If a(j) < a(i) And d(j) >= d(i) Then
d(i) = ___________ 
pre(i) = j
End If

Next j

Next i
maxlen = 0:k = 0
For i = 1 To n

If ___________ Then maxlen = d(i):k = i

Next i
Do While k <> 0

st = a(k) & "," & st

_____________

Loop
Text1. Text = Mid(st,1,Len(st)-1)
End Sub