算法及程序语言基础 知识点题库

执行后将会清空文本框Text1中文本的语句是(   )
A . Text1.Clear B . Text1.SelText= " " C . Text1.text= " " D . Text1.SelText.Clear
VB程序设计。某微群采用问题验证的加入方式,如图1所示:

1

徐明设计了一个VB程序用于寻找这个以211开头、可被2012整除的6位数。其算法流程图如图2所示,程序界面如图3所示,程序的代码编辑窗口如图4所示。

2


  1. (1) 图2所示流程图中采用的算法为(填:解析算法 / 枚举算法)。
  2. (2) 在图3所示窗体中,创建label2对象的方法正确的是          (填字母)。
    A . 双击工具箱中的“ ”控件 B . 单击工具箱中的“ ”控件,然后在窗体中按住鼠标左键拖曳
  3. (3) 在图3所示窗体的标题中显示 “寻找验证问题的答案” 字样,是通过修改该窗体对象的 (填:Font / Caption / Top)属性的值实现的。
  4. (4) 图4中的VB程序代码在(填:加载窗体 / 单击Label2 / 单击Command1)对象时被驱动执行。
  5. (5) 徐明在代码编辑窗口中,输入“Label2.”后出现如图5所示的信息,其中的“BackColor”是Label2的(填:事件名 / 对象名 / 属性名)。

    5

  6. (6) 图4中VB程序划线处应填写的代码为
  7. (7) 运行图4中VB程序后,弹出图6所示的出错信息提示,此时程序正执行的语句是 (填字母),改正该错误应修改的语句是(填字母)。

    6

    A.Dim k As Integer

    B.For k = 211000 To 211999

    C.Label2.Caption = Str(k)

  8. (8) 保存工程后,徐明发现结果文件夹中产生了yzwt.frm、yzwt.vbp、yzwt.vbw三个文件,其中窗体文件是
某算法的部分流程图如图所示,退出循环后输出的s和a值分别是:(  )

A . 5,15 B . 105,7 C . 51,5 D . 15,7
十进制数转换为二进制数的算法流程图如图所示,当输入十进制数63时,该流程图中循环体执行的次数为(   )

A . 4 B . 5 C . 6 D . 7
在某打游戏中,一开始每个玩家各有17张牌,牌型从小到大分别为“3~10、J、Q、K、A、2”,每种牌最多4张,现在按指定规则的顺序打牌:打完为止,规则如下:

先打顺子牌(顺子指连续的5个及以牌型,如45678,顺子最大到A),若有多个顺子,先长后短长度和同按先小后大的顺序打出然后按4张、3张、2张、1张的顺序出牌,同一个牌型从小到大。

小刘依据上述算法设计了VB程序,其中牌型“10”用数字“0”代替表示,如图所示,请回答下列问题。

  1. (1) 若初始牌型为344445566790JQKA2,第2次出的牌为
  2. (2) 请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    Dim a (1 To 13) As Integer, max As Integer, t As Integer, last As Integer

    Dim sa As String, stem As String, flag As Boolean

    Const s="34567890JQKA2"       '用0代替牌10

    '发牌和洗牌代码略,在标签Label1显示初始牌型,洗牌后数组a各元素分别存储牌型3~2的数量

    t=17      '刚开始牌有17张

    Do While t>0      '打牌

    flag=True

    Do While flag   '寻找牌中有没有顺子牌

    max =0: k =1: flag=False

    For i=1 To 13

    If   ①   Then

    k=k+1

    If k > Max Then

     Max = k

    Last = i+1     '记录连续牌的最后一张

    End If

    Else

    k=1

    End If

    Next i

    If Max >= 5 Then '有顺子牌,把最长的这把顺子打出来

    flag=True: sa= ""

    For j =    ②    To last

    Stem=Mid(s, j, 1)

    sa=sa +stem+ ""

    a(j)=a(j)-1

    Next j

    List1.AddItem sa     '顺子在列表框显示

    t=t-max

    End If

    Loop

    For i= 1 To 13     '出4个一样的牌

    If a(i)=4 Then

    stem=Mid(s, j, 1)

    List1.AddItem stem+stem+stem+stem

    a(i)=0

       ③  

    End If

    Next i

    '3张、2张、单张出牌,具体代码略

    Loop

    End Sub

     ② ③ 

