学进去-教育应平等而普惠
排序:
414道相关试题
(加试题)某次考试考生的编号、姓名和成绩保存在数据库中。现按考生人数的20%录取,由于相同分数可能有多名考生,找出最接近考生总人数20%比例的考生的成绩,作为录取分数。小吴为此编写了VB程序,程序运行时,界面如图所示:

单击“计算"按钮Commandl后,在文本框Text1中输出运行结果。实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim n As Integer       ’存储考生总人数
Dim bh (3000) As String,cj(3000) As Single   ’存储考生编号和成绩
Private Sub Form_Load( )
’本过程从数据库中读取每位考生的编号及成绩,编号存储在数组bh中,成绩存储在数组cj中,然后按成绩从高分到低分排序,并显示在列表框List1中。
’代码略
End Sub;
Private Sub Commandl_Click(     )
Dim i As Integer,j As Integer
Const bl As Single = 0.2       ’设定的录取比例20%
Dim min As Single           ’当前人数比例与设定比例差值的绝对值的最小值
min=bl
For i = 1 To n-l
If__ Then                     ’(1)
If  Abs (i/n-bl) < min Then
min = Abs (i/n-b1)
___             ’(2)
End If
End If
Next i
Textl.Text = Str(cj(j))
End Sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
二叉树是每个结点最多有两个子树的树结构,如值为9的结点有两个子树6和8,值为6的结点有两个子树5和3。若设二叉树的深度为h,则除第h层外,其它各层(1~h-1)的结点数都达到最大个数,第h层所有的结点都连续集中在最左边,这就是完全二叉树。现要构造大根堆,堆是一棵顺序存储的完全二叉树,大根堆又是一种特殊的堆,它的特征是每个双亲结点的值都不小于其孩子结点的值。如下图所示,值为9的结点是6和8的双亲结点,而6和8分别是9的左孩子和右孩子;同理,6是5和3的双亲结点,而5和3分别是6的左孩子和右孩子……

