题库 高中信息

题干

某算法的流程图如下所示:

下列说法错误的是(   )
A.该流程图中包含的算法模式有:顺序模式、分支模式和循环模式
B.当输入x的值为-100时,输出的n的值为1
C.只要输入的x的值不小于0,该程序就不会结束
D.当输入 x的值依次为1、2、3、-1时,输出的结果为4
上一题 下一题 0.99难度 选择题 更新时间:2016-01-26 05:11:12

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

同类题1

王老师采用星级制对本班学生的平时表现进行评价,每位同学的评分数据储存在数据库中。学生的得分和星级对照如下表:
成绩
1-20
21-40
41-60
61-80
81-100
星级
一星
二星
三星
四星
五星
 
要求依据上表统计出各星级学生人数占总人数的比例。小王编写了一个VB程序实现该功能:程序运行时,每位学生的得分存储到数组a中,并在列表框listl中显示,单击命令按钮后,在列表框list2中显示各星级的人数占总人数的百分比例。程序运行界面如图所示:

(1)观察代码,实现统计功能的按钮对象名为:_______。
(2)当前读取的数据表名为:_________________
(3)实现上述功能的VB代码如下,划线①、②处请填空。
Const n = 50
Dim a(1 To n) As Integer
Dim b(0 To 4) As Integer
Private Sub Form_Load( )
Dim adocn  As New ADODB. Connection
Dim adors As New AD0DB. Recordset
Dim strl,str2 As String
adocn. ConnectionString =”provider= microsoft. ace. oledb.12.0;data source=” +
App. Path + ”\school. accdb”
adocn.Open
str2 = ”select * from student”
adors.0pen str2,adocn
’以下将每个学生的得分读入组数a中,并在列表框list1中显示,代码略
End Sub
Private Sub Coml_Click()
Dim dd As String
Dim cou As Single
Dim t as integer
dd=“一星二星三星四星五星”
For i = 1 To n
t=______________________
b(t)=b(t)+1
Next i
For i = 0 To 4
cou = Int(b(i)/n * 100 + 0.5)
1ist2. AddItem,_______________+ Str(cou) + “%”
Next i
End Sub

同类题3

给定一个数组a,有n个元素(1≤n≤100),有以下两种操作:
操作1:在文本框中分别输入L、R、T(1≤L≤R≤n),对数组下标为L到R之内(包含L和R)的每个元素增加T(1≤T≤100)
操作2:在文本框中输入K(1≤K≤n),在标签中输出a(K)的值。
为了提高算法的效率,小明设计了如下算法,以n=10为例,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
l0
元素的值
7
l2
3
6
7
1l
8
24
9
5
 
