C志愿者的DNA序列为“ce”,志愿者的DNA序列长度不够,无法比对,结果为“无效”。 按上述要求,编写一个VB程序,功能如下:程序运行时从数据库中读取志愿者的检测号、
DNA序列存入相应数组,在文本框Text1中输入抗体DNA序列,单击“检测结果”按钮Command11,在列表框List1中按检测号顺序显示每个志愿者的检测结果,并在标签Label1显示疫苗抗体的阳性率(以百分比表示,并保留2位小数),程序运行界面如图所示,请在划线处填入合适的代码。 Dim Pnum(1 To 100) As String ’Pnum数组存储志愿者的检测编号 Dim Pch(1 To 100) As String ’Pch数组存储志愿者的DNA序列 Dim Prs(1 To 100) As String 'Prs数组存储志愿者的检测结果 Dim n As Integer ’存储志愿者的总人数 Private Sub Form_ Load () Dim i As Integer, j As Integer Dim tmp As String, chtmp As String Dim Conn As New ADODB.Connection Dim Rs As New ADODB.Recordset
Conn.ConnectionString = \。 ACE.OLEDB.12. 0;Data Source=\App.Path+\.accdb\
Conn.Open
Set Rs.ActiveConnection = Conn
Rs.Open \从数据库的名为 “Source”数据表中读取数据 i =0
Do While Not Rs. EOF i=i+1
Pnum(i) = Rs.Fields(0) Pch(i) = Rs.Fields(1) Rs.MoveNext Loop Rs.Close Conn.Close n= ①
For i=1 To n-1 ’以检测号作为关键字对DNA序列数据进行升序排列 j=i+1
Do While j <= n If ② Then
chtmp = Pch(i):Pch(i)= Pch(j):Pch(j)= chtmp tmp = Pnum(i):Pnum(i)= Pnum(j):Pnum(j)= tmp End If j=j+1 Loop Next i End Sub
Private Sub Command1_ Click ()
Dim Ach As String,RVch As String,Vch As String
Dim i As Integer,j As Integer,k As Integer,m As Integer Ach = Text1. Text: s = Len(Ach): RVch = Ach + Ach k=0:m=0 For i=1 To n
If Len(Pch(i)) <= Len (Ach) Then k =k+ 1: Prs(i) = \无效” Else
For j=1 To s ’按环状序列依次进行比较 Vch = ③ If Test(Vch,Pch(i)) Then m=m+1
Prs(i) =”阳性”: Exit For Else
Prs(i) = \阴性\End If Next j End If Next i For i =1To n
List1. AddItem Pnum(i) +\(i) Next i
Label1. Caption = Str(Int(m/(n-k)*10000 +0.5)/100) + \End Sub
Function Test(str1 As String,str2 As String) As Boolean ’字符串比对函数 Dim i As Integer Test = False
For i = 1 To Len(str2) - Len(str1) + 1 If ④ Then Test = True: Exit For End If Next i End Function
嘉兴市2019~2020学年度第二学期期末检测
技术 参考答案及评分标准 第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个是符合题目要求的,不选,多选,错选均不得分) 1 B 2 D 3 C 4 B 5 C 6 A 7 D 8 B 9 D 10 C 11 A 12 C 二、非选择题(本大题共4小题,其中第13小题4分,第14小题8分,第15小题7分,第16小题7分,共26分)
13.(1)=H10/SUM(H$10,H$11,H$17)*100 1分 =H10/(H$10 + H$11 + H$17)*100
(2)B12:H16 1分 (3)BCE 2分 (注:全部选对的得2分,选对但不全的得1分,不选或者有选错的得0分) 14. (1)CDE 2分 (注:全部选对得2分,选对但不全得1分,选错得0分)
(2)动画补间 1分 (3)“按钮”图层最后1帧为空白关键帧,没有“按钮”对象 1分 (4)ACD 2分 (注:全部选对得2分,选对但不全得1分,选错得0分)
(5)gotoAndPlay(“main”,1); getURL(“病毒介绍。html”); (注:2条命令全部选对得2分,答对1条命令给1分) 2分 15. (1)B 1分 (2)① k + 1 或其他可行答案 1分 ② j < k 或 j <> k 或 m < n 或 m <> n 或其他可行答案 2分 ③ New_num + a(b(j)) 或其他可行答案 1分 (3) a(i) < a(m) And a(i) <> \或其他可行答案 2分 16. ① i 1分 ② Pnum(i) > Pnum(j)
或 Pnum(j) < Pnum(i) 或其他可行答案 2分
③ Mid(RVch, j, s) 或 Mid(Ach + Ach, j, s) 或 Mid(Ach & Ach, j, s)
或 Mid(Ach,j,s-j+1) + Mid(Ach,1,j-1) 或其他可行答案 2分 ④ str1 = Mid(str2, i, Len(str1)) 或其他可行答案 2分