第二章 算法与问题解决 知识点题库

有如下VB程序段:n= Val(Text1.Text)
st = “ ”
For i = 1 To n
For j =1 To i Step 2
  st = st + “☆”
Next j
List1.AddItem  st
Next  i
该程序段运行时,在文本框Text1中输入5,则列表框输出的内容为(  )
A . B . C . D .
有如下VB代码:

  Dim a As Integer, b As Integer

  a = Val(Text1.Text)

  If a Mod 2 = 0 Then

b = a + 1

ElseIf a Mod 3 = 0 Then

b = a + 2

ElseIf a Mod 5 = 0 Then

b = a + 4

  Else

b = a

  End If

  Label1.Caption = Str(b)

运行该程序,在文本框Text1中输入25,单击命令按钮Command1,在标签Label1中显示的是(   )

A . 50 B . 29 C . 51 D . 30
某算法的部分流程图如下图所示,执行这部分流程,下列说法正确的是(  )

A . 该流程执行后,输出c的值为2 B . 该流程执行后,输出i的值为0 C . 该流程执行1次,步骤“c←c+1”共执行了3次 D . 该流程执行1次,步骤“i←i-3”共执行了6次
某算法的部分流程图如图所示,以下运算结果正确的是(  )

A . k=0 B . s=9 C . s=25 D . a=64
不同的程序设计语言,其语句种类、语言格式、语法要求、数据及函数类型(  )。
A . 都是一致的 B . 根本不同 C . 有所不同 D . 完全兼容
某算法的流程图如下图所示:

执行该流程图,输出变量 s 的值是(  )

A . 9 B . 10 C . 11 D . 12
计算机程序中某种代码的反复执行,称为。Python中的循环有重复一定次数的,也有重复到某种情况结束的
在日常生活学习中,我们经常会遇到许多需要解决的问题,以下描述中最适合用计算机编程来解决的是(   )。
A . 在网上购买火车票 B . 确定去某景点旅游的路线 C . 求1000以内的所有质数 D . 求两个数的和
现有VB程序“矩形面积和.vbp”,可计算100个矩形序列的面积和,计算公式为s=1 * 2+2 * 3+…+100 * 101,该程序运行时,单击“计算”按钮,即显示结果。但该程序代码有3处错误,请修改。

Private Sub Command1_Click()

    Dim i AS Integer

    Dim As Long

    For i = 1 To 100

        s = s + i *(i+1)

    Nest i

    Text1. Caption = s

End Sub

  1. (1) 修改“Dim As Long”行中的错误;
  2. (2) 修改“Nest i”行中的错误;
  3. (3) 修改“Text1. Caption=s”行中的错误;
在机场托运行李,每人免费25千克,超过25千克不到50千克,则超出部分按每千克10元收费,如果超过50千克,则超过部分按每千克20元收费。这个算法的描述方式是(      )。
A . 伪代码 B . 流程图 C . 自然语言 D . 计算机程序
有如下VB程序段:

Dim i As Integer,c As String,s As String,t As String

s=“China2014IT”:t=“”

For i=1 To Len(s)

    c=Mid(s,i,1)

    If c>=“a” And c<=“z” Then t=t+c

Next i

Label1.Caption=t

该程序段运行后,标签Label1中显示的内容是(    )

A . 2014 B . ChinaIT C . hina D . CIT
某VB程序段如下:

Dim i As Integer, n As Integer, k As Integer, s As String n = Val(Text1.Text):k = 1: s = ""

Do While 2 ^k < n

    k = k + 1

Loop

Do While n <> 0

    If n >= 2 ^ (k -1) Then s = s + "1"

    n = n - 2 ^ (k -1)

    Else

        s = s + "0"

    End If

    k = k - 1

Loop

For i= 1 To k

    s = s + "0"

Next i

在文本框Text1输入12,执行该程序段后,变量s、k的值分别为(     )

A . "1100"、2 B . "11"、2 C . "0011"、4 D . "1100"、4
运行下面程序段时,若从键盘输入-5,则变量Y的值是(    )

X=-5

A=val(inputbox(“请输入A的值:”))

Select case a

  Case is>0

    Y=x+1

  Case is =0

    Y=x+2

  Case else

    Y=x+3

End select

A . -5 B . -2 C . -4 D . -3
小明在玩火柴棍拼数字游戏。用火柴棍拼成阿拉伯数字0~9,具体拼法如下图所示:

由图a可知,搭建数字“0”需要6根火柴,搭建数字“1”需要2根火柴……

小明编写Python程序实现:运行程序时,输入任意整数,执行后,输出搭建该数字所需要的火柴棍的数量。运行样例如图b所示。

