自定义函数信息技术选考

上传人:c****e 文档编号:279605215 上传时间:2022-04-20 格式:DOCX 页数:26 大小:2.12MB
返回 下载 相关 举报
自定义函数信息技术选考_第1页
第1页 / 共26页
自定义函数信息技术选考_第2页
第2页 / 共26页
自定义函数信息技术选考_第3页
第3页 / 共26页
自定义函数信息技术选考_第4页
第4页 / 共26页
自定义函数信息技术选考_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《自定义函数信息技术选考》由会员分享,可在线阅读,更多相关《自定义函数信息技术选考(26页珍藏版)》请在金锄头文库上搜索。

1、1(20174月浙江选考)小王编写了一个依据成绩计算名次的VB程序,成绩为0到100之间的整数。算法的基本思想:先统计每个分数的个数,然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次,分数相同时名次并列。最高分为第1名,该分数的名次与个数之和为下一个有效分数的名次,以此类推。程序用数组A存放每个分数对应的个数,数组B存放每个分数对应的名次。例如,下表中最高分100有2个,并列第1名,则分数96的名次为分数100的名次加上分数100的个数,即第3名。分数1009998979695940个数(A数组)20001030名次(B数组)134程序运行时,学生数据显示在列表框Lis

2、t1中,单击“计算”按钮Command1,计算结果显示在列表框List2中,程序运行界面如图所示。实现上述功能的VB程序如下,请回答下列问题:(1)如表所示,若分数93的个数为2,则该分数对应的名次为_。(2)请在划线处填入合适的代码。Dim sName(1 To 50) As String 存放学生姓名Dim sScore(1 To 50) As Integer 存放学生分数Dim recCount As Integer 存放学生人数Private Sub Form_Load()本过程从数据库中读取学生数据,存储在相应的变量中,并在List1中显示代码略End Sub整数转换成长度固定的字符

3、串Function ads(x As Integer, n As Integer) As StringDim sx As String, nx As Integer, i As Integersx Str(x): nx Len(sx)For i 1 To n nxsx sxNext i_End FunctionPrivate Sub Command1_Click()Dim A(0 To 100) As Integer 存放每个分数的个数Dim B(0 To 100) As Integer 存放每个分数的名次Dim mc As Integer, score As Integer, i As In

