第四节 过程和函数

2024-06-05
| 13页
| 47人阅读
| 0人下载

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 -
章节 第四节 过程和函数
类型 作业-同步练
知识点 -
使用场景 同步教学-新授课
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 138 KB
发布时间 2024-06-05
更新时间 2024-06-05
作者 超级teacher
品牌系列 -
审核时间 2024-06-05
下载链接 https://m.zxxk.com/soft/45600072.html
价格 1.50储值(1储值=1元)
来源 学科网

内容正文:

第四节 过程和函数 一、选择题 1.有如下VB程序段: For i = 1 To 6 x = Int(Rnd * 10) + 1 If i Mod 2 <> x Mod 2 Then    a(i) = x Else    a(7 - i) = x End If Next i 数组 a 各元素的初始值为 0,执行程序后a 数组各元素的值不可能是(   ) A.8,7,0,0,6,5 B.0,9,8,3,6,3 C.6,7,2,3,2,0 D.2,9,4,7,10,3 2.如下图所示流程图,其控制结构属于________。 A.循环结构 B.树形结构 C.分支结构 D.顺序结构 3.下列 VB 表达式中,可取到最大值中最大的是(       ) A.Fix((Rnd*45))*2+10 B.Int(Rnd*45)*2+10 C.Int(-Rnd*45)*(-2)+10 D.(Rnd-Rnd)*100 4.实现计算器上xy运算处理的算法部分流程图如图所示: 下列说法正确的是( ) A.框图①中该填入的是f←x*j B.框图①中该填入的是f←f*j C.j←j+1被执行了x次 D.j←j+1被执行了y次 5.在python中能实现下面结果的代码是(     )。 请输入你的性别: A.print(“请输入你的性别:”) B.print(请输入你的性别:) C.input(“请输入你的性别:”) D.input(请输入你的性别:) 6.下列VB表达式的值最大的是(  ) A.Len("12"+"21") B.Val("11"+"10") C.Val(mid("1221",3,2)) D.1221mod 1000\ 10 7.下列说法正确的是(  ) A.定义变量如“L=15/134”的数据类型应为Single B.变量命名的规则是首字符必须是字母,所以“Ture”可以作为变量名 C.Len(x)的功能是求字符串的长度,所以Len(1234)的值为4 D.代码“Text1.Text=Str(a)”的功能是从Text1中输入的值转换成字符型赋给变量a 8.已知变量a为18位身份证号。则下面哪个函数可以取出身份证的出生年月。(如身份证号:370101200012010101,出生年月为200012) A.right(left(a,12),6) B.mid(a,6,7) C.left(a,6) D.mid(a,6) 9.有VB程序段如下: s="2019.06 Visual Basic6.0":n=0 For i=1 To Len(s) ch=Mid(s,i,1) If ch>="0" And ch<="9"Then m=Asc(ch)-Asc("0")+1 a(m)=a(m)+1 End If Next i For i=1 To 10 If a(i)>1Then n=n+i Next i 数组a各元素的初始值都为0,执行该程序段后,则变量n的值为(    ) A.2 B.4 C.8 D.10 10.下列程序执行后文本框Text1显示的内容是(   ) x= "abcdcba": ans = 0 For i= 1 To Len(x) \2. If Mid(x, i, 1) = Mid(x, Len(x)-i+ 1, 1) Then ans = ans+ 1 Next i Text1.Text = Str(ans) A.1 B.2 C.3 D.4 11.小松想要得到范围在[11,99]中的随机奇数,他可以选用的处理方法是( ) A.Int(Rnd * 89)+ 11 B.Int(Rnd * 44)* 2 + 11 C.Int(Rnd * 45)* 2 + 11 D.Int(Rnd * 50)* 2 + 11 12.下列VB 程序用于求2个正整数(均小于10000)的最大公约数: Private Sub Command1_Click() Dim x As Integer,y As Integer,z As Integer x=Val(Text1.Text)     ‘第1 个正整数 y=Val(Text2.Text)     ‘第2 个正整数                    ‘调用函数gcd 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 gcd=b End Function 方框中的正确语句是(  ) A.z=gcd B.z=gcd(a,b) C.z=gcd(x,y) D.z=gcd x,y 13.下列说法正确的是(      ) A.子过程可以嵌套调用 B.子过程不可以嵌套调用 C.子过程可以嵌套定义 D.函数过程不可以递归调用 14.当x=10时,print “x=”;x+1 在屏幕上显示的结果为(   ) A.10=;x+1 B.x=11 C.11 D.10=x+1 15.下列VB表达式中,值最大的是(    ) A.Asc(''F'')-Asc(''A'') B.Sqr(20) C.Rnd( )*5 D.Len(''2022'') 二、填空题 16.分析解决问题。 在VB中常用的字符串截取函数有: 函数名 功能 示例 结果 Mid(s,m,n) 从字符串s的第m位开始,截取长度为n的字符 Mid(“ABCDEFG”,5,2) “EF” Left(s,n) 截取字符串s左边n个字符 Left(“ABCDEFG”,3) “ABC” Right(s,n) 截取字符串s右边n个字符 Right(“ABCDEFG”,2) “FG” 假如某人身份证号码S=”370102199602190000”,如果需要根据此人身份证号码求出该人的“出生年月日”。下列表达式不能实现的是 (单选) A.Mid (s,7,8) B.Right (Left(s,14),8) C.Mid (s,7,4)+Mid(s,11,2)+Mid(s,13,2) D.Left (s,14)-Left(s,6) 17.函数 range(1,6)产生一个列表是: 。 18.实际参数和形式参数存在( )对应、( )对应、( )对应。 19.编写VB程序代码,实现如下功能:在文本框Text1中输入金额(整数)后,点击“转换”按钮Command1,则在文本框Text2中显示该金额的大写,程序运行界面如下图所示: (1)要使窗体标题上显示的文本改为“人民币大小写”,可在其属性窗口中将 属性的属性值改为“人民币大小写”。 (2)为了实现以上程序功能,使程序正常运行,请完善以下两处代码。 Private Sub Command1_Click() Dim dx As String, dw As String Dim s As String, c As String Dim ch As String Dim i As Integer dx = "零壹贰叁肆伍陆柒捌玖拾" dw = "亿仟佰拾万仟佰拾元" s = Text1.Text     If   then     Text2.Text = "输入的数据超出所能转换的范围" Else     For i = 1 To Len(s)                   ch =          c = c + Mid(dx, Val(ch) + 1, 1) + Mid(dw, 9 - Len(s) + i, 1)     Next i     Text2.Text = c + "整" End If End Sub (3)由上述算法可知,若在文本框Text1中输入“20”,则文本框Text3显示的结果为 。 20.事件过程在调用通用过程时的参数传递有按( )传递和按( )传递两种方法。 三、操作题 21.某分段排序算法描述如下: 1)将原始数据按升序分成若干有序段。 2)将第1段和第2段进行合并,使得合并后的数据依旧有序,得到新的有序段。 3)将新的有序段再次和下一个有序段进行合并。 4)重复上述操作,直到全部数据变成一个有序段为止,排序结束。 如数据:1、3、9、4、5、7、2、6,第1段为1、3、9,第2段为4、5、7,将第1段和第2段合并,得到新的第1段为1、3、4、5、7、9。继续和下一段2、6进行合并,合并后段数变为1段,则排序结束。 编写VB程序,实现分段排序功能:在文本框Text1中输入数据总量,单击“数据生成”按钮Commandl后,在列表框List1中显示原始数据,然后单击“分段排序”按钮Command2,在列表框List2中显示排序后的结果。程序运行界面如图所示。 请回答下列问题: (1)若要清空列表框List1,下列代码正确的是 (单选,填字母: A.List1.Clear / B.List1.List="" / C.List1.Text="" / D.List1.Caption="空白" )。 (2)实现分段排序功能的VB程序如下,请在划线处填入合适的代码。 (3)程序中加框处代码有错,请改正。 Dim a(1 To 1000) As Integer Dim n As Integer Private Sub Command1_Click() '输入数据总量n,随机生成n个数据保存在数组 'a(1)~a(n)中,并在List1中显示数据,代码略 End Sub Private Sub Command2_Click() Dim b(1 To 10000) As Integer Dim p1 As Integer, p2 As Integer, t1 As Integer, t2 As Integer Dim t As Integer, k As Integer, i As Integer, j As Integer p1 = 1 t1 = leng(p1) p2 = p1 + t1 Do While p2 <= n          i = p1: j = p2: t = 1     Do While i < p2 Or j < p2 + t2         If j >= p2 + t2 Or i < p2 And a(i) < a(j) Then             b(t) = a(i): i = i + 1         Else             b(t) = a(j): j = j + 1         End If         t = t + 1     Loop     For k = 1 To         a(k) = b(k)     Next k     t1 = t1 + t2      Loop '在List2中输出数组a(i)的值,代码略 End Sub Function Leng(ByVal p As Integer) As Integer '该函数返回数组a中数组下标p开始的升序有序段的长度,代码略 End Function 22.编写一个VB程序,实现如下功能:在文本框Text1中输入一个偶数n,判断该数在10步之内通过以下计算过程后能否回到初始值。计算步骤如下: (1)将n乘以3后加1产生一个新的数 (2)对产生的新数循环执行如下操作:新数是偶数时,用新数除以2;新数是奇数时,用新数乘以3后加1 譬如,以2为初始值,则计算过程如下。2→7→22→11→34→17→52→26→13→40→20→ 10→5→16→8→4→2。数字2不能在10步之内回到初始值。 界面如图所示,回答下列问题: (1)若要把窗体的标题名称由“Form1”改为“数值猜想”,应改变窗体的 属性。 (2)完成上述功能的程序代码如下,请在划线处填入合适的代码 Private Sub Command1_Click() Dim n As Integer,t as Integer ,m as Integer ,s as String t = n * 3 + 1 m = 1 s = "" Do While           s = s + Str(t)         If t Mod 2 = 0 Then             t = t \ 2         Else             t = t * 3 + 1         End If         m = m + 1 Loop If n = t Then         Label1.Caption = s + Str(n) Else         Label1.Caption = "该数10步之内无法实现!" End If End Sub (3)按照以上VB程序的计算方法,若在文本框Text1中输入4,能否在10步之内回到初始数 。(选填:能/否) 四、简答题 23.在“抗击疫情,‘宅’出精彩”征文活动中,每位选手可以提交一篇作品。活动以互评的形式展开:每位选手对m篇作品进行打分(本人作品回避),方法如下: ① 用1-n数字代表n个作品,打乱顺序后分配给n个选手。分配方案保存在数组a中,如图a存储了两组分配方案(n=5)。在第一个分配方案中把4号作品分配给1号参赛者,1号作品分配给2号参赛者(选手编号与序号错开)……。 4 1 5 2 3 a(1)~a(n)中存储第一个分配方案 2 3 4 5 1 a(n+1)~a(2*n)中存储第二个分配方案 ↑第i列中的作品拿给i号参赛者打分 图a ②分配方案的形成方法: 将1~n之间的随机数字依次放到第1个位置、第2个位置……,随机数不能与位置号相同,并且要防止分配冲突,如前三个分配序号是“2 3 4”,那么在第4位上只能放“5”(如放“1”会导致第5个位置没有符合要求的数字,因此位置n-1需要判断数“n”是否已经分配,如果未分配,位置n-1放置数“n”),最终方案“2 3 4 5 1”。 ③评m个作品需要m个分配方案。方案间要避免同一个人拿到重复的作品。如第16题图a第3行上的数据“5 1 2 3 4”不符合要求,因为会使第2号选手重复拿到1号作品。 小明依据上述方法设计了VB程序,功能如下:在文本框Text1和Text2分别输入参赛人数和每人打分的作品数量,单击“分配”按钮Command1,在列表框List1中输出结果。程序运行效果如图b所示。 请回答下列问题: (1)n=5,m=3,a(1)~a(10)中的数据如图a所示,a(11)~a(15)的数据可能是 (单选,填字母:A.5 4 3 1 2/B.5 4 1 3 2/C.3 4 5 1 2) (2)请在划线处填入合适的代码。 Dim n As Integer   '总人数/总作品数 Dim m As Integer   '每人分配篇数 Dim a(1 To 500) As Integer  '数组a大小满足处理要求 Dim c(1 To 100) As Integer  '数组c大小满足处理要求 Private Sub Command1_Click()     Dim i As Integer, j As Integer, k As Integer     n = Val(Text1.Text): m = Val(Text2.Text)     Randomize     i = 1     Do While i <= m       For j = 1 To n         c(j) = 0    '本轮分配方案中还没有数字j, c(j)=0,否则c(j)=1       Next j       For j = 1 To n           If j = n - 1 And c(n) = 0 Then              ①           Else              k = r(n, j)           End If           a((i - 1) * n + j) = k    '分配数字k到当前方案的第j个位置上           c(k) = 1       Next j            If   ② Then i = i + 1         Loop     s = ""     For i = 1 To n         s = "参赛者" &amp; i &amp; ":"         For j = 1 To m             s = s + Str(a((j - 1) * n + i))+ ","         Next j         List1.AddItem s         s = ""     Next i End Sub Function r(x As Integer, y As Integer) As Integer   '生成一个取值在[1,x]之间,可以放在y位置上的随机数,满足条件r<>y andc(r)=0 End Function Function check(c As Integer) As Boolean    '本轮方案和前面几次的分配方案比较,如果有人分到了重复作品,返回FALSE   Dim p As Integer,f As Boolean   f = True   p = 1   For i = 1 To c * n        If ③ Then            f = False: Exit For         End If         p = p mod n +1      Next i      check = f End Function 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 2.C 3.C 4.D 5.C 6.B 7.A 8.A 9.C 10.C 11.C 12.C 13.A 14.B 15.A 16.D 17.[1,2,3,4,5] 18. 个数 位置 类型 19. Caption Len(s) > 9 mid(s,I,1) 贰拾零元整 20. 值 址 21. A p2 = p1 + t1 或 p2 = p2 + t2 t2 = leng(p2) 或 t2 = leng(t1+p1) 或 t2 = leng(t1+1) t1 + t2 或 t-1 或 p2+t2-1或 t 或 t1+1 22. Caption n=Val(Text1.Text) n <> t And m <= 10   或其它等价表达式 能 23.(1)B   (2)①k= n         ②check(i - 1)        ③a(i) = a(c * n + p) 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

第四节            过程和函数
1
第四节            过程和函数
2
第四节            过程和函数
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。