某校最近开设了10节不同内容的选修课,课的编号为1~10。每位同学只能选报一门课。事先让学生做过问卷调查并根据自己的兴趣爱好填写了选课报名志愿表(无重复),如某同学的报名志愿表为4,1,2,7,3,5,8,10,9,6,表示他最想选报的课的编号是4(第一志愿),其次为1(第二志愿),以此类推。学校根据每位学生的问卷调查得分及选课报名志愿表进行了分班,每班30人。
分班方法:优先满足问卷得分最高同学的第一志愿,如果该同学第一志愿所报名人数超过30人,则尝试满足其第二志愿,以此类推,直至该同学选课成功。
编写程序实现选课分配功能并统计各志愿录取率情况:单击读取按钮Command1后,在列表框List1中显示每位学生的相关信息。单击统计按钮Command2后,统计第X志愿录取人数及录取率的统计结果清单,显示在列表框List2中。程序界面如图a所示。实现上述功能的VB程序代码如下,请回答下列问题:

  1. (1) 代码“List2.AddItem”中的AddItem是(单选,填字母:A .属性名/B .对象名/C .方法名/D .事件名)。
  2. (2) 在划线处填入合适代码。

     ② ③ 

编写一个程序,从键盘上输入3个数,计算这三个数的和,并输出结果。
表达式Str(-5)+"CHINA"的值是(  )
A . "5CHINA" B . "-5CHINA" C . 10 D . 0
下列属于常用的数据模型的是(  )

①网状模型     ②层次模型  ③关系模型   ④面向对象模型

A . ①②④ B . ②③④ C . ①③④ D . ①②③④
求1-100的所有数的和。
执行该程序段后,Text1显示的是(      )

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

s = "PRE2021reform": t = 0

For i = 1 To 5

    If a(i) >= t Then t = a(i)

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

Next i

Text1.Text = s

