题目

班级里有48名学生,按6行8列安排座位,每2列为一组,共4组,矮的在前,高的在后。班级里每周都进行位置轮换,轮换规则如下:第一组同学换到第二组,第二组同学换到第三组,第三组同学换到第四组,第四组同学换到第一组, 并且同桌之间互换位置。为了方便学生在座位轮换的时候快速找到自己的新座位,设计了如下VB程序:窗体加载时,从数据库中读取班级学生数据,并按身高从小到大排序后,以6行8列的形式显示在列表框List1中:单击命令按钮Comand1后,在列表框list2中显示进行次轮换后的座位表。 程序运行界面如下: 实现上述功能的VB程序如下,请回答下列问题: (1) “换座位”按钮的对象名为: (2) 请在划线处填入合适的代码,完成上述算法。 Dim xn(1 To 50) As String, sg(1 To 50) As Integer Dim n as integer, i as integer, j as integer, ch as string, t1 8s string, t2 as integer Private sub form_load( )    ‘把数据表中姓名和身高分别存储到数组xm( )和sg( ),代码略     ‘按身高从低到高对学生数据进行排序,代码略     List1.Clear     List1.AddItem“第一组”+“第二组”+“第三组”+“第四组”     List1.AddItem     “------------------------------------------------------------”     ‘将排序好的学生姓名按6行8列的格式输出在列表框list1中     For i=1 To n         ch=ch+xm(i)+””         If i Mod2=0 Then ch=ch+””         If  Then             List1.Addltem ch             ch=””         End If     Next i End Sub Private Sub Com1_Click( )     Dim a(1 To 50) As String, b(1 To 50) As String     Dim st As String     ‘下面进行组与组之间的调换,调换后的数据保存在数组a中     For i =1 To 6         For j=1 To 8             a((-1)*8+j)=         Next j     Next i     ‘下面进行同桌之间互换位置,互换后的数据保存在数组b中     For i=1 To 6         For j=1 To 8             If j Mod2=1 Then                 b((-1)*8+j)=             Else                 b((i-1)*8+j)=a((-1)*8+j-1)             End If         Next j     Next i     ‘在列表框List2中输出轮换后的结果,代码略     ‘下面进行数据重新赋值,为下一次轮换做准备     For i=1 To 48         xm(i)单b(i)     Next i End Sub 答案: 【1】Com1 【1】i mod 8=0或其他等价答案【2】xm ((i-1)* 8+(6+j-1) mod 8 + 1)或其他等价答案【3】a((i - 1) * 8 + j + 1) 或其他等价答案
信息技术 试题推荐
最近更新