循环结构语句及程序实现 知识点题库

求s=3+6+9+…..+300值,解决该问题,可以采用如下两种不同的方法:

请补充完成上述横线处程序:

奇偶校验是一种校验数据传输正确性的方法。其中奇校验方法:统计二进制数据的数位中“1”的个数,若个数为奇数,则校验位值为0,否则校验位值为1。小李编写了一个计算奇校验位值得VB程序,功能如下:在文本框Text1中输入1~255十进制待校验数,单击“计算”按钮Command1后,在文本框Text2中显示该数对应的二进制值,并在标签Label3中显示该数的校验位值。程序运行界面如图所示。
  1. (1) 在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的属性,要修改窗体的标题,应该应修改该窗体的属性。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim a As Integer, s As String

    Dim n As Integer, t As Integer, v As Integer

    n = Val(Text1.Text)

    t = 0

    s = ""

    Do While n > 0

      a = n Mod 2

      n = n \ 2

      t =

      s = Str(a) + s

    Loop

    v = t Mod 2

    Text2.Text = s

    Label3.Caption = "校验位值:" +

    End Sub

  3. (3) 运行该程序,在文本框Text1中输入22,单击“计算”按钮,则显示的校验位值是 。

给定正整数 n(1≤n≤26),要得到中间以“A”开始,两边各递增 n-1 个字符的对称字符串s,例如 n=5,则 s=“EDCBABCDE”。实现该功能的 VB 程序段如下:

s = ""

For i = 2 * n - 1 To 1 Step -1

If i <= n Then

  S=

Else

  S=

End If

Next i

上述程序段方框处的语句分别为:(    )

A . Chr(Asc("A") + n - i) + s 和Chr(Asc("A") + i - n) + s B . Chr(Asc("A") + n - i) + s和s + Chr(Asc("A") + i - n) C . Chr(Asc("A") + n – i+1) + s和Chr(Asc("A") + i – n+1) + s D . Chr(Asc("A") + n - i) + s和s + Chr(Asc("A") + i – n+1)
行程编码(Rim-length Coding)是一种相对简单的压缩技术,是将一个相同字符的连续串用一个串长和字符来代替。例如,有一个字符串“aaabccddddd”,经过行程编码压缩后可以用“3a1b2c5d”来表示。小李编写了一个行程编码的VB程序,功能如下:在文本框Text1中输入原码,单击“压缩”按钮Command1后,在文本框Text2中显示压缩码。程序设计界面和运行界面分别如图a和图b所示。

  1. (1) 在设计程序界面时,要使文本框Text2显示为空,可在其属性窗口中将属性的属性值修改为空。
  2. (2) 实现上述功能的VB程序如下。请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim i As Integer, count As Integer, length As Integer

    Dim ch As String, key As String, s As String

    s= Text1.Text

    length=

    key= Mid(s,1,1)

    i= 2 : count= 1

    Do While i <= length

    ch= Mid(s,i,1)

    If ch = key Then

     

    Else

    Text2.Text = Text2.Text + Str(count) + key

    count= 1

    key= ch

    End If

     

    Loop

    Text2.Text = Text2.Text + Str(count)+ key

    End Sub

  3. (3) 如果删除方框所在的那一行代码,运行该程序,在文本框Text1中输入“aaddddd”,单击“压缩”按钮,则文本框Text2中显示的内容为
以下程序段执行后整型变量n的值为(     )

N=0

For i=1 to 25

   If i mod 5= 0 then n=n+i

Next i

A . 50 B . 15 C . 75 D . 210
有如下Python程序段:

s=0

for i in range(1, 101):

   if i%2== 0:

        s+=i

该程序段被执行后,变量s中存储的是1~100之间的(    )

A . 偶数个数 B . 奇数个数 C . 奇数之和 D . 偶数之和
有如下VB程序段:

s = "": k = 0

For i = 1 To 20 Step 3

    If i Mod 7 = 0 Then

        k = 1

    ElseIf i Mod 5 = 0 Then

        k = 2

    End If

    If i Mod 2 = 0 Then k = 3

    s = s + Str(k)

Next i

Label1.Caption = s

该程序段运行后,标签框label1上显示的内容是(    )