A . RE021rrm B . RE0rform C . PRE202rm D . RE021rform
在Python中,数据的输入是通过(    )来实现的。
A . input( )函数 B . print( )函数 C . bool( )函数 D . abs( )函数
世界上有很多国家向我国申购新冠疫苗。我国共有n个仓库存储疫苗,第i个仓库有疫苗a(i)(单位:万支,(单位:万支,下同)。现有m(n>=m)个国家向我国提出疫苗购买申请。我国计划将n个仓库中的疫苗全部分配给这m个国家。分配规则如下:①每个仓库中的疫苗只能作为一个整体分配给一个国家;②一个国家可以获得任意多个仓库的疫苗;③要求获得最多疫苗的国家与获得最少疫苗的国家之间疫苗数量差值最小;④若存在多个满足条件的分配方式,则输出最先找到的分配方式。

例如:若n=4,4个仓库中的疫苗数分别为50、13、80、27。若m=2,最小差值为10;若m=3,最小差值为40。

编写VB程序模拟上述功能,在文本框Text1中输入n(n≤15),在文本框Text2中输入m(m≤4),随机生成n个两位正整数,在列表框List1中输出。单击“计算”按钮Command1,在文本框Text3中输出最小差值,在列表框List2中输出每个国家获得疫苗的方案。程序运行界面如图所示。

  1. (1) 语句 List1.Clear 中的“Clear”属于(单选,填字母:A .对象名/B .属性名/C .方法名)。
  2. (2) 实现疫苗分配的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Const maxn = 15

        Dim n As Integer, i As Long, j As Long, k As Long, p As Integer, m As Integer

        Dim a(1 To maxn) As Long, f(1 To maxn) As Long

        Dim s(1 To maxn) As String, max As Long, min As Long, ans As Long, ansi As Long

        n = Val(Text1.Text): m = Val(Text2.Text)

        List1.Clear: List2.Clear: Randomize

        For i = 1 To n

              ① 

            List1.AddItem Str(a(i))

        Next i

        ans = 10000

        For i = 1 To m ^ n     '枚举所有的分配方案

            For j = 1 To m

                f(j) = 0

            Next j

            j = i: max = 0: min = 10000

            For k = 1 To n

                

                f(p) = f(p) + a(k)

                j = j \ m

            Next k

            For k = 1 To m

                If f(k) > max Then max = f(k)

                If f(k) < min Then min = f(k)

            Next k

            If    ②   Then

                ans = max - min

                   ③    

            End If

        Next i

        Text3.Text = Str(ans)

        For i = 1 To n

            j = ansi Mod m

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

            ansi = ansi \ m

        Next i

        For i = 1 To m

            List2.AddItem s(i)

        Next i

    End Sub

     ② ③ 

  3. (3) 程序中加框处代码有错,请改正。
某Python代码如下,执行后输出的结果是( )

L=['pear', 'apple', 'orange']

n=len(L[2])

ans=3

if n%2==0:

  ans*=n

else:

  ans+=n

ans-=5

print(ans)

A . 13 B . 3 C . 18 D . 8
图形符号“ ”在算法描述流程图中表示(     )
A . 算法的开始或结束 B . 输入/输出操作 C . 处理或运算的功能 D . 判断条件是否满足需求
为抗击疫情、保卫健康,很多公共场所出入口都安装了人脸识别测温系统解决方案。该系统具有隔空检测体温、人脸识别、口罩识别、考勤、门禁联动等功能,能快速完成检测。如下图所示:

 

  1. (1) 进出道闸时进行人脸检测和体温检测,对于符合条件的人员道闸会自动打开,反之则提示不能进入,此处的算法结构应该是结构。
  2. (2) 该道闸也可以通过在上图中①处刷IC卡开启道闸,此处利用了技术。
  3. (3) 人脸检测开启道闸的工作原理是:当人员通过时将人脸与系统中预先存储的人脸信息做比对,判断是否符合条件,上图中②处的数码相机作用是
  4. (4) 该系统可以与互联网相连接,为了提高该系统的安全性,上图中③处的设备是
使用海伦公式,输入三条边a、b、c(100 以内的整数值),输出该三边构成三角形的面积 s。(要求:按样例实现程序功能,输出包含两部分(1为输入的三条边值,2为三角形的面积)
海伦公式:

 

输出样例

在 VB的基本数据类型中以下(  )占4字节内存空间。
A . 整型 B . 布尔型 C . 日期型 D . 单精度型
某校要举行国际象棋比赛,计划组织k场对弈。每个人最多参加2场对弈,最少参加0场对弈。每个人都有一个与其他人不相同的等级(用一个正整数来表示)。在对弈中,等级高的人用黑色的棋子,等级低的人用白色的棋子。每个人最多只能用一次黑色的棋子和一次白色的棋子。为增加比赛的可观度,观众希望k场对弈中双方的等级差的总和最小。

比如有7个选手,他们的等级分别是30,17,26,41,19,38,18,要进行3场比赛。最好的安排是选手2对选手7,选手7对选手5,选手6对选手4。此时等级差的总和等于(18-17)+(19-18)+(41-38)=5达到最小。

窗体form1的运行界面如下图所示,用户在文本框Text1中输入各位选手的等级(以逗号分隔),在文本框Text2中输人要对弈的场数k,单击计算按钮Commmand1,在文本框Text3中显示最小等级差总和。程序运行界面如图所示。

  1. (1) 若要使得的在程序启动时文本框text1中内容自动清空,可在以下哪个事件处理过程中编写代码实现                 (选填)
    A . form1_load() B . Text1 _Change() C . form_load() D . text1_load()
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Dim a(0 To 1000) As Integer

    Dim b(0 To 1000) As Integer

    Private Sub Command1_ Click()

        Sum=0

        k = Val(Text2. Text)

        s =Text1. Text

        cnt =1

        For i=1 To Len(s)

            c=mid(s, i, 1)

            If c="," Then cnt=cnt+1 Else

        Next i

        For i=1 To cnt-1

            For j=1 To cnt-i

                If  Then

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

                End If

            Next j

        Next i

        '计算出各等级选手之间差值

        For i=1To cnt- 1

            b(i)=a(i+1)-a(i)

        Next i

        For i=1 To k

            Min=i

            

                If b(j) < b(Min) Then Min = j

            Next j

            Sum = Sum + b(Min)

            

        Next i

        Text3. Text = Str(Sum)

    End Sub

  3. (3) 加框处的程序代码有错,应改为
新冠疫情背景下,测量体温成为了常态。
  1. (1) 小明利用micro:bit开发板实现测量体温的功能,对应Python代码如下:

    from microbit import *

    while True:

        n=temperature()

        if 34<=n<=36.5:

            print('体温为'+str(n)+',体温偏低')

        if 36.5<n<=37.5:

            print('体温为'+str(n)+',体温正常')

        if 37.5<n<=40:

            print('体温为'+str(n)+',体温偏高')

        sleep(2000)

    如果小明的体温为36.8℃,则输出结果为

  2. (2) 小明希望向web服务器传输监测数据,并通过数据库进行记录。如果他希望进行信息系统搭建,那么他选择的架构是(填写:B/S或C/S)模式。他选择使用SQLite3数据库,以下不是其特点的一项是

    A. 轻量级   B. 独立性,没有依赖,无序安装   C.对大小写有严格的区分

  3. (3) 下列工作不属于概要设计阶段的是________。
    A . 开发者模式选择 B . 模块结构设计 C . 系统物理配置 D . 数据库管理系统选择
最近更新