算法与程序设计 知识点题库

某算法流程图如图所示,执行该算法后,“s←s+i”共被执行的次数是(   )

A . 0 B . 6 C . 7 D . 8
编写VB程序,实现如下功能: 单击“排序数组a”按钮Command1时,对已有数组a的数据进行升序排列,并显示在文本框Label1中;单击“显示数组b”按钮Command2时,将升序数组b的数据显示在文本框Label2中;再单击“合并a和b”按钮Command3时,对数组a和数组b升序合并到字符串中,将合并后的数据在文本框Label3中显示。(运行效果如图所示)。实现上述功能的VB代码如下, 请在划线处填入合适代码。

Dim a(1 To 6) As Integer  

Dim b(1 To 6) As Integer

Private Sub Command1_Click()     '对数组a中的数据进行排序

Dim i As Integer, j As Integer ,k as integer

a(1) = 53 :a(2) = 18:a(3) = 62:a(4) = 22:a(5) = 6:a(6) = 25

s = ""

For i = 1 To 5

    k = i

    For j = i + 1 To 6

        If a(k) > a(j) Then

    Next j

    If i <> k Then

        t = a(k): a(k) = a(i): a(i) = t

    End If

Next i

For i = 1 To 6

    s = s + Str(a(i))

Next i

Label1.Caption = s

End Sub

Private Sub Command2_Click() 

b(1) = 3: b(2) = 8: b(3) = 15: b(4) = 27: b(5) = 38: b(6) = 49

'此处部分代码省略

End Sub

Private Sub Command3_Click()  

'将数组a和b中的数据逐个比较后添加到新的字符串s中,并将s在label3中显示

i = 1: j = 1: s = ""

Do While i <= 6 j <= 6           '如果两数组都还有数据未合并

    If  Then

        s = s + Str(a(i)) : i = i + 1

    Else

        s = s + Str(b(j)) : j = j + 1

    End If

Loop

Do While i <= 6                            '只有数组a还有数据未合并

    s = s + Str(a(i)) : i = i + 1

Loop

Do While j <= 6                            '只有数组b还有数据未合并

    s = s + Str(b(j)) : j = j + 1

Loop

Label3.Caption = s

End Sub

有100个大小形状一样的透明玻璃球,其中有1个玻璃球的重量轻于其他99个玻璃球,小明想利用一台无砝码的天平,运用合理的算法保证一定能找出这颗轻玻璃球的最少的次数为:(   )
A . 100 B . 10 C . 8 D . 6
VB程序段:If A < b Then m = A Else m = b,它的基本结构属于(   )
A . 顺序结构 B . 选择结构 C . 循环结构 D . 树型结构
编写“简单密码筛选”程序,实现如下功能:在文本框Text1中输入连续多组数字密码,之间以空格符分隔,筛选出简单密码(即一组密码中所有数字均相同),单击“筛选密码”按钮 Commandl,将简单密码显示在列表框 List1 中,简单密码个数显示在文本框 Text2中。程序运行界面如图a所示。

图a

  1. (1) 程序运行时,提示如图b所示的出错信息,导致出错的是下列哪条语句(单选,填字母:A .s=Text1.text; B .List.clear C.Text2.Text = Str(cnt))

    图b

  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim s As String, c As String, tmp As String

    Dim i As Integer, cnt As Integer

    Dim flag As Boolean

    cnt=0 : flag = True

    List.Clear: s = Text1.Text: Text1.text=""

    For i = 1 To Len(s)

    ch = Mid(s, i, 1)

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

    tmp = tmp + ch

    If Len(tmp) > 1 Then

    If   ①   Then flag = False

    End If

    Else

    If flag Then

    List1.AddItem tmp: cnt = cnt + 1

    Else

    flag = True

    End If

    tmp = ""

    End If

    Next i

    If flag Then List1.AddItem tmp: cnt = cnt + 1

    If   ②   Then Text2.Text = "找不到" Else Text2.Text = Str(cnt)

    End Sub

     ② 

  3. (3) 成功修改第1题中错误的程序代码后,若文本框Text1中输入的内容为

    “11 456 7 4443 488 666666”,单击“筛选密码”按钮,文本框Text2中显示的内容是