①将n个元素依次分成段(表示对石向下取整,每段的元素个数为,若最后有不足个元素,则自成一段。给每段设置一个标记,初始值都为0,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
10
元素的值
7
12
3
6
7
1l
8
24
9
5
段编号
第l段
第2段
第3段
第4段
段标记值
0
0
0
0
 
②对于操作1,输入的L、R属于同一段,则直接对a(L to R)的每个元素加上T。如输入4,6,3,则第2段中的每个数加上3,操作后如下表所示。
数组下标
1
2
3
4
5
6
7
8
9
10
元素的值
7
l2
3
9
10
14
8
24
9
5
段编号
第1段
第2段
第3段
第4段
段标记值
0
0
0
0
 
③对于操作1,若输入的L,R不属于同一段,则对元素a(L)所在段中从a(L)开始到该段最后一个元素为止的每个元素加上T,并对元素a(R)所在段中从该段第一个元素开始到a(R)为止的每个元素加上T,对a(L)元素所在段的下一段开始到a(R)元素所在段的前一段为止的每个段标记值增加T,这些段中的元素保持不变。如在上表的其础上再输入1,8,2,则第1段的3个数和第3段中的前2个数都加上2,第2段的段标记位增加2,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
l0
元素的值
9
14
5
9
l0
l‘l
10
26
9
5
段编号
第1段
第2段
第3段
第4段
段标记位
0
2
0
0
 
④对于操作2,若输入K的值为5,则输出a(5)的值,a(5)的值为该数组元素的值+段标记值,即a(5)=12。程序运行界面如下。请回答下列问题:
(1)若数组元素为“3,2,6,8,7,9,3,4,7,9,6”,依次进行以下3次操作后第3段的标记值为__________

操作1:依次输入1,11,1
操作1:依次输入7,9,2
操作2:输入8
(2)请在划线处填入合适的代码。
Const n = 10
Dim a(1 To n) As Integer
Dim f(1 T on) As Integer 'f数组元素依次表示每段的标记值
Dim bk As Integer     'bk表示每段的元素个数
Function BL(x As Integer) As Integer 'BL函数返回数组元素a(x)的段编号
BL=________________
End Function
Private Sub Form_Load()
’读取数据,并存储到数组a中,代码略
bk=Int(Sgr(n))
End Sub
Private Sub Command1_Click()
Dim L As Integer,R As Integer,T As Integer,i As Integer
L=Val(Text1.Text):R=Val(Text2.Text):T=Val(Text3.Text)
If BL(L)=BL(R) Then

For i=L To R

a(i)=a(i)+T
Next i

EIse

For i=______________
a(i)= a(i)+T
Next i
For i=BL(L)+1 To BL(R)-1
f(i)= f(i)+T
Next i
For i=(BL(R)-1)* bk+1 To R
a(i)= a(i) +T
Next i

End If

End Sub
Private Sub Command2_Click()
Dim K As Integer
K=Val(Text4.Text)
Labe.15.Caption="经过一系列操作后.a("+Str(K)+ ")的值为:"+___________
End Sub

同类题5

(加试题)四宫数独规则:在4×4的格子中,根据已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个宫(粗线框区域)内均含1到4的数字并且不重复,每道数独有且仅有唯一答案。
例如,根据规则推理图1数独,在第一宫中4个格子已经3个格子分别是数字1到3,缺的数字为4,因此第一行第一格空缺的数字填4,以此类推,直至将所有格子都推理出来。
 

 

图1
图2
 
(1)根据上述规则推理,数独(图2)第一行A处应是数字______。

(2)小明编写了四宫数独推算的VB程序,单击“推算”按钮 Command1后,在列表框List1中输出数独推算过程和结果,如第17题-3题图所示。实现推算的VB程序如下,请在划线处填入合适的代码。
Dim d(1 To 16) As Integer    '数组d逐行存储四宫数独

Private Sub Command1_Click()

Dim i As Integer,flag As Boolean

For i = 1 To 16

d(i) =0    ‘值0表示该位置还未填数字

Next i

‘初始化数独中已知位置的数字

d(2) =4:d(11) =3:d(14) =2:d(16) =4

List1.Clear

'在列表框Li1中输出四宫数独,代码略

flag = False

Do While Not flag

__________
For i = 1 To 16
‘函数check(i)实现对第i位置进行推算
If d(i) = 0 Then
d(i) = check(i)
If d(i) >0 Then
flag = False
'Forniat(i,"00")函数实现将变量i的值按2个字符宽度输出
List1.Addltem"第"& Format(i,”00” & "位置填” & d(i)
End If
End If
Next i
Loop
'在列表框Lil中输出四宫数独,代码略
End Sub
根据每一行、第一列、每一个宫的已有数字进行推算
Function check(x As Integer) As Integer

Dim t(0 To 4) As Integer,m As Integer

Dim row As Integer,col As Integer,n As Integer,k As Integer

For m=0 To 4

t(m) =0

Next m

'对当前所在行列进行推算

row = (x-l)\4+l

col = ( x - l) Mod 4 + l

For m= 1 To 4

t(d( row - l) *4+m) = l
t(_______)=1

Next m

'进行宫内推算

If row < =2 And col <= 2 Then t(d(7 -x) ) = l
If row< = 2 And col > 2 Then t(d(ll - x) = l
If row > 2 And col < = 2 Then t(d(23-x) = l
If row > 2 And col > 2 Then t(d(27-x) = l
k =0

For m= l To 4

If t (m) = 0 Then n = m Else k = k + l

Next m

If _______ Then check = n Else check = 0

End Function