A . 0 3 1 2 0 3 0 B . 0 3 1 2 2 3 3 C . 0 3 1 3 3 3 3 D . 0 3 1 3 0 3 0
在BXY中输入代码如图所示,Music模块为MicroPython所提供播放音乐的方法。

代码中ragsatastop,tep)函数表示从start开始到stop结束的范围内,进行步长step的变化。标号5所在行代码表示设置音乐的频率,并循环改变,则每次循环音乐频率的变化是(     )

A . 增加880 B . 减少16 C . 增加1760 D . 增加16
有如下程序段:

Dim a(1 To 6) As Integer

a(1) = 6

For i = 2 To 6

    a(i) = Int(Rnd * 30 + 1) * 3

    If a(i) Mod 2 = 1 And i Mod 2 = 0 Then

        i = i - 1

    ElseIf a(i) > 60 Then

        a(i) = a(i) - a(i - 1)

    End If

Next i

执行该段程序后,a(1)~a(6)中的值可能是 (     )

A . 6,36,15,42,72,12 B . 6,14,36,51,18,21 C . 6,60,3,87,0,90 D . 6,18,21,75,27,21
有如下VB程序段:

s= "abcde"

m=0

L=Len(s) :n=L

Do While n>0

    m=(m+3) Mod n+1

    s=Mid(s,1,m-1)+ Mid(s,m+1,L) +Mid(s,m,1)

    n= n-1

Loop

执行该程序段后,变量s的值是(    )

A . edcba B . debca C . dbeca D . Edbac
(加试题)若数组元素d(1)到d(8)的值依次为“6,9,12,18,20,28,32,45”,查找Key值的VB程序段如下:

t(1) = 1: t(2) = 1

For i = 3 To 5

    t(i) = t(i - 1) + t(i -2)

Next i

Key =13

i=1: j=8: k=6

Do While i <=j

    m = i+t(k-1)                      ‘①

    If Key = d ( m ) Then Exit Do        ‘Exit Do表示退出循环

    If d(m) > Key Then

        j= m - 1

        k=k-1

    Else

        i = m + 1

        k=k-2

    End If

Loop

运行该程序段后,①处的赋值语句共执行(    )

A . 1次 B . 2次 C . 3次 D . 4次
小张想要了解自己体育锻炼情况,他以数字的形式记录了自己每天进行的运动项目,如“1,1,2,3,2,3,2,3,3,1,1,4,3”。其中数字1代表篮球;2代表乒乓球;3代表慢跑,…。在记录了一段时间后,小张想知道自己在一段连续时间内最“喜爱”的两项体育运动是什么,以及连续进行的次数。对于这两项体育运动的要求是:

1)这两项运动在记录中必须连续出现,不能被其他运动打断,如“1,2,2,1,2”是一种可能的结果;“1,2,2,1,2,3”则不是可能的结果;

2)这两项运动在记录中出现的次数必须是最多的一种组合。

运动记录

1,1,2,3,2,3,2,3,3,1,1,4,3

序号

两项运动

1,1,2

2,3,2,3,2,3,3

3,3,1,1

1,1,4

4,3

从上表分析可知,小张在一段时间内连续进行的两项运动有5种不同组合,其中组合②中的两项运动持续时间最长,所以最“喜爱”的两项运动为2和3,共连续进行了7次。

根据算法思想,编写VB程序实现如下功能:程序初始化时读取小张记录的一段时间内的所有运动项目,以逗号间隔显示在文本框Text1中,单击“寻找运动项目”按钮Command1,在标签Label4上显示最喜爱的两项运动编号,在文本框Text2中显示这两项运动最长持续的次数。程序运行界面如图所示。

  1. (1) 若输入序列为“3,5,5,4,3,5,5,5,3,3,2,6”,最喜爱的两项运动连续进行的次数为
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Dim a(1 To 100) As Integer, n As Integer

    Private Sub Form_Load( )

        '读取已有记录项目总数n

        '读取记录的每次运动项目存入数组 a,并在文本框Text1中显示,代码略

    End Sub

    Private Sub Command1_Click()

        Dim x As Integer, y As Integer    'x, y分别表示当前记录中两个不同项目

        Dim c1 As Integer, c2 As Integer 'c1,c2 分别表示两个项目在当前统计过程中出现的次数

        Dim i As Integer, j As Integer, m1 As Integer, m2 As Integer, ans As Integer

        i = 1: j = 1 

        Do While j <= n And a(i) = a(j)

            j = j + 1

        Loop

        x = a(i): y = a(j)

        c1 =   

        c2 = 1

        ans = j - i + 1

        Do While j < n

            j = j + 1

            If a(j) = x Then

                c1 = c1 + 1

            ElseIf a(j) = y Then

                c2 = c2 + 1

            Else

                Do While

                    If a(i) = x Then c1 = c1 – 1 Else c2 = c2 - 1

                    i = i + 1

                Loop

                If Then

                    y = a(j)

                    c2 = 1

                Else

                    x = a(j)

                    c1 = 1

                End If

            End If

            If ans < j - i + 1 Then

                ans = j - i + 1

                m1 = x

                m2 = y

            End If

        Loop

        Label4.Caption = Str(m1) + "和" + Str(m2)

        Text2.Text = Str(ans)

    End Sub