请回答以下问题:

  1. (1) 搭建“168”这个数字,所需要的火柴棍的数量:
  2. (2) 实现上述功能的程序如下,表达式he['1'] + he['6']的值为

    he = {'0':6, '1':2, '2':5, 13':5, '4':4,'5':5, '6':6, '7':3, '8':7,'9':6}

    num =   ①  

    s = input('请输入待搭建的数字: ↑)

    for i in s:

        num=   ②  

    print('所需火柴棍的数量为: ', num)

  3. (3) 请在划线处填入合适的代码

     ② 

如图所示的流程图,请根据要求回答以下问题

  1. (1) 常见的算法描述主要有三种,本算法描述是
  2. (2) 本算法的程序结构是
  3. (3) 本算法程序的输出结果是
  4. (4) 用计算机程序解决问题的步骤是:(请空白处补充完整)分析问题→设计算法→→调试运行→检测结果。
  5. (5) 上述步骤步骤是核心?
如下Python程序段:

while x !=0:

    x = int(input("x="))

    if (x%3)+x//3=5 : print("x="; x)

运行后,当第一次输入5、第二次输入11、第三次输入0后,在窗体上显示的结果是(      )

A . x=5 B . x=11 C . 9 D . 11
小明需要编写程序,用来计算1+2+3+……+∞的值,但是他程序编不出来,因为这不符合算法的特点(    )。
A . 可行性 B . 有穷性 C . 必须有输入 D . 必须有输出
某些数据中存在“数字山峰”,例如数据“21432748”中存在“1432”、“274”两座“数字山峰”(必须包含上坡与下坡),下面程序用于求数据中“数字山峰”的数量:

num=input("请输入数字串:");c=0

for i in range(1,len(num)):

    if  and f==False:

        f=True

    elif  and f==True:

        c=c+1

        f=False

print("有",c,"座数字山峰")

方框(1)(2)(3)的代码由以下部分组成:

①f=True         ②f=False        ③num[i-1]>num[i]           ④num[i-1]<num[i]

下列选项中代码顺序正确的是(     )

A . ①③④ B . ①④③ C . ②③④ D . ②④③
某城市有一条横贯东西的大河,河有笔直的南北两岸,岸上有位置各不相同的N个城市。城市按照地理位置先后进行从小到大编号,两岸的部分城市结成--对一的友好城市,即南岸的每个城市有且仅有一个友好城市在北岸,且不同城市的友好城市不能相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,政府决定避免任意两条航道交叉,以避免事故(如图16-1所示),请帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航道不相交的情况下,被批准的申请尽量多。

小王设计VB程序如下,在标签.上显示南岸城市的位置序号,例如“1,2,3,4,5,"(两岸城市序号之间用逗号分隔),然后按照南岸城市的顺序在Text1中输入相应的北岸友好城市序号“3,2,4,1,5,”,其中南岸1号城市与北岸3号城市为友好城市,南岸2号城市与北岸2号城市为友好城市,以此类推,单击“分析”按钮,显示最多可批准的申请数量为3个(如图16-2所示),最终政府批准的3条航道为南岸城市2-北岸城市 2,南岸城市3-北岸城市 4,南岸城市5-北岸城市5。

  1. (1) 南岸城市标签显示“1,2,3,4,5,6,7,”,文本框Text1中输人“3,1,2,5,6,4,7,",最多批准申请数是个。
  2. (2) 请在划线处填入合适的代码。

    Private Sub Command1_ Click()

      Dim b(1 To 100) As Integer     'b(i)表示编号i南岸城市对应的北岸友好城市

      Dim c(1 To 100) As Integer

      Dim n1, lenc As Integer

      Dim i, j As Integer

      Dim s1 As String

      Dim st, ch As String

      Dim flag As Boolean

      n1=0

      s1 = Text1. Text

      st =""

      For i = 1 To Len(s1)

        ch = Mid(s1, i, 1)

        If ch = "," Then

          n1 = n1+1

          

          st =""

        Else

          st=st+ch

        End If

      Next i

      c(1) = b(1)

      lenc = 1

      For i=2 To n1

        If b(i) > c(lenc) Then

          lenc=lenc+1

          c(lenc) = b(i)

        Else

          j=lenc-1: flag=True

          Do While j>= 1 And flag

            If  Then

              c(j+1)=b(i)

              flag = Flase

            End If

            j=j-1

          Loop

          If j = 0 And flag Then

            

          End If

        End If

      Next i

      Label1. Caption = "最多批准申请数:" + Str(lenc) + "个"

    End Sub

有ABCDE五位同学围成一圈玩出圈游戏,从A同学开始按照ABCDE的顺序依次报数,报到k(k为1至5的随机整数)的同学出圈,余下同学围成新的圈,并从当前出圈位置继续报数,报到k的同学继续出圈,直到圈内无人为止。程序代码如下:

j = 1: p = 5

Do While p > 0

    j = (j + k -2) Mod p + 1

    s1 = s1 &j

    s = Mid(s, 1, j -1) + Mid(s, j + 1)

    p = p -1

Loop

已知s1的初值为""(空),下列选项关于s1的最终结果错误的是(    )

A . "11121" B . "23121" C . "31311" D . "43321"
最近更新