某算法的部分流程图如图所示,执行这部分流程后,变量a、b的值分别是(  )

A . 3,4 B . 3,5  C . 8,13 D . 8,15
有以下VB程序段:

For i=1 To 3

 For j=i To 5

  If a(j) > a(j+1) Then

   t=a(j): a(j)=a(j+1): a(j+1)=t

  End If

 Next j

 List1.AdcIItem Str(a(i))

Next i

a(1)到a(6)的初始值依次为“8 6 5 7 9 3 ”,经过该程序段“加工”后,列表框List1中显示的是(  )

A . 8 7 6 B . 8 7 9 C . 6 5 3 D . 5 6 7
在VB中编制一个含有一个窗体的VB应用程序并保存在磁盘上,运行测试后编译成可执行程序,整个过程中肯定会产生的文件类型是(  )
A . .vbp、.frm、.exe B . .vbp、.exe、.txt C . .txt、.frm、.exe D . .vbp、.txt、.frm
下列VB表达式的值为6的是(  )
A . 36 Mod 30 \ 3 B . Val("3+3") C . abs(Int(-5.34))+1 D . mid(“2016remember”,4,1)
   用户自定义函数是用户自己写的一段程序。一般包括等四部分。其中是必不可少的,可根据需要进行定义。
Python不支持的数据类型是(    )
A . int B . float C . char D . list
有如下VB程序段:

a=1:b=2:t=0

t=a:a=b:b=t

该程序段运行后,a,b的值为(  )

A . 1,2 B . 2,1 C . 1,0 D . 2,0
有如下VB程序段:

Dim s As String

s="浙江杭州市"

If Len(s)>=5 Then

  s=Mid(s,3,2)

Else

  s=Mid(s,1,2)

EndIf

该程序段运行后,s的值为(  )

A . "浙江杭州" B . "浙江" C . "杭州" D . "州市"
在字符串s中找连续最长不下降数字字符串长度max,如字符串“318714101223411624”连续最长不下降数字字符串为“012234”,其长度max为6,实现该功能的VB程序段如下:

s = "318714101223411624"

c=Mid(s, 1, 1):i=1:max=0

For j=2 To Len(s)

   

   

    If t> c Or j = Len(s) Then

        

        

    End If

Next j

上述程序段中方框处可选语句如下:

①i=j

②t=c

③c = Mid(s, j, 1)

④If j-i>max Then max=j-i

则(1)(2)(3)(4)处语句依次为(    )

A . ③②④① B . ②④③① C . ②③④① D . ③①④②
数据字典是专门用来描述数据本身的有关信息,是对数据流程图中的各元素的补充说明。
编程解决问题的一般过程是(    )

①设计算法 ②编写程序 ③调试运行 ④分析问题

A . ①②③④ B . ④①③② C . ④①②③ D . ①④②③
程序分析题:阅读下列程序,选出运行结果

for i in range(1, 11):    #i控制*的行数

    for j in range(i):   #j控制每行的个数

        print("*",end=' ')   #输出*

        print( )           #输出换行

A .     B .   C .   D .

运行结果是:(填:A/B/C/D)

有如下Python程序段:

a=[2,3,5,6,9]

x=min(a);y=max(a);ans=a[1]

if x**2>y:

    ans = ans + x**2

    ans = ans// 2

else:

    ans=ans+y

    ans=ans号y

print (ans)

执行该程序段后,输出的内容是(     )

A . 6 B . 5 C . 4 D . 3
在Python中,ord( )函数的作用是将字符转换为对应的ASCII码值,chr()函数的作用是将ASCII码值转换为对应的字符。阅读下列程序,写出运行结果。

def encrypt(st1):

st2=""

for s in stl:

st2 += chr(ord(s)+5)

return st2

print(encrypt("ktocji"))

运行结果是

有如下VB程序段:

s = 0: i = 1

Do While i <= 10

    If i Mod 3 = 0 Then a(i) = a(i) + 1 Else a(i) = i

    List1.AddItem Str(a(i))

    i = i + 1

Loop

i = 10

Do While i >= 1

    If a(i) = 1 Then s = s + 1

    i = i - 1

Loop

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

A . 3 B . C . 5 D . 9
最近更新