资源简介 2.3 周而复始的循环一、选择题1.有如下VB程序段:s=""For i=1 To 7 Step 2 If i<=1Then k=1 ElseIf i<=2 Then k=2 End If If i<=3 Then k=3 s=s+Str(k)Next ilabel1.Caption=s该程序段运行后,标签label1上显示的内容是 ( )A.1234 B.4321 C.2233 D.33332.设执行以下程序段时依次输入1、3、5,执行结果为( )Dim a(4) As IntegerDim b(4) As IntegerFor K =0 To 2a(K+1) =Val(InputBox("请输入数据:"))b(3-K) =a(K+1)Next KPrint b(K)A.1 B.3 C.5 D.03.下列程序的功能是求1~x之间所有5的倍效之和x=int(input("输入数字x:")i=1s=0while i<=x:if ① :s=s+iprint(i,end=",")②print("s=",s)则划线处应填入的语句是( )A.①i%5==0 ②i=i+1B.①i//5==0 ②i=i+1C.①i%5==0 ②i=i+2D.①i%5==0 ②i=i+34.字符串s1中保存了一个单词,字符串s2中保存了一句以空格结尾的句子,字符串s1和s2均由小写字母组成且s2中各个单词之间仅用空格隔开,下列程序能够统计单词s1在句子s2中出现的次数:i=1:j=1:cnt=0Do While j<= Len(s2)If Mid(s1,i,1)<> Mid(s2,j,1)ThenElseDo While i<=lens and j<=lens2If Mid(s1, i, 1) =Mid(s2, j, 1)ThenElseEnd IfLooplf i=len(s1)+1 And Mid(s2,j,1)=""thencnt= cnt+1End Ifi=1End IfLoop方框中的代码分别是:①i=1:j=j+1 ②i=i+1:j=j+1 ③j=j+1代码从上到下正确的顺序是()A.①②③ B.③②① C.③①② D.②①③5.有如下VB程序段:b=0For a=1 To 10b=a+ba=a+3Next ac=a+b执行该程序段后,变量c的值为( )A.15 B.22 C.28 D.326.执行如下代码:c=0num=[1,2,3,4]def fun(num):for i in range(5):c=inum.append(c) # 列 表 添 加 元 素return numprint(fun(num),c)则程序执行后输出( )A.[1,2,3,4,4]4B.[1,2,3,4,5]5C.[1,2,3,4,4]0D.[1,2,3,4,5]07.有如下Python程序段:import jiebastr="热烈庆祝建党100周年"fc=jieba.lcut(str)print(fc)for i in fc[::1]:print(i)已知分词之后的文本输出fc为:['热烈庆祝', '建党', '100', '周年'],则程序运行结束后的结果是( )A.周年100建党热烈庆祝B.热烈庆祝建党100周年C.热烈庆祝建党周年100D.年周001党建祝庆烈热8.下列Python程序段运行的结果是( )。i=0sum=0while i<10:if i%3==0:sum+=ii+=1print("sum=",sum)A.sum=9 B.sum=10 C.sum=18 D.sum=19二、填空题9.运行以下VB程序,输出结果是_____________。Private Sub Command1_Click()Dim s As Integer, x As Integers = 0x = 20For x = 20 To 1 Step -3s = s + xNext xPrint xEnd Sub10.在使用循环时,当循环次数一定时一般使用__循环,当循环次数未知时一般使用_____循环11.Python语言用于实现循环结构的语句有______语句和while语句。12.阅读程序,写出运行结果a=[0,0,0,0,0,0,0]a[1]= 1a[2]= 1for i in range(3,7):a[i]=a[i-1]+a[i-2]print (a[6])上述程序运行后,输出a[6]的值是______13.下面的程序段运行后的结果为__________s=0for i in range(1,8,3):s=s+iprint(s)14.运行下列程序,正确的结果是_________________s=0for i in range (1 5):s=s+iprint("i=",i,"s=",s)三、判断题15.While循环语句的循环体中必须有改变条件表达式值的语句,否则会形成死循环。 (_____)16.下列程序段中,赋值语句s=s+i被重复执行了4次。s=0For i in range(3,10,2):s=s+i (_____)17.在循环中continue语句的作用是跳出循环的执行。(_____)18.用户自定义函数是用户自己写的一段程序.一般包括函数名、参数、 返回值、函数体等四部分.其中,函数名和参数是必不可少的部分.(____)四、简答题19.定义函数的基本格式是: ______。20.在“抗击疫情,‘宅’出精彩”征文活动中,每位选手可以提交一篇作品。活动以互评的形式展开:每位选手对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 Integern = Val(Text1.Text): m = Val(Text2.Text)Randomizei = 1Do While i <= mFor j = 1 To nc(j) = 0 '本轮分配方案中还没有数字j, c(j)=0,否则c(j)=1Next jFor j = 1 To nIf j = n - 1 And c(n) = 0 Then①Elsek = r(n, j)End Ifa((i - 1) * n + j) = k '分配数字k到当前方案的第j个位置上c(k) = 1Next jIf ② Then i = i + 1Loops = ""For i = 1 To ns = "参赛者" & i & ":"For j = 1 To ms = s + Str(a((j - 1) * n + i))+ ","Next jList1.AddItem ss = ""Next iEnd SubFunction r(x As Integer, y As Integer) As Integer'生成一个取值在[1,x]之间,可以放在y位置上的随机数,满足条件r<>y andc(r)=0End FunctionFunction check(c As Integer) As Boolean'本轮方案和前面几次的分配方案比较,如果有人分到了重复作品,返回FALSEDim p As Integer,f As Booleanf = Truep = 1For i = 1 To c * nIf ③ Thenf = False: Exit ForEnd Ifp = p mod n +1Next icheck = fEnd Function五、操作题21.阅读下列程序,写出运行结果。n= int(input("n=")) cnt = 0 while n > 1: cnt = cnt + 1 if n % 2 == 0: n = n / 2 else: n = 3 * n + 1 print(cnt) 程序运行后,输入:8运行结果是:_____________试卷第2页,共3页试卷第1页,共1页参考答案1.D2.A3.A4.B5.C6.C7.B8.C9.7710.for while11.for12.813.1214.i=4 s=1015.正确16.正确17.错18.错19.def 函数名(参数):#函数说明语句或语句组return 返回值20.(1)B(2)①k= n ②check(i - 1) ③a(i) = a(c * n + p)21.3答案第1页,共2页 展开更多...... 收起↑ 资源预览