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

【加试题】有下列代码段,循环5次后的label3中显示:(   )

Private Sub Command1_Click()

For i = 150 To 300

    a = i \ 100

    b = I mod 100 \ 10

    c = i – a*100 – b*10

    If i = a * a * a + b * b * b + c * c * c Then

        Label1.Caption = Str(i)

    End If

Next i

End Sub

A . 153 B . 155 C . 空白 D . 程序运行不会执行第5次
下列关于算法的叙述正确的是(   )
A . 一个算法必须有一个输入 B . 一个完整的算法,必须要有输出 C . 算法只能用VB语言来表示 D . 一个算法的可以无限循环的
下面程序段是利用For语句给数组a赋值:

    For i= 1 To 6

       a(i)=i+1

    Next i

该程序段运行后数组元素a(3)的值是:(   )

A . 2 B . 3 C . 4 D . 5
某算法表示如下:

①将0赋值给变量Num,将1赋值给变量i

②若i除以2余0,则将变量Num的值增加1并输出i

③变量i的值增加1,若变量i小于等于10,则转②

④结束

关于该算法的说法不正确的是(  )

A . 该算法是用自然语言来描述的 B . 该算法结束后i=11 C . 该算法最后输出5个数值 D . 该算法只能用Do While语句实现
某算法流程图如下图所示,该算法结束时,k的值是(  )

A . 10 B . 8 C . 4 D . 0
下列程序执行后变量c的值(  )

s="ABC123":i=1

Do While i<=6

ch=Mid(s,i,1)

If ch>="0" And ch<="9"  Then  c=c+1

i=i+1

Loop

A . 1 B . 2 C . 3 D . 4
杨氏矩阵数组的特征是每行从左到右是递增的,每列从上到下是递增的,如下图所示为一个4×4的杨氏矩阵。

1

5

7

9

4

6

10

15

8

11

12

19

14

16

18

21

已知数据逐行存储在数组a中,在杨氏矩阵数组中查找某数字是否存在的VB程序段如下:

cz = False : i = 1 : j = n

Do While j >= 1 And i <= n

   

    If key < a(s) Then

          ⑵ 

    ElseIf key > a(s) Then

          ⑶ 

    Else

      cz = True:Exit Do

    End If

Loop

方框中的代码由以下三部分组成:

①j = j - 1

②s = (i - 1) * n + j

③i = i + 1

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

A . ①②③ B . ②①③ C . ②③① D . ③②①
以下程序段中循环体执行的次数是(     )

s = 0

i = 0

Do While s < 10

  i = i + 1

  s = s + i * i

Loop

A . 3 B . 2 C . 1 D . 4
正确算法的描述方法是(    )。
A . 顺序法 B . 列表法 C . 集合法 D . 自然语言描述法
当我们遇到问题需要通过编写计算机程序来解决时,正确的操作过程是(    )
A . 设计算法、分析问题、编写程序、调试程序、检验结果 B . 编写程序、调试程序、设计算法、分析问题、检验结果 C . 分析问题、设计算法、编写程序、调试程序、检验结果 D . 分析问题、编写程序、设计算法、调试程序、检验结果
分析问题就是从具体的问题中,明确条件和需求,找出条件和需求之间的关系,并尽量用数学的语言加以描述。
数组a中存储着某市2010年到 2019 年的GDP数值,编写VB程序,实现找出相邻两年GDP变化最大(即相邻两年GDP差值最大)的年份区间。若有多个符合要求的年份区间,只输出距今最近的年份区间。部分代码如下所示:

Dim i As Integer, imax As Integer

       ①  

For i = 3 To 10

   If Abs(a(i) - a(i - 1)) >=  ②  Then imax = i

Next i

Text1.Text = "GDP变化最大的年份区间是" + Str(imax + 2008) + "-" + Str(imax + 2009)

①、②应填入的代码为(   )

A . ①imax=1  ②Abs(a(i - 1) - a(i - 2)) B . ①imax=1  ②Abs(a(imax) - a(imax - 1)) C . ①imax=2  ②Abs(a(i - 1) - a(i - 2)) D . ①imax=2  ②Abs(a(imax) - a(imax - 1))2
循环重复次数一定时,我们通常称为,在python中,使用语句来创建这类循环。
下列关于算法的说法中正确的是(   )
A . 算法是分析问题的过程和方法 B . 算法只能用计算机语言来描述 C . 算法可以没有输入,但必须要有输出 D . 算法能实现计算所有自然数之和
就是从具体的问题中,明确条件和需求,找出条件和需求之间的关系,并尽量用数学的语言加以描述。
下面的Python代码实现了读入若干非负整数,统计其中奇数个数的功能。要想实现这一功能,应该在空格处填(    )。

li = map(int, input(). split())

cnt=0

for i in li:

 if                        :

   cnt+=1

print("奇数有{}个。". format(cnt))

A . i%2==1 B . i%2 C . i//2==1 D . i/2==1
从离地500米的空中自由落下一个小球,求从开始落下的时刻起,小球在最后1秒内的位移(重力加速度g以9.8米/秒2计)。程序如下,回答以下问题。

import math

h = 500

g = 9.8

t = math.sqrt(2*h/g)

hx = g*(t-1)*(-1)/2

hh = h-hx

print(“小球最后1秒下落的位移是:”, hh, "m")

  1. (1) 该程序代码中使用了库,库的名称是(   )。
    A . Limport B . math C . sqrt D . Print
  2. (2) 该程序代码中使用了常量,它的名称是(   )。
    A . h B . t C . 500 D . Hh
  3. (3) 该程序代码中使用了变量hh,它的数据类型是(   )。
    A . int B . float C . 列表 D . 字符串
  4. (4) 该程序中print(“小球最后1秒下客的位移是:”,hh,“m”),其中“m”的数据类型是(   )。
    A . int B . float C . 列表 D . 字符串
  5. (5) 该程序使用了物理公式计算空中自由落下个小球的位移,采用的算法处(   )。
    A . 解析算法 B . 穷举算法 C . 递归法 D . 选择排序
在Python中,下列关于if选择结构说法错误的是(   )。
A . if语句中可以没有else子句 B . 同一级别的if语句中可以有多个else子句 C . 同一级别的if语句中可以有多个elif子句 D . if选择结构可以多层嵌套
有如下python程序段:

n='15867239012'

s=0

for x in n:

  if int(x)%2==0:

    continue

  elif s==14:

    break

    s+=int(x)

print(s)

该程序段执行后,则输出结果为(    )

A . 18 B . 26 C . 14 D . 17
如下图片中体现了程序设计的哪种主要结构(    )。

A . 顺序结构 B . 树型结构 C . 分支结构 D . 循环结构