下列程序的运行结果为

k=0

while k<=10:

    k=k+2

print(k)

下列Python程序段运行后,变量b的值是(     )
a = 1
b = 2
while a<b:
    b = a * b
    a = a - b
print (b)
A . 0 B . 2 C . 3 D . -2
浙江省选考采用7选3选科模式,即从“物化生政史地技”7门科目中任选3门作为选考科目。小周想用Python输出所有的选科组合,他用7位二进制数模拟所有选科组合(1-选,0-不选),再从中筛选出有效组合,例如110000是一种有效组合,1011100 是一种无效组合。实现该功能的Python程序如下,请完成程序填空:

km =”物化生政史地技”

combs =[]

for i in range(128) :

    t=

    c=0

    s=“”

    for j in range(7):

        c=

        if t % 2=1:

             s += km[j]

        t =t//2

    if c=3:

        combs.append(s)

print (combs)

有如下程序段:

import random

a = [0] * 6

for i in range(0,6):  

    a[i] = random.randint(1,5) * 2 + 1

    i = 0

    while i < 5:

        if a[i] > a[i+1]:

            a[i],a[i+1] = a[i+1],a[i]

        else:

            a[i] += 1

            i += 1

print(a)

执行以上程序后,列表变量a可能的是 (    )

A . [1, 6, 10, 10, 10, 9] B . [3, 8, 7, 13, 3, 9] C . [5, 10, 7, 7, 12, 11] D . [5, 10, 10, 7, 10, 8]
下列循环语句不配对的是(      )
A . FOR ——   NEXT B . DO  ——  LOOP C . DO  LOOP——  UNTIL D . DO ——  LOOP  UNTIL
编程求1~50之间所有的奇数之和(for语句实现)
运行如下程序,输入文字“小秘密小甜蜜”,输出结果为(    )

sentence=input('请输入一段文字:')

for i in sentence:

  if i=='密':

    continue

print(i,end='')

A . B . C . 小 秘 小 甜 D . 小 秘 小 甜 蜜
用Python编辑器打开“Y:\112”下的文件“编码. py”,进行以下操作并保存结果。

①请填空完善该程度,实现功能:某种编码由六位二进制码组成,前三位表示方向,后三位表示距离。输入一组六位二进制,将编码翻译成方向和距离,距离值为每组编码后三位二进制转换为十进制的值。

某种编码由六位二进制码组成,前三位表示方向,后三位表示距离。

输入一组六位二进制码,将编码翻译成方向和距离,距离值为每组编码后三位二进制码转换为十进制数的值。

②编写完成后原名保存并关闭应用软件。

s =input("输入六位二进制:")

n = len(s)

i = 0

while  i <= n-1:

    c =s[i:i+3]

    if c == "000":

        d = "东"

    elif c == "001":

        d = "东南"

    elif c == "010":

        d = "南"

    elif c == "011":

        d = "西南"

    elif c == "100":

        d = "西"

    elif c == "101":

        d = "西北"

    elif c == "110":

        d = "北"

    else:

        d = "东北"

    b1 = int(s[i + 3])

    b2 = int(s[i + 4])

    b3 = int(s[])

    v=                         #实现三位二进制编码到十进制的转化

    print(  +" " + str(v))             #按格式要求打印输出,如:东  7

                            #调整i的值