4、tegerFor i 0 To 100A(i) 0Next iFor i 1 To recCount 计算每个分数的个数_Next imc 1For i 100 To 0 Step 1 计算每个分数的名次If A(i) 0 ThenB(i) mc_End IfNext iList2.ClearList2.AddItem “ 姓名 分数 名次 ”List2.AddItem “ ”For i 1 To recCountscore sScore(i)mc B(sScore(i)List2.AddItem sName(i) ads(score, 5) “第” ads(mc, 3) “名” Next i

5、End Sub答案(1)7 (2)adssx A(sScore(i)A(sScore(i)1mcmcA(i)或mcB(i)A(i)2(201610月浙江选考)小王与小李合作编写一个成绩统计的VB程序:小王编写一个过程,该过程从数据库读取某一指定科目的相关数据,存储在数组a中:小李编写一个过程,该过程依据数组a中的相关数据统计各班级平均分。小王与小李约定的数组a各元素含义如表所示。程序功能如下:在文本框Text1中输入科目名称,单击“读数据库”按钮Command1,程序从数据库读取数据;单击“开始统计”按钮Command2,程序进行统计处理,结果输出在列表框List1中。程序运行界面如图所示。数

6、组元素数组元素的含义a(1)存储班级数na(2)从a(2)到a(n1)依次存储第1,第2,第n个班级的人数a(n1)a(n2)从a(n2)开始依次存储第1班每个学生的单科成绩,第2班每个学生的单科成绩,第n班每个学生的单科成绩实现上述功能的VB程序如下,请回答下列问题:(1)根据程序运行界面中的数据及数组a各元素的含义进行分析,数组元素a(5)的值为_(填写数值)。(2)分析程序,可知数据库的文件名为_。(3)请在划线处填入合适的代码。Dim a(1 To 600) As Integer数组大小满足处理要求Private Sub Command1Click()本过程由小王完成,从数据库读取指定

7、科目的各相关数据,存储在数组a中Dim conn As New ADODB.ConnectionDim rs As New ADODB.Recordsetconn.ConnectionString”providerMicrosoft.ACE.OLEDB.12.0;data source”Score.accdb”conn.OpenSet rs.ActiveConnectionconn本过程的其他语句略End SubPrivate Sub Command2Click()本过程由小李完成,依据数组a中的相关数据统计各班级平均分Dim i As Integer,j As Integer,n As In

8、tegerDim p As integer,sum As Integer,aver As Single_pn2For i1 To n sum0 For j1 To a(i1) _ pp1 Next j aversum/a(i1) List1.AddItem Str(i)”Str(a(i1)”Str(aver)Next iEnd Sub答案(1)33(2)Score.accdb(3)na(1) sumsuma(p)3.某日期加密授权码生成方法描述如下:(1)授权码由10位字符组成,前8位为日期的密文,后2位为验证码;(2)取日期的第1位字符,若该字符第一次出现,则直接取其对应加密字符,否则取下一

9、个不重复的加密字符。按此操作,依次取出该日期余下各位对应的加密字符;(3)求出所有日期字符数值的和,将和除16取余得到一位验证码字符;若和不小于16,则将和除16取整加1得到另一位验证码字符,否则另一位验证码字符为“X”。取出验证码重复时,处理规则与(2)相同。加密(验证码)字符对应表如下:值(十进制)0123456789101112131415加密(验证码)字符KnGjLtWb0aPHZqYc小明设计了一个生成8位日期(YYYYMMDD格式)授权码的VB程序。程序功能如下:在文本框Text1中输入一个8位有效日期,单击“生成授权码”按钮Command1,在标签Label2中显示出该日期的授权

10、码。运行效果如图所示。(1)若输入的日期是“20181213”,则该授权码的验证码字符是_。(2)请在划线处填入合适代码。Dim f(0 To 15) As IntegerConst Code ”KnGjLtWb0aPHZqYc”Private Sub Command1_Click()Dim rq As String, sq As String, c As Integer, i As Integer, d As IntegerFor i 0 To 15f(i) 0Next irq Text1.Textsq ”: d 0If Len(rq) 8 ThenLabe12.Caption ”请输入8位

11、日期!”ElseFor i 1 To 8c Val(Mid(rq, i, 1)d d csq _Next iIf d 16 Thenyz GetChar(d Mod 16) GetChar(d 16 1)Elseyz _End IfLabel2.Caption sq yzEnd IfEnd SubFunction GetChar(x As Integer) As String 获取不重复的加密字符Dim flag As Booleanflag FalseDo While flag Falsef(x) f(x) 1If f(x) 1 Then _f(x) f(x) 1flag TrueElsex

12、 (x 1) Mod 10 End IfLoopEnd Function答案(1)GKn0jLtWba(2)GetChar(c) sqGetChar(d Mod 16) ”X”GetChar Mid(Code, x 1, 1)4.质数又称素数,是指除了1和本身之外不再有其他因数的数。如果两个质数的差为2,则这两个质数称为孪生质数对;编写VB程序,功能:单击“显示孪生质数对”按钮Command1,在列表框List1中显示100 以内的所有孪生质数对(运行效果如图所示)。实现上述功能的VB代码如下。请在划线处填入合适代码。Dim a(1 To 50) As IntegerPrivate Sub C

13、ommand1_Click()Dim i As Integerk 0: i 3Do While i 100If _Thenk k 1:a(k) ii i 2LoopFor i 2 To kIf_Then List1.AddItem Str(a(i 1) ”和” Str(a(i)End IfNext iEnd SubFunction prime(x As Integer) As Boolean 判断是否是质数 prime TrueFor i 2 To Int(Sqr(x) If x Mod i 0 Then _Exit For End IfNext iEnd Function答案prime(i)a(i)a(i 1)2prime False5.以下VB程序段:Private Sub Command1_Click()Dim n As Integer, f As Integern Val(Text1.Text)f fac(n)Lab

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号