4.4.4 循环控制的应用 知识点题库

有如下VB程序段:

s ="waste" : n = Len(s)

s1 = Text1.Text : flag = False

For i=1Ton

    If Mid(s,i,1) = Mid(s1, 1,1) Then

        flag = True

        For j = 2 To Len(s1)

            If Mid(s1, j, 1)<>Mid(s, (j+i-2) Mod n + 1, 1) Then flag = False: Exit For

        Next j

        If flag Then Exit For

    End If

Next i

执行该程序段后,若flag变量值为True,则文本框Text1中输入的内容不可能的是(    )

A . ste B . tewa C . steaw D . Wastew
合数指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。与之相对的是质数,而1既不属于质数也不属于合数,最小的合数是4。编写合数“寻找质因子”的程序,程序功能:在文本框Text1中输入一个整型的合数,单击“计算”按钮Command1后,在文本框Text2中显示该整数可分解出的所有质因子。程序运行界面如图所示。

  1. (1) 观察程序界面,不具有Caption属性的对象的控件类名是
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

      Dim n, k As Integer

      Dims As String

         ①   

      k=2

      Do While n>1

          If n Mod k=0 Then

               ②   

            s=s+Str(k)

          Else

            k=k+1

          End If

      Loop

      Text2.Text=s

    End Sub

    画线处应填入的代码为:①;②

  3. (3) 运行上述程序,若在文本框Text1中输入1024,单击“计算”按钮后,文本框Text2中显示的内容为
有如下程序段

Dim a(1 To 6) As String i = 6

Text1.Text = ""

Do While i > 1

    k = i

    For j = 1 To i - 1

        If a(k) < a(j) Then k = j

    Next j

    tmp = a(k): a(k) = a(i): a(i) = tmp

    Text1.Text = a(i)

    i = i - 1

Loop

其中数据元素 a(1)到a(6)的值依次为“12”、“34”、“8”、“9”、“77”、“23”,执行该程序段后,文本框Text1中显示的内容为(   )

A . 9 B . 8 C . 12 D . 23
编写“字符串生成”的Python程序。程序功能:输入由多个正整数组成的字符串t1(这些正整数以“,”为分割符和结束符),并以这些整数为位置信息,依次从字典内容(t2)中提取相应字符并连接成字符串(s),最后将字符串(s)显示输出。其中,字典内容(2)从文件“dictionary.txt"中读取。

例如:

输入的t1="2,8,15,"

字典内容(t2)从文件“dictionary.txt”中读取的内容为“python is a programming language.”

程序最终输出的字符串(s)为:yio

实现上述功能的某Python程序如下:

f=open('dictionary.txt', 'r')

t1=input('字符位置:')

t2=f.read( )

s=' '

t=' '

for i in range     ①     

    c=t1[i]

    if c==',':

        p=int(t)

        s=s+t2[p-1]

        t="

    else:

           ②     

