收藏 分销(赏)

高考专题复习专题四-自定义函数及VB访问数据库.doc

上传人:二*** 文档编号:4510863 上传时间:2024-09-26 格式:DOC 页数:31 大小:2.07MB 下载积分:5 金币
下载 相关 举报
高考专题复习专题四-自定义函数及VB访问数据库.doc_第1页
第1页 / 共31页
本文档共31页,全文阅读请下载到手机保存,查看更方便
资源描述
专题四 自定义函数及VB访问数据库 【考纲标准】 考试内容 考试要求 1.过程与自定义函数 c 2.递归算法 a 3.VB 访问 Access 数据库 ①通过 ADO 对象连接数据库 ②通过 RecordSet 对象获取数据表中的数据 a 1.(2017·4月浙江选考)小王编写了一个依据成绩计算名次的VB程序,成绩为0到100之间的整数。算法的基本思想:先统计每个分数的个数,然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次,分数相同时名次并列。最高分为第1名,该分数的名次与个数之和为下一个有效分数的名次,以此类推。程序用数组A存放每个分数对应的个数,数组B存放每个分数对应的名次。例如,下表中最高分100有2个,并列第1名,则分数96的名次为分数100的名次加上分数100的个数,即第3名。 分数 100 99 98 97 96 95 94 … 0 个数(A数组) 2 0 0 0 1 0 3 … 0 名次(B数组) 1 3 4 … 程序运行时,学生数据显示在列表框List1中,单击“计算”按钮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 ′整数转换成长度固定的字符串 Function ads(x As Integer, n As Integer) As String  Dim sx As String, nx As Integer, i As Integer  sx = Str(x): nx = Len(sx)  For i = 1 To n - nx sx =" " + sx  Next i  ____①____ End Function Private 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 Integer  For i = 0 To 100 A(i) = 0  Next i  For i = 1 To recCount ′计算每个分数的个数 ____②____  Next i  mc = 1  For i = 100 To 0 Step -1 ′计算每个分数的名次 If A(i) <> 0 Then  B(i) = mc  ____③____ End If  Next i  List2.Clear  List2.AddItem “ 姓名 分数 名次 ”  List2.AddItem “ --------- ”  For i = 1 To recCount score = sScore(i) mc = B(sScore(i)) List2.AddItem sName(i) + ads(score, 5) +“第” + ads(mc, 3) +“名”   Next i End Sub 解析 (1)本题考查学生对题干描述的计算名次算法的理解。表中有3个并列第4名(94分),93分应为第7名。 (2)① 该程序段为自定义函数,功能是将整数转化为固定长度的字符串,Function函数通过函数名返回一个值,这个值是在过程的语句中赋给函数名的,即ads=sx。 ②注意观察注释语句,数组sScore存放学生分数,数组A存放每个分数的个数,该循环为计算每个分数的个数,即A(sScore(i))= A(sScore(i))+1。 ③该循环计算每个分数的名次,从最高分100分每次递减1分计算。数组B(i)存放每个分数的名次,考虑每个分数的个数A(i),每个分数的名次为mc=mc+ A(i)或mc=B(i)+ A(i)。 答案 (1)7 (2)①ads=sx ②A(sScore(i))=A(sScore(i))+1 ③mc=mc+A(i)或mc=B(i)+A(i) 2.(2016·10月浙江选考)小王与小李合作编写一个成绩统计的VB程序:小王编写一个过程,该过程从数据库读取某一指定科目的相关数据,存储在数组a中:小李编写一个过程,该过程依据数组a中的相关数据统计各班级平均分。小王与小李约定的数组a各元素含义如表所示。 程序功能如下:在文本框Text1中输入科目名称,单击“读数据库”按钮Command1,程序从数据库读取数据;单击“开始统计”按钮Command2,程序进行统计处理,结果输出在列表框List1中。程序运行界面如图所示。 数组元素 数组元素的含义 a(1) 存储班级数n a(2) 从a(2)到a(n+1)依次存储第1,第2,…,第n个班级的人数 … a(n+1) a(n+2) 从a(n+2)开始依次存储第1班每个学生的单科成绩,第2班每个学生的单科成绩,…第n班每个学生的单科成绩 … … 实现上述功能的VB程序如下,请回答下列问题: (1)根据程序运行界面中的数据及数组a各元素的含义进行分析,数组元素a(5)的值为____________(填写数值)。 (2)分析程序,可知数据库的文件名为________。 (3)请在划线处填入合适的代码。 Dim a(1 To 600) As Integer  ′数组大小满足处理要求 Private Sub Command1-Click()  ′本过程由小王完成,从数据库读取指定科目的各相关数据,存储在数组a中  Dim conn As New ADODB.Connection  Dim rs As New ADODB.Recordset  conn.ConnectionString=”provider=Microsoft.ACE.OLEDB.12.0;data source=”+”Score.accdb”  conn.Open  Set rs.ActiveConnection=conn  ′本过程的其他语句略 End Sub Private Sub Command2-Click()  ′本过程由小李完成,依据数组a中的相关数据统计各班级平均分  Dim i As Integer,j As Integer,n As Integer  Dim p As integer,sum As Integer,aver As Single  ____①____  p=n+2  For i=1 To n   sum=0   For j=1 To a(i+1) ____②____ p=p+1   Next j   aver=sum/a(i+1)   List1.AddItem Str(i)+” ”+Str(a(i+1))+” ”+Str(aver)  Next i End Sub 解析 (1)根据题中表格中数组a各元素的含义,a(2)到a(n-1)分别存储从1班到(n-1)班的各班人数,所以数组元素a(5)存储的是4班的人数,从图中可以看到4班人数为“33”。 (2)考查VB中的ADO访问数据库,从程序中:”data soure=”+ ”Score.accdb”可判断数据库文件名为”Score.accdb”。 (3)分析本过程程序功能为“统计各班级平均分”,程序结构为双重循环,外层循环控制选择第i班,待内层循环求得本班成绩和之后求平均分(aver=sum/a(i+1)),内层循环累加本班成绩和。 从变量p初值为p=n+2和循环中”p=p+1”,结合题目表格中给出的从a(n+2)开始依次存储每个班学生的成绩,可以判断程序中变量n是班级数,a(p)可以依次读取每个学生的成绩。所以①处为”n=a(1)”(表格中说明a(1)存储班级数),②处为累加各班每个学生的成绩到变量sum中, 即“sum=sum+a(p)”。 答案 (1)33 (2)Score.accdb (3)①n=a(1)  ②sum=sum+a(p) 一、过程与自定义函数 1.依据结构化程序设计的思想,当需要解决的问题规模较大、复杂时,可以按功能细分成一个个小的功能模块,这样的小程序段,在VB中被称为过程; 过程是一段能完成一个或多个特定功能的独立的程序段,并可以被其他过程调用。程序中多处重复出现处理相同功能的程序段可以通过过程简化。 2.在VB中,过程有两种,一种是Sub子过程,一种是Function函数。两者的区别在于:Sub子过程只执行程序而不返回值,而Function函数执行程序后会返回值。 3.事件处理过程基本结构 Sub事件处理过程名(参数表) 语句块 End Sub 其中,事件处理过程名必须符合下面的规则:对象名_事件的标准名。 VB的一些常用对象上的常见事件的标准名有: 窗体Form:  Form_Load、Form_Unload 文本框Text:Text1_Click、Text1_KeyPress 命令按钮Command:Command1_Click、Command1_DblClick 4.自定义函数基本结构 Function函数名(参数表)As 类型名 语句块(至少有一个语句是: 函数名=表达式) End Function 函数:函数是类似于过程的另一个程序模块,不同之处是函数执行完成后, 函数的计算结果被送到函数的调用点上,供程序的后继部分继续进行处理。 【例1】 某日期加密授权码生成方法描述如下: (1)授权码由10位字符组成,前8位为日期的密文,后2位为验证码; (2)取日期的第1位字符,若该字符第一次出现,则直接取其对应加密字符,否则取下一个不重复的加密字符。按此操作,依次取出该日期余下各位对应的加密字符; (3)求出所有日期字符数值的和,将和除16取余得到一位验证码字符;若和不小于16,则将和除16取整加1得到另一位验证码字符,否则另一位验证码字符为“X”。取出验证码重复时,处理规则与(2)相同。加密(验证码)字符对应表如下: 值(十进制) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 加密(验证码)字符 K n G j L t W b 0 a P H Z q Y c 小明设计了一个生成8位日期(YYYYMMDD格式)授权码的VB程序。程序功能如下:在文本框Text1中输入一个8位有效日期,单击“生成授权码”按钮Command1,在标签Label2中显示出该日期的授权码。运行效果如图所示。 (1)若输入的日期是“20181213”,则该授权码的验证码字符是______________________。 (2)请在划线处填入合适代码。 Dim f(0 To 15) As Integer Const Code = ”KnGjLtWb0aPHZqYc” Private Sub Command1_Click() Dim rq As String, sq As String, c As Integer, i As Integer, d As Integer For i = 0 To 15 f(i) = 0 Next i rq = Text1.Text sq = ” ”: d = 0 If Len(rq) <> 8 Then Labe12.Caption = ”请输入8位日期!” Else For i = 1 To 8 c = Val(Mid(rq, i, 1)) d = d + c sq = ____①____ Next i If d >= 16 Then yz = GetChar(d Mod 16) + GetChar(d \'16 + 1) Else yz = ____②____ End If Label2.Caption = sq + yz End If End Sub Function GetChar(x As Integer) As String ′获取不重复的加密字符 Dim flag As Boolean flag = False Do While flag = False f(x) = f(x) + 1 If f(x) = 1 Then    ____③____ f(x) = f(x) + 1 flag = True Else x = (x + 1) Mod 10 End If Loop End Function 解析 若输入的日期是“20181213”,前4位互不重复,分别取出各自位置上的字符,后4位与前3位重复,对应的第4、5、6、7上的字符。 自定义函数GetChar是获取数x在Code中获取不重复的加密字符,数组f是表示数字0-15出现的次数,初始值为0,下标为x的数组先加1再判断是否等于1,若等于1,表示该数字没有出现过,找到对应的加密字符。变量sp表示对日期的加密,每一位上的数字取出不重复的加密字符,并进行正向连接。当和d小于16时,有d Mod 16取出加密字符和“X”两位验证码。 答案 (1)GKn0jLtWba (2)①GetChar(c) + sq ②GetChar(d Mod 16) + ”X” ③GetChar = Mid(Code, x + 1, 1) 【变式训练1】 质数又称素数,是指除了1和本身之外不再有其他因数的数。如果两个质数的差为2,则这两个质数称为孪生质数对;编写VB程序,功能:单击“显示孪生质数对”按钮Command1,在列表框List1中显示100 以内的所有孪生质数对(运行效果如图所示)。实现上述功能的VB代码如下。 请在划线处填入合适代码。 Dim a(1 To 50) As Integer Private Sub Command1_Click() Dim i As Integer k = 0: i = 3 Do While i <= 100 If ____①____Then k = k + 1:a(k) = i i = i + 2 Loop For i = 2 To k If____②____Then     List1.AddItem Str(a(i - 1)) + ”和” + Str(a(i)) End If Next i End Sub Function prime(x As Integer) As Boolean ′判断是否是质数 prime = True For i = 2 To Int(Sqr(x))   If x Mod i = 0 Then    ______③____ Exit For   End If Next i End Function 解析 自定义prime的功能是判断数x是否是质数,如果是返回True,否则返回False,且函数值必须通过函数名返回,因此当条件x Mod i = 0成立时,函数值为False。程序的功能先找出100以内的质数,把他们分别存储在a再找出相邻两个差为2的质数对。 答案 ①prime(i) ②a(i)-a(i - 1))=2 ③prime = False 二、递归算法 绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言中习惯用递归来实现循环。 【例2】 以下VB程序段: Private Sub Command1_Click() Dim n As Integer, f As Integer n = Val(Text1.Text) f = fac(n) Label2.Caption = Str(f) End Sub Function fac(n As Integer) As Integer If n = 1 Then fac = 1 Else fac = n * fac(n - 1) End Function 程序运行时,若在文本框Text1中输入8,下列说法正确的是(  ) A.程序运行出错 B.控件Label2中显示 1 C.控件Label2中显示 8 D.控件Label2中显示40320 解析 本题考核的知识点递归的算法思想。在文本框Text1中输入8,将返回8*f(7),f(7)=7*f(6),f(6)=6*f(5),f(5)=5*f(4),f(4)=4*f(3),f(3)=3*f(2),f(2)=2*1,将f(2)的结果代回,f(8)=8!=40320,但函数返回值为整数,超出了整数的范围,将出现溢出的报错。 答案 A 【变式训练2】 有如下程序: Private Function f(x As Single, n As Integer) As Single If n = 0 Then f = 1 Else   If n Mod 2 = 1 Then    f = x * f(x, n \2)   Else    f = f(x, n \2) \x   End If End If End Function Private Sub Command1_Click() Label1.Caption = Str(f(4, 6)) End Sub 程序运行时,单击按钮Command1,标签Label1显示的内容是(  ) A.1      B.4      C.27       D.64 解析 在自定义函数中,4和6作为参数,分别传送赋值给自定义函数中的x和n。f(4, 6)= f(x, n \2) \x=f(4,3) \4, f(4,3)[BT= x * f(x, n \2) \4=4*f(4,1) \4,f(4,1)= x * f(x, n \2)=4*f(4,0), 4*f(4,0)=4。 答案 B 三、VB 访问 Access 数据库 1.通过ADO对象中的Connection对象连接数据库,步骤如下(右边是对应的代码): 2.通过ADO对象中的Recordset对象读取数据库表中记录,步骤如下(右边是对应的代码):                     【例3】 有一Access数据库“school.accdb”存放在f:\2015Imt[JP]vb文件夹中,其中的“student”数据表用来存储学生的基本情况信息,包括学号(num)、姓名(name)、性别(sex)、分数(score),括号内的为对应字段名。下列VB程序用来实现根据学号查询并显示学生信息,运行界面如下图所示。 在文本框Text1中输入学生的学号,单击“查询”,在文本框Text2、Text3、Text4中分别显示学生姓名、性别、分数。 为了实现上述目标,在划线处填入合适的语句或表达式: Private Sub Command1_Click() Dim adocn As New adodb.Connection Dim adors As New adodb.Recordset Dim str2 As String,str1 As String str1=”Provider-Microsoft.ACE.OLEDB,12.0;data source=f:\2015Imt\vb\  ____①____” adocn.Open str1 str2=”select * from students where num=”+Text1.Text adors.Open str2,adocn,adOpenDynamic,adLockOptimistic If adors,EOF=Ture Then  MsgBox”你输入的学号不存在” Else  Text2.Text=adors.Fields(”name”).Value  Text3.Text=adors.Fields(”sex”).Value  ____②____ End If adors:Close adocn.Close End Sub 解析 本题主要考查数据库的访问方法。 划线①处代码设置连接数据库的字符串,“data source”是指被连接的数据库文件。 划线②处代码是在文本框Text4中输出分数。 答案 ①school.accdb ②Text4.Text=adors.Fields(“score”).Value 【例4】 小王编写了一个VB程序,用于读取某数据库中的数据,部分代码如下: Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset conn.ConnectionString = ”Provider = Microsoft.ACE.OLEDB.12.0;DATA Source=” & App.Path & ”[ML)]ydata.accdb” Set rs.ActiveConnection = conn rs.Open ”select * from keti” n=0 Do While Not rs.EOF  n=n+1  rs.MoveNext Loop 下列对于以上代码的理解正确的有(  ) ①连接的数据库文件名是“mydata” ②“ConnectionString”是conn对象的属性值 ③查询的数据表名称是“keti” ④程序运行后,变量n的值表示该数据表中记录的总数 ⑤省略语句“rs.MoveNext”,程序也可以正常运行 A.①②③④ B.②③④ C.③④⑤ D.③④ 解析 conn和rs是数据常见的两个对象,ConnectionString是conn的属性,在该属性中包含连接的数据库名称mydata.accdb的信息。语句rs.Open ”select * from keti”中,open是rs的方法,在该语句中,包含了查询的数据表名称keti信息。变量n表示记录条数,每读一条,n增加1,同理rs.MoveNext语句不可以少,表示读取一条后,指针向下移动,否则会形成死循环。 答案 D 【变式训练3】 用 VB 程序读取数据库中数据的部分代码如下: Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cnt As Integer Private Sub Form_Load() conn.ConnectionString=”Provider=Microsoft.ACE.OLEDB.12.0;DataSource=” &App.Path& ”[99] est.accdb” conn.Open Set rs.ActiveConnection = conn rs.Open ”select * from 学生信息” cnt = 0 Do While Not rs.EOF cnt = cnt + 1 List1.AddItem rs.Fields(”姓名”) rs.MoveNext Loop End Sub 下列描述中正确的是(  ) A.从表中读取的总记录数为:cnt B.连接的数据库文件名:test C.程序中读取记录的表名是:test.accdb D.List1 中显示的内容是所有记录中“学生信息”字段的值 解析 读取的数据库名称为test.accdb,数据表名称为学生信息,每读取一条记录,cnt的值增加一条,因此cnt为记录总数。语句List1.AddItem rs.Fields(“姓名”)表示,只显示姓名字段的值。 答案 A 一、选择题 1.有如下VB程序: Private Sub Command1_Click()  Dim a As Integer, b As Integer, s As Integer a = Val(Text1.Text): b = Val(text2.Text) Text3.text=f(a,b) End Sub Function f(x As Integer, y As Integer) As String  Dim s As Integer, t As Integer, str As String str = ”0123456789” s = 1: t = 1 If x > 0 Then s = s + 1 If x > y Then   t = s + t ElseIf x = y Then   t = 6 Else   t = 5 End If f = Mid(str,s+1,1)+Mid(str,t+1,1) End Function 为使运行程序Text3显示的内容是15,则文本框Text1和Text2中依次输入的数字分别为(  ) A.6和5 B.5和6 C.-6和5 D.-3和-4 解析 将4个选项分别作为参数代入到自定义函数。在调用自定义函数f(6,5)中,s=2,t=3,函数的返回值为“23”,自定义函数f(5,6)中,s=2,t=5,函数的返回值为“25”。 自定义函数f(-6,5)中,s=1,t=5,函数的返回值为“15”。自定义函数f(-3,-4)中,s=1,t=1,函数的返回值为“12”。 答案 C 2.有如下VB程序段: Private Sub Command1_Click()  Text1.Text = ”2012 Hero”  Text2.Text = f(Text1.Text) End Sub Function f(s As String) As String  Dim i As Integer, c As String, s As String  For i = 1 To Len(s) c = Mid(s, i, 1) If c >= ”a” And c <= ”z” Then f = f + c  Next i End Function 该程序段运行后,文本框Text2中显示的内容是(  ) A.2012 B.Hero C.ero D.2012 H 解析 自定义函数的功能是只将字符串s中的小写连接起来。 答案 C 3.有如下VB程序: Private Sub Command1_Click() Dim n As Integer, x As String n = Val(Text1.Text) x = f(n) Label1.Caption = x End Sub Function f(n As Integer) As String Dim r As Integer If n <> 0 Then r = n Mod 2 n = n \2 If r = 0 Then f = f(n) + ”0” Else f = f(n) + ”1” End If Else f = ”0” End If End Function End Function程序运行后,在Text1文本框中输入35,则在Label1上显示的内容是(  ) A.0100111 B.0100011 C.1100010 D.1110010 解析 这是一个递归算法,自定义函数的功能是将整数n转换成二进制数,当n=0时不再重复计算,因此第1个字符是0。 答案 B 4.有如下 VB 程序段: Dim a(1 To 10) As Integer Sub swap(a As Integer, b As Integer) t = a: a = b: b = t End Sub Private Sub Command1_Click() Dim min As Integer, n As Integer, i As Integer, j As Integer n = 10 For i = 1 To n - 1 If i Mod 2 = 1 Then min = (i + 1) / 2 If i Mod 2 = 0 Then min = n + 1 - i / 2 For j = (3 + i) \'2 To n - i \'2 If a(j) < a(min) Then min = j Next j If i Mod 2 = 1 Then Call swap(a((i + 1) / 2), a(min)) If i Mod 2 = 0 Then Call swap(a(n + 1 - i / 2), a(min)) Next i End Sub 数组元素 a(1)~a(10)的初始值依次为 26、88、60、10、31、51、64、52、74、43,执行该程序,单击命令按钮 Command1 后,a(1)~a(10)的值变为(  ) A.10、31、51、60、74、88、64、52、43、26 B.88、64、52、43、26、10、31、51、60、74 C.10、74、60、52、31、51、88、64、43、26 D.26、31、60、51、88、52、64、43、74、10 解析 这个题目考核过程的概念及应用。过程swap的作用是交换a和b的值。主程序中,当i是奇数时,最小值在前面,并通过选择排序的思想,找出最小值,换到前面。当是偶数时,最小值在后面的对称数,并通过选择排序的思想,找出最小值,换到后面,因此实现左右交替上升排序。 答案 A 5.通过 ADO 的Recordset Recordset对象实例rs打开的记录,如下图所示。 序号 书名 书号 作者 售价 1 解忧杂货店 ISBN9787544270878 东野圭吾 39.5 2 摆渡人 ISBN9787550013247 克莱儿·麦克福尔 36 3 白夜行 ISBN9787544258609 东野圭吾 39.5 4 追风筝的人 ISBN9787208061644 卡勒德·胡赛尼 29 5 这就是二十四节气 ISBN9787511026118 高春香,邵敏 100 当前是第4条记录,要用 Fields集合返回第2个字段的值,以下代码正确的是(  ) A.a(4)=rs.Fields(2) B.a(4)=rs.Fields(1) C.a(4)=rs.Fields(书名) D.a(4)=rs.Fields(”书号”) 解析 第1个字段的下标为0,第2个字段的下标就为1,选项C,对书名要加引号。 答案 B 6.某个VB应用程序中使用如下代码读取数据库中的信息: Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim n as Integer Private Sub Form_Load( ) conn.ConnectionString =”Provider=Microsoft.Ace. OLEDB.12.0;data source =”+App.Path+”[DS)]ata[DS)]ata.accdb” conn.Open sql=”select * from student” Set rs.ActiveConnection=conn rs.Open sql n=0 Do while Not rs.EOF   List1.AddItem rs(”name”)   n=n+1   rs.MoveNext Loop End Sub 运行上述程序,以下说法不正确的是(  ) A.当前读取的数据库文件是Data文件夹中的data.accdb文件 B.数据库中存在一个名为student的数据表 C.List1列表框中将显示指定的数据表中所有记录name字段的值 D.窗体加载完成后,读取的数据表中总记录数为n-1 解析 从conn对象的ConnectionString属于值来看,连接的数据库名称是data.accdb,查询的数据表名称为student。列表框中只显示name字段的值。n表示记录的数量,初值为0,每读取一条,记录增加一条,因此总数为n。 答案 D 二、非选择题 7.如果一个整数是另一个整数的平方,则称该数是“完全平方数”。下列VB自定义函数用于判断一个数是否是完全平方数。 Function ok(t As Integer) As Boolean Dim k As Integer ok=False  ____①____    If k*k=t Then ____②____ End Function 请在程序划线处填入合适的代码。 解析 该自定义函数是判断t是否是完全平方数,如果是,通过函数名ok返回函数的值True,否则返回False。 答案 ①k=Int(Sqr(t)) ②ok=True 8.下列VB程序用于求2个正整数(均小于10000)的最大公约数: Private Sub Command1_Click()  Dim x As Integer, y As Integer, z As Integer  x=Val(Text1.Text): y=Val(Text2.Text)  ____①____  Text3.Text=Str(z) End Sub Function gcd(a As Integer, b As Integer) As Integer  Do While a<>b      If a>b Then a=a-b Else b=b-a  Loop  ____②____ End Function 请在程序划线处填入合适的代码。 解析 自定义函数gcd的功能是计算a、b的最大公约数,并通过函数名gcd返回函数的值。主程序是调用自定义函数,把x和y分别赋值给a和b,计算的结果赋值给z。 答案 ①z=gcd(x,y) ②gcd=a 或gcd=b 9.在VB中,判断一个整数的各位上的数字是否重复的自定义函数: Private Function judge(t As Long) As Boolean Dim s As String,s1 As String, i As Integer,j As Integer  s=Str(t): judge = False  For i = 1 To Len(s)-1 s1 = Mid(s, i, 1) For j = i + 1 To Len(s)   If ____①______ Then Exit Function Nex
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 高考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服