假如我们1{J数组表示上述大根堆:

现有一算法把一个无序数组改造成大根堆。例如:我们在上图的大根堆中再增加一个值为8的新元素,如下图所示。

数组存储为:

具体操作方法如下:

第一步:因为a(10)大于它的双亲结点a(5),故需交换a(10)和a(5)的值;
数组存储为:
第二步:因为a(5)大于它的双亲结点a(2),故需交换a(5)和a(2)(t)值;

数组存储为:

第3步:因为a(2)不大于它的双亲结点a(1),故无需做交换操作。此时新元素己经放到了正确的位置,新的大根堆构造完成,上移行动结束。
(1)若在第16题图中增加值为4的新元素,则元素4将被存储在数组元素_________中。
(2)小段为此编制一VB程序:在文本框Tcxt1中输入结点个数n,单击命令按钮Command1,随机产生n个[1,99]的整数作为结点值,并由此构造大根堆,结果显示在列表框List1中,程序运行界面如图所示。

实现上述功能的程序代码如下。请在划线处填入合适的代码。
①_________________ 
②__________________
③__________________
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
给定一个数组(有n个元素),小李通过边分段、边合并的方式将n个数据处理成一个非降序数据段(a(1)≤a(2)≤a(3)≤……≤a(n)),每一轮数据处理方法如下:
(1)查找相邻两个非降序数据段
在未处理的数据区域中,从前往后找出第一个最长非降序数据段。若该数据段后而没有元素,则本轮处理完毕;否则在第1个数据段的后面,从前往后找出数组中第二个最长非降序数据段。
(2)合并两个数据段
借助数组tmp,将查找到的两个相邻数据段合并成一个非降序数据段,然后将合并后的数据依次存回到原数组中。
(3)若数组中还有未处理的数据,则重复(1)(2)步骤。
每一轮数据处理完毕后,重新从数组第1个数据开始进行下一轮处理。若检测到某一轮没有合并处理,则说明n个数据己构成非降序数据段,数据处理结束。

(1)根据上述描述,若数组各元素为“3,9,7,6,8,2,1,5,7,4”,则第一轮合并处理完成后,数组中的数据依次是:                                 (用“,”间隔)。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
小王基于选择排序算法编写了一个VB程序,功能如下:读取若干数据依次存储在数组a中,并将数据分段排序,每段数据的元素个数及排序的次序要求依次存储在数组b中。如图,在文本框Text1中显示数组a的原始数据,在文本框Text2中显示每段数据的元素个数及排序次序要求(0表示升序、1表示降序);单击“排序”按钮Command1,根据要求输出对每段数据进行排序的结果。实现上述功能的VB程序如下:

(1)观察代码,排序后的数据输出在           对象中(填对象名)。
(2)程序中加框处代码有错,请改正。
(3)为了实现上述功能,请在划线处填写合适的代码。
(4)若程序运行时,读取了100个整数存储到数组a中,数组b各元素的值依次为“30,1,20,0,40,0,10,1”,则程序运行到(4)处代码时,endpos的值为          
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
小王使用Excel软件对学校某次考试信息技术成绩的数据进行处理,如图所示。请回答下列问题:

(1)表中“满分人数”数据是用函数COUNTIF计算得到的:选择E291单元格输入公式,然后利用自动填充功能完成F291:S291单元格的计算。则E291单元格中的公式为________。(提示:COUNTIF函数用于统计某个区域满足条件的单元格个数。例如:=COUNTIF(B4:B20,B4)表示在数据区域B4:B20中统计数值等于B4的单元格个数。)
(2)根据图a中数据制作的图表如图b所示,创建图表的数据区域为____________。
(3)分析图表(图b),本次考试信息技术选择题正确率最低的知识点为______________。

(4)小王想找出信息技术成绩总分前20%,且填空题成绩后30%的同学,下列方法可行的是
__________________(单选,填字母)。
A.以“总分”为主要关键字降序、“填空题”为次要关键字升序,进行排序
B.分别对“总分”和“填空题”按最大的20%和最小的30%进行筛选
C.以“总分”为关键字进行降序排序,再对“填空题”按最小的30%进行筛选
D.以“填空题”为关键字进行升序排序,再对“总分”按最大的20%进行筛选
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
Access中的一张数据表设计视图如图所示。下列说法正确的是( )
A.在“上车站”与“发车时间”之间无法插入新字段
B.该表共有6条记录,表名为“车次信息”
C.在当前视图中可以对记录进行添加、删除和修改
D.“2019-11-61  3:10:00”可以是“发车时间”字段的有效输入值
类型:选择题
难度系数:困难0.15
收藏
纠错
详情
某程序功能如下:单击“输出”按钮 Command1,在列表框 List1 中按序输出{a,b,c,d}的所有子集。程序运行结果如图所示。实现上述功能的 VB 程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()
Dim s As String, p As String, d(1 To 100) As String, temp As String
Dim i As Integer, j As Integer, t As Integer
s = "abcd"
k = 0
For i = 0 To 15
t = i: p = ""
For j = 1 To 4
If t Mod 2 = 1 Then p = p & Mid(s, j, 1)
1      
Next j
k = k + 1
d(k) = p
Next i
For i = 1 To k - 1
t = i
For j = i + 1 To k
If 2  Then
t = j
End If
Next j
If t <> i Then
temp = d(t): d(t) = d(i):     3     
End If
Next i
For i = 1 To k
p = "{"
For j = 1 To Len(d(i))
4    
If j <> Len(d(i)) Then
p = p & ","
Next j
p = p & "}" List1.AddItem p
Next i
End Sub
(1)____________
(2)____________
(3)____________
(4)____________
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
幻方是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。n阶幻方是由1~n2之间的自然数组成的一个n阶方阵,其各行、各列及对角线所含的数字之和均相等。例如3阶幻方(如图1),幻和为15。

奇数阶幻方的构造是所有幻方中最简单的,可以按照如下规则来实现:
(1)将1放在第一行中间一列;(如图2)
(2)从2开始直到n*n为止,各数按下列规则存放:
假设当前要存放的数为k,则k存放在(k-1)数的右上方并按照规则:
①若(k-1)放在第1行且不是最后一列,则将k存放在n行,(k-1)所在列右侧;(如图3)
②若(k-1)放在第n列且不是第一行,则将k存放在第1列,(k-1)的上1行;(如图4)
③若(k-1)即不在第1行也不在最后1列:
若(k-1)右上方有数,则将k放在(k-1)的下1行的同一列。(如图5)
若(k-1)右上方没有数,则将k放在(k-1)的右上方;(如图6)
④若(k-1)在第1行第n列,将k填在(k-1)的正T方(如图7)

问题1.用右图的程序生成5阶幻方后,Listl中的第一行显示的是__________。
问题2.30阶以内的幻方程序如下图,代码如下,请完成代码填空:
① __________________________________ 
②__________________________________ 
③__________________________________ 
④ __________________________________ 
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
有如下VB程序段:

若数组b中的值依次为“5,10,7,20,30,40,40,60,55,70”,则程序运行后Text1中的内容是
A.43B.42C.41D.40
类型:选择题
难度系数:困难0.15
收藏
纠错
详情
(加试题)给定 n(n 小于 1000) 个整数, 整数的范围在 0 到m 之间, 请使用“对分法”思想求出这 n 个整数的中位数( 所谓中位数, 是指将这 n 个数排序之后 , 排在正中间的数)。
小丫编写了一个求中位数的VB 程序,功能如下:单击“求中位数”按钮Command1,程序根据输入的n 和m,随机产生n 个在[0,m] 范围内的数。程序运行界面如下所示:

实现上述功能的VB 程序如下:
Dim x(1 To 1000) As Long
Private Sub Command1_Click()
 Dim n As Integer, i As Integer, rbound As Integer, mid As Integer
Dim m As Integer, count As Integer
n = Val(Text1.Text)
m = Val(Text2.Text)
List1.Clear
 Randomize
For i = 1 To n
  x(i) =Int(Rnd * (m + 1)) ' 产生[0,m] 的随机数
  List1.AddItem x(i)
Next i
  lb = 0
  rb = m
 Do While lb <rb
  mid = (lb + rb) \ 2
    ① 
  For i = 1 To n
   If ② Then
    count = count + 1
   End If
  Next i
  If count > n \ 2 Then
   lb = mid + 1
  Else
   ③ 
  End If
 Loop
 Text3. text = str(rb)
End Sub
程序要实现该功能,画线处应填入的代码为:
①____________
②____________
③____________
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
首页
上一页
下一页
尾页