print(生成内容:',s)

f.close

为了使程序能正确运行,上述程序中划线处的代码分别为:①

有VB程序段如下:

s1 = Text1.Text

s2 = ""

For i = 1 To Len(s1)

    c = Mid(s1, i, 1)

    If c >= "0" And c <= "9" Then

        c = Chr((Asc(c) - Asc("0") + 1) Mod 10 + Asc("0"))

        s2 = s2 + c

    ElseIf c >= "A" And c <= "Z" Then

        c = Chr(Asc(c) + 32)

        s2 = c + s2

    End If

Next i

Text2.Text = s2

执行该程序段,在文本框Text1中输入“GoLand,19”,则文本框Text2中显示的内容为(    )

A . lg20 B . lg210 C . 210,dnalog D . 210,goland
有如下VB程序段:

a(1)=4:a(2)=5a(3)=1

a(4)=2:a(5)=3:a(6)=6

k=1

For i=1 to 5000

    k=(k+a(k)-1)Mod 6+1

Next i

执行该程序段后,变量k的值为(    )

A . 0 B . 1 C . 2 D . 5
有Visual Basic代码段如下:

s = Text1.Text : sum = 0

c = 1 : j = 0

For i = 1 to len(s)

    ch = Mid(s, i, 1)

    If ch >= "0"  And ch <= "9"  Then

        j = j + 1

    Else

        If c mod 2 = 1 then sum = sum + Val(Mid(s,i-j,j))

        j=0 : c = c + 1

    End If

Next i

Label1.Caption = Str(sum)

在文本框Text1中输入“20a20b1c29d9”,执行该段代码后,标签Label1中的结果是(   )

A . 70 B . 21 C . 30 D . 79
有以下程序段:

sum=0

for i in range(1,6)

    sum=sum+i

print(sum, i)

程序的运行结果为(     )

A . 24   5 B . 15  5 C . 24   6 D . 15  6
“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?

打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。

⑴请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善。

⑵运行程序,运行结果如图所示。

# 请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善

money=100                #一共100文钱

num=100                  #一共100只鸡

cock_price=5             #公鸡价格5文

hen_price=3              #母鸡价格3文

threechick_price=1       #3只小鸡1文

for cock_num in range(1,money//cock_price+1):          #公鸡只数可能为1-20

    for hen_num in range(1, ①):           #母鸡只数可能为1-33

        for chick_num in range(1, ②):       #(3小鸡)只数可能为1-100

            money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price

            num1=cock_num+hen_num+chick_num*3

            if money1==money and num1==num:

                print (cock_num,hen_num,③)             #(③小鸡数)

input("运行完毕,请按回车键退出...")

下面这段代码的时间复杂度是(    )

import random

n=int(input("请输入随机数个数n:"))

d=[]

for i in range(n):

d.append(random.randint(1,100))

print(d)

key=int(input("请输入需要查找的数:"))

for i in range(len(d)):

    if key==d[i]:

        print("查找成功!索引号为:",i)

        break

A . O(1) B . O(log2n) C . O(n) D . O(n2)
在Python中,下列循环结构用法错误的是(   )。
A . for i in range(20): B . for i in range(0,10): C . for i in range(10,0,2): D . while s<50:
现有如下Visual Basic程序段:

Private Sub Command1_Click()

    Dim a(-1 To 8) As Integer

    Dim i As Integer

    For i = -1 To 8

        a(i) = i * i

    Next i

    Print a(i)

End Sub

运行程序,单击命令按钮Command1后,出现的错误提示可能是(   )

A . 子程序或函数未定义 B . 下标越界 C . 溢出 D . 类型不匹配
某Python程序段如下:

import random

list1=[0]*6

i=0

while i < 6:

    list1[i] = random. randint(1, 100)

    if list1[i] %2!=i % 2:

        i+=1

    else:

        break

运行该程序段,list1[0]~list1[5]各元素值可能的是(    )

A . [3,19,0,0,0,0] B . [95,44,39,24,0,0] C . [2,37,88,61,56,9] D . [0,0,0,0,0,0]
下列迭代程序执行结果是(  )。

jc =1

for i in range(1,5):

jc *= i

print(jc)

A . 1 B . 6 C . 24 D . 120
编写一个“数字序列求和”的程序,实现如下功能:从键盘输入一串正整数序列,各数值之间用空格隔开,输出该序列的和。例如输入序列12 520 23 1,运行界面如图所示。

s=input("请输入一串整数,以空格间隔开来:")

t=""

sum=0

for i in    ①   :

    if i!=" ":

            ②  

    else:

        sum=sum+int(t)

            ③   

print("该数据序列的和为:",sum)

  1. (1) 为实现上述功能,请在划线处填入合适代码。

     ② ③ 

  2. (2) 若删除加框处的代码,则图中的数据,输出的结果是
编写VB程序,实现如下功能:在文本框text1中输入自然数n,单击“产生n个随机数并求和与最大数”按钮Command1,则在列表框List1中输出n个小于100的随机整数,并输出n个随机数的和与最大值,界面如图所示。

  1. (1) 观察运行界面,选项中没有用到的控件是(选项A . .;B . ;C . ;D . )。
  2. (2) 设计该窗体界面时,需要将窗体Form1的属性设置为“最大随机数”。
  3. (3) 请完善下列程序横线处代码

    Private Sub Command1_ Click()

        Dim a(1 To 10) As Integer .

        Dim i As Integer, n As Integer

        Dim s As Integer, max As Integer

        n= Val(Text1. Text)

        i=1:s=0

        Randomize     '随机函数的初始化语句

        Do While i <=n

            a(i)= Int(Rnd * 100)

            List1. AddItem Str(a(i))

            s= s+ a(i)

            

        Loop

        max=a(1)

        For i=2 To n

           If a(i)> max Then

        Next i

        List1. AddItem“和为:”+

        List1. AddItem“最大值为:”+Str( max)

    End Sub

计算s=1*2*3*4*5*6*7,则画线处的语句为(    )

s=1

i=0

while_______:

    i+=1

    s*=i

print(s)

A . i <6 B . i <=7 C . i <7 D . i <8
阅读下面四段代码,判断哪个选项正确(      )

A . ①②运行结果均输出9 B . ①③运行结果相同,②④运行结果相同 C . ②③运行结果均为换行输出1 4 9 D . ①④运行结果相同,②③运行结果相同
阅读下列程序,写出运行结果。

m=9

n=6

c=m-n

while c!=n:

    m=n

    n=c

    if m<n:

        m,n=n,m

    c=m-n

print(c)

运行结果是:

在语句for i in range(1,10)中循环的的范围是(    )。
A . 1-9 B . 1-10 C . 0-9 D . 0-10
最近更新