• 1、居民身份证号码由十七位数字和一位校验码组成。从左至右依次为:六位地址码,八位出生日期码,三位顺序码和一位校验码。校验码生成规则:把身份证前 17 位的每一个数字和一串加权因子相乘后累加求和;将求得的和与11做取余运算得到校验码序号,最后在校验码字符串中提取与序号相对应的字符作为校验码。具体步骤如下:

    ⑴计算校验码序号:根据公式∑(ai×Wi) Mod 11 (i=2~18)计算得到校验码的序号;

    其中:i:表示号码字符的位置序号,身份证号左边开始第1位的位置序号为18,第2位为17,依次类推,……最后一位的序号为1;

    ai:表示第i位置上的号码字符的值;

    Wi:示第i位置上的加权因子,通过公式w(i) = 2 ^ (i - 1) Mod 11计算得到。

    ⑵提取校验码字符:根据步骤(1)得到的序号提取对应的校验码字符。对应关系如下表所示,如:序号0对应校验码“1”,序号1对应校验码“0”。

    序号

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    校验码

    1

    0

    X

    9

    8

    7

    6

    5

    4

    3

    2

    若步骤(2)中提取到的校验码值和身份证号最后一位相同,则校验通过,否则校验失败(即身份证号有误)。

    根据上述原理设计了一个身份证校验VB程序,功能如下:程序启动时从数据库student.accdb中读入学生身份证数据(共15个班级),并在列表框List1中显示,单击“校验”按钮Command1,在列表框List2中输出身份证号有误的班级、出错人数以及出错的学生信息。

    实现上述功能的VB程序如下,请回答下列问题:

    (1)、分析程序,可知存放学生身份证信息的数据表为
    (2)、请在划线处填入合适的代码。

    Const max = 1000

    Dim n As Integer    '存放学生人数

    Dim sfzh(1 To max) As String, xm(1 To max) As String

    Dim bj(1 To max) As Integer, flag(1 To max) As Boolean, cw(1 To 15) As Integer

    Function check(x As String) As Boolean

      Dim jym As String

      Dim i As Integer, sum As Integer, xh As Integer

      Dim a(1 To 18) As Integer, w(1 To 18) As Integer

      jym = "10X98765432"

      For i = 18 To 2 Step -1

        a(i) = Val(Mid(x, 19 - i, 1))

      Next i

      For i = 18 To 1 Step -1

        w(i) = 2 ^ (i - 1) Mod 11

      Next i

      sum = 0

      For i = 2 To 18

       

      Next i

      xh = sum Mod 11

      If Mid(jym, xh + 1, 1) = Mid(x, 18, 1) Then

        check = True

      Else

        check = False

      End If

    End Function

    Private Sub Form_Load()

      Dim conn As New ADODB.Connection

      Dim rs As New ADODB.Recordset

      Conn.ConnectionString = "provider=Microsoft.ace.oledb.12.0;data source=" + App.Path + "\student.accdb"

      Conn.Open

      Set rs.ActiveConnection = conn

      rs.Open "select * from stu_info"

      '本过程其余代码实现读取学生的身份证号、姓名和班级分别存数组sfzh、xm和bj中,并在列表框List1中显示,学生人数存变量n中。代码略

    End Sub

    Private Sub Command1_Click()

      Dim i As Integer, j As Integer

      List2.Clear

      For i = 1 To n

        If  Then

          flag(i) = True

        Else

          flag(i) = False

        End If

      Next i

      For i = 1 To 15

        cw(i) = 0

      Next i

      For i = 1 To 15

        For j = 1 To n

          If  Then

            cw(i) = cw(i) + 1

            List2.AddItem sfzh(j) + "  " + adj(xm(j), 3)

          End If

        Next j

        If cw(i) > 0 Then

          List2.AddItem Str(i) + "班共有以上" + Str(cw(i)) + "个身份证号错误"

        End If

      Next i

    End Sub

  • 2、有n件重量各不相同的物品,从中挑选2件物品使其重量和等于k。编写了一个VB程序实现上述功能,运行程序,从数据库中读取n件物品的编号和重量并在列表框List1中显示,在文本框Text1中输入重量k后,单击“挑选”按钮Command1,在列表框List2中按重量从小到大显示各物品的编号和重量,在列表框List3中显示所有符合条件的物品编号;若未找到,则输出“未找到这样的组合”。程序运行界面如图所示。

    (1)、程序运行时,按钮Command1上显示“挑选”,是通过设置该对象的属性实现的(单选,填字母:A.Text /B.Caption /C.Font)。
    (2)、实现上述功能的VB程序如下,请在划线处填入合适代码。

    Const n = 10

    Dim num(1 To n) As Integer, w(1 To n) As Integer

    Private Sub Form_Load()

      '本过程从数据库中读入n件物品的编号和重量分别存数组num,w中,并在List1中显示,代码略。

    End Sub

    Private Sub Command1_Click()

      Dim i As Integer, j As Integer

      Dim t As Integer, f As Boolean

      Dim p As Integer, q As Integer

      Dim k As Integer, flag As Boolean

      f = False

      i = 1

      Do While

        f = True

        For j = n To i + 1 Step -1

          If Then

            t = num(j): num(j) = num(j - 1): num(j - 1) = t

            t = w(j): w(j) = w(j - 1): w(j - 1) = t

            f = False

          End If

        Next j

        

      Loop

      For i = 1 To n

        List2.AddItem Str(num(i)) + "  " + Str(w(i))

      Next i

      k = Val(Text1.Text)

      flag = False

      p = 1: q = n

      Do While 

        If w(p) + w(q) < k Then

          p = p + 1

        ElseIf w(p) + w(q) > k Then

          q = q - 1

        Else

          List3.AddItem Str(num(p)) + "和" + Str(num(q))

          flag = True

          p = p + 1: q = q - 1

        End If

      Loop

      If Not flag Then

        List3.AddItem "未找到这样的组合"

      End If

    End Sub

    (3)、程序加框处的代码有误,请改正。
  • 3、使用Flash软件创作“白露”作品,其中“main”场景的制作脚本如下表所示。

    场景名:main

    类别序号:2

    进入方式:来自“片头”场景,通过“白露”按钮进入

    呈现方式:

    ①小船从左往右缓慢移动。时长5秒。

    ②白鹤挥动着翅膀从舞台外向舞台右下方飞入,时长3秒,再往右上方飞行,时长3秒。

    ③文字从舞台上方移动到舞台中,时长4秒。

    ④“简介”和“退出”按钮位于舞台右下角,单击“简介”按钮打开同目录下的“简介.txt”文件,单击“退出”按钮,停止当前声音的播放,并跳转到“片尾”场景第1帧继续播放。(其它略)

    呈现顺序:

    ①开始时出现背景图片、白鹤动画和背景音乐。

    ②1秒时开始出现小船动画。

    ③最后出现“简介”和“退出”按钮,并自动停止动画播放,背景音乐不停止。

    (1)、分析制作脚本,下列说法正确的有                 (多选,填字母)。
    A、文字脚本是制作动画的直接依据 B、场景最后出现“简介”和“退出”按钮 C、可以使用影片剪辑元件制作白鹤动画 D、背景音乐同步方式可以设置为“数据流” E、当前场景的最后一帧需要添加动作脚本Stop();
    (2)、根据上述脚本,在Flash软件中编辑“main”场景,部分界面如图所示。请回答下列问题:

    如上图所示,“白鹤”图层的第30帧到第60帧实现白鹤从左下往右上移动的动画效果,则该动画类型是(单选,填字母:A .动画补间 / B .形状补间 / C .逐帧动画)。若要使“白鹤”图层第1帧到第60帧动画中白鹤的飞行路径变为直线,则可选中该图层第30帧执行(填字母:A .清除帧 / B .清除关键帧 / C .删除帧)。

    (3)、在上图所示状态下,若要使“文字”图层的动画推迟1秒出现,且文字动画时长保持不变,则可行的操作是
    (4)、测试影片时,单击当前场景中的“退出”按钮,停止当前声音的播放,并跳转到“片尾”场景第1帧继续播放,以下脚本命令正确的是         (多选,填字母)。
    A、on (release) {stopAllSounds();play();} B、on (release) {stopAllSounds();play("片尾",1);} C、on (release) {stopAllSounds();gotoAndplay(1);} D、on (release) {stopAllSounds();gotoAndplay("片尾",1);}
  • 4、小王收集了2019和2020年杭州市各区县(市)GDP数据,并使用Excel软件进行数据处理,如图a所示。

    图a

    请回答下列问题:

    (1)、区域D3:D17的数据是通过公式计算得到的,在D3单元格中输入公式后,使用自动填充功能完成区域D4:D17的计算,则D3单元格中的公式是。(提示:同比增幅% =(2020年(亿元)-2019年(亿元))/ 2019年(亿元)*100)
    (2)、若对“2020年(亿元)”列进行筛选,筛选设置都如图b所示,则筛选出的区县(市)有个(填数字)。

    图b

    图c

    (3)、根据图a中的数据制作图表如图c所示,下列说法正确的有                  (多选,填字母)。
    A、由图c可知2020年杭州市各区县(市)GDP最高的是余杭区 B、对数据区域C3:C17设置单元格格式“2位小数”,图c所示的图表会随之改变 C、对数据区域A2:E17按“2020年(亿元)”降序排序后,公式仍旧可以正确计算2020年各区县(市)GDP名次 D、在图a所示工作表的“2020年(亿元)”列前插入一列“2019年排名”,图c所示图表会随之改变
  • 5、某对分查找算法的VB程序段如下:

    key = Int(Rnd * 10) * 2

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

    Do While i <= j

      m = (i + j) \ 2

      If a(m) = key Then

        Exit Do

      ElseIf a(m) > key Then

        j = m - 1: s = s + "0"

      Else

        i = m + 1: s = s + "1"

      End If

    Loop

    Text1.Text = s

    数组a的值依次为1,3,4,7,9,10,14,17,18,19,执行该程序段后,文本框Text2中显示的内容为“1010”,则key的值可能是(   )

    A、12 B、13 C、14 D、15
  • 6、有如下VB 程序段:

    For i = 1 To 7

      a(i) = Int(Rnd * 9) + 1

    Next i

    s = 0

    For i = 1 To 6

      If a(i) < a(i + 1) Then

        f(i) = 1

      ElseIf a(i) > a(i + 1) Then

        f(i) = -1

      Else

        f(i) = 0

      End If

      s = s + f(i)

    Next i

    执行该程序段后,变量s的值为0,则数组a各元素的值可能是(   )

    A、9 8 4 1 3 3 9 B、1 2 3 6 5 3 0 C、1 8 6 2 4 3 8 D、6 4 4 5 6 7 1
  • 7、下列VB 程序段功能为:在文本框Textl和Text2中分别输入两个长度相等的单词s1和s2,判断s1和s2是否是由相同字母构成的异位词,如“tea”和“eat”为相同字母构成的异位词,若是相同字母构成的异位词,则在标签Label1上显示“Yes”,否则显示“NO”。

    s1 = Text1.Text: s2 = Text2.Text

    For i = 1 To Len(s1)

      ch1 = Mid(s1, i, 1): ch2 = Mid(s2, i, 1)

      f(Asc(ch1) - Asc("a") + 1) = f(Asc(ch1) - Asc("a") + 1) + 1

        ⑴  

    Next i

    flag = True

    For i = 1 To 26

      If f(i) <> 0 Then   ⑵   : Exit For

    Next i

    If   ⑴   Then Label1.Caption = "Yes" Else Label1.Caption = "No"

    上述程序段中方框处被选语句为:

    ①f(Asc(ch1) - Asc("a") + 1) = f(Asc(ch1) - Asc("a") + 1) + 1

        ②f(Asc(ch2) - Asc("a") + 1) = f(Asc(ch2) - Asc("a") + 1) – 1 

    ③flag = True    

    ④flag = False

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

    A、①③④ B、②③④ C、①④③ D、②④③
  • 8、有如下VB程序段:

    s1 = "algorithm"

    If Len(s1) Mod 2 = 1 Then

      i = Len(s1) \ 2: j = Len(s1) \ 2 + 2

      s2 = Mid(s1, i + 1, 1)

    Else

      i = Len(s1) \ 2: j = Len(s1) \ 2 + 1

    End If

    Do While i >= 1

      If Mid(s1, i, 1) > Mid(s1, j, 1) Then

        s2 = Mid(s1, i, 1) + s2

      Else

        s2 = s2 + Mid(s1, j, 1)

      End If

      i = i - 1: j = j + 1

    Loop

    Label1.Caption = s2

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

    A、lortm B、rotlm C、mltor D、lormt
  • 9、某算法的部分流程图如图所示

    执行这部分流程,若依次输入-1,-3,4,2,2,-1,8,7,6,0,则输出变量m的值为(   )

    A、2 B、3 C、4 D、5
  • 10、n个人的编号为1~n,从1到n号依次顺时针围成一个圈,若当前某人编号为p,则顺时针后续第2个人的编号为(   )
    A、p + 2 B、p Mod n + 2 C、(p + 1) Mod n + 1 D、(p + 1) Mod (n - 1) + 1
  • 11、使用 Photoshop 软件制作“四月你好”作品,部分界面如图所示

    下列说法正确的是(   )

    A、可以直接使用移动工具移动“四”图层中的文字 B、可以直接使用填充工具把“spring”图层中文字填充为绿色 C、“四”图层设置了两种图层样式,且这两种图层样式均可视 D、可直接对“小孩和风筝”图层设置“镜头光晕”滤镜效果
  • 12、关于数制的说法,正确的是(   )
    A、二进制数1111001转换为十六进制数是F1 B、最大的7位二进制数转换为十进制数是128 C、若十六进制数n末位为9,则十六进制数n+1末位是0 D、若在一个十六进制数的末尾补1个0,则新数是原数16倍
  • 13、下列关于Access数据表的说法,正确的是(   )
    A、重命名数据表,数据表名不能与数据库名相同 B、同一数据表中各记录的字段数是相同的 C、修改数据表字段的数据类型不会影响字段的值 D、可以在设计视图中添加、删除和修改记录
  • 14、下列关于信息安全的说法,不正确的是(   )
    A、由纯数字组合而成密码安全性相对较高 B、QQ好友发来的链接不一定是真实可信的 C、使用数据加密技术加密数据可以提高安全性 D、随意连接公共场所的WIFI存在安全风险
  • 15、下列关于信息与信息技术的说法,正确的是(   )
    A、未经证实的消息不是信息 B、计算机内部只能存储数字化后的信息 C、信息技术就是使用计算机处理各种信息的技术 D、人工智能技术能够帮助人们解决一切实际问题
  • 16、某校举办技术学科统测,参加统测的每个学生有班级序号、姓名(字母缩写)和统测的技术成绩。现需整理统测数据,要求是:先按班级序号从小到大排列;然后,同一班级的学生按技术成绩从大到小排列。按上述要求,编写一个VB程序,功能如下:在列表框List中显示整理前的数据,单击“整理”按钮Commandl1,整理结果显示在列表框List2中,程序运行界面如图所示。

    (1)、将数组元素d(1)到d(640)分为16段,如果每段恰好包含40个元素,采用选择法排序算法分别对每段中的元素进行排序,整个排序过程中,数组元素之间的比较次数是    (单选,填字母:
    A、640×639/2次/ B、16×40×39/2次/ C、40×16×15/2次)。
    (2)、请在划线处填入合适的代码。

    Const n=640   '参加统测总学生数

    Const nc =16  '班级数

    Dim class(1 To n) As Integer, sname(1 To n)As String, score(1 To n) As Integer

    Dim b( To nc) As Integer        '存储每个班级的参加统测人数

    Dim c(1 To nc) As Integer

    Dim d(1 To n)As Integer

    Private Sub Form_Load()

        '本过程读取每个参加统测学生的班级序号、姓名和统测成绩分别存储在数组class,sname和 score中并在List1中显示,代码略

    End Sub

    Private Sub Command1_Click()

        Dim i As Integer, j As Integer, k As Integer

        For i = 1 To nc

            b(i) = 0

        Next i

        For i = 1 To n           '统计每个班级统测人数

              

        Next i

        k = 1

        For i = 1 To nc

            c(i) = k

            k = k + b(i)

        Next i

        For i = 1 To n

            k = class (i)

            

            c(k) = c(k) + 1

        Next i

        For i = 1 To nc        '对各班级按统测成绩进行排序

            Call px(),c(i)-1))

        Next i

        For i = 1 To n

            List2.AddItem " " & class(d(i)) & " "& sname (d(i)) & " " & score(d(i))

        Next i

    End Sub

    Private Sub px(head As Integer, tail As Integer)

        Dim i As Integer, j As Integer, t As Integer

        For i = head To tail - 1

            For j = tail To i + 1 Step -1

                If Then

                    t = d(j): d(j) = d(j - 1): d(j - 1) = t

                End If

            Next j

        Next i

    End Sub

  • 17、小明在玩翻转棋盘的游戏,游戏规则是在一个4*4的棋盘中挑选棋子(棋子只有黑白两面,0表示白,1表示黑),对于每颗被挑选的棋子,要将该棋子和它在棋盘上的上下左右4个相邻位置上的棋子一起翻转,若某个方向上无棋子,则不作处理,最后使得棋盘纯色(纯白或纯黑)。

    如上图所示的棋盘,需要选择第2行第2列、第4行第2列两颗棋子,按照规则进行翻转便可使得棋盘变为纯黑。现编写程序找出实现棋盘纯色所需翻转棋子次数最少的方案并输出所挑选棋子的个数,若无答案则输出“无法翻转为纯色”。

    解决该问题的算法原理:棋盘翻转方案为0000000000000000~1111111111111111之间的某几种,即十进制数 0~65535,利用枚举算法在0~65535之间枚举,即可找到最优方案。假设被选翻转棋子状态用1表示被选中,0表示不选中。例如某方案的十进制为1028即 2^10+2^2,转化为一个16位的二进制串0000010000000100就表示该棋盘中的第2行第2列、第4行第2列这两个棋子及其上下左右被选中翻转,我们认为该方案选中两个棋子进行翻转。

    程序运行界面如下图所示,请回答下列问题。

    (1)、若某方案用十进制表示为100,则该方案总共选择了个棋子进行翻转。
    (2)、实现上述功能的程序代码如下,请将划线处的代码补充完整。

    '数组a储存棋盘原状态,数组b储存翻转后的棋盘状态

    Dim a(1 To 16) As Integer, b(1 To 16) As Integer, minc As Long

    Private Sub Form_Load()

      '生成原始由0、1组成的棋盘状态,用数组 a(1)-a(16)保存,代码略

    End Sub

    Private Sub Command1_Click()

      Dim k As Integer, c As Integer, i As Long, j As Long

      minc = 100

      For i = 0 To 65535

        For j = 1 To 16       '初始化棋盘

          b(j) = a(j)

        Next j

        k = 16: c = 0: j = i

        Do While j > 0

          If j Mod 2=1 Then

            b(k) = 1 - b(k)

            If k > 4 Then b(k - 4) = 1 - b(k - 4)

            If  Then b(k + 4) = 1 - b(k + 4)

            If k Mod 4 <> 0 Then b(k + 1) = 1 - b(k + 1)

            If k Mod 4 <> 1 Then b(k - 1) = 1 - b(k - 1)

            c = c + 1

          End If

         

          k = k - 1

        Loop

        If Then minc = c

      Next i

      If minc = 100 Then Label1.Caption = "无法翻转为纯色!" Else Label1.Caption = "最少翻" + Str(minc) + "次"

    End Sub

    Function check() As Boolean       '判断棋盘是否纯色

      Dim flag As Boolean, i As Integer

      flag = True

      For i = 1 To 15

        If Then flag = False: Exit For

      Next i

      check = flag

    End Function

    (3)、代码加框处有误,请改正。
  • 18、小吴创作“热烈庆祝中国共产党成立100周年”的多媒体作品,其中“热烈庆祝中国共产党”这几个字为动态效果。她首先使用Photoshop软件制作一张背景图片,然后使用Flash软件制作动画。请回答下列问题:
    (1)、小吴想用Photoshop软件打开如图a的jpg格式图片素材进行处理,得到图b的结果。在图a进行以下几个步骤的操作可以实现(多选,填字母:A .使用“矩形选区工具”选中图正中的直线,删除/B .使用“橡皮擦”工具擦除图中的直线/C .使用“裁剪工具”选中图中需要保留的部分,裁剪/ D .使用“矩形选区工具”选中图中需要的部分,反选后删除/E .使用“图像大小”功能适当减小图像像素,删除多余的内容)。

    图a

    图b

    (2)、如图c,要使按钮图层的元件实例在40帧才出现,应该如何操作?

    图c

    (3)、“庆祝语”影片剪辑元件编辑界面如图d所示,该元件1-17帧实现“热烈庆祝中国共产党”逐字出现的文字动画,20-35帧实现飘带动画。若测试影片时该元件实例的文字动画仅播放一次,飘带动画不断重复播放,则如何实现?

    图d

    (4)、测试影片时出现如图e所示的错误提示,结合图c,判断动作脚本错误发生在图层,应该如何改正

    图e

  • 19、下列VB程序段功能为:在降序排序数组a中(a(1)≥a(2).....≥a(n)),查找数据key,若能找到,则输出该数在数组a中第一次出现的位置,否则输出“找不到”。

    i=1:j=n

    Do While i<j

    m=(i+j)\2

    If   ①   Then

    i=m+ 1

    Else

      ②  

    End If

    Loop

    Ifa(i)=key Then Label1.Caption=Str(i) Else Label1.Caption="找不到"

    上述程序段两个横线处的语句分别为(    )

    A、①key<a(m)    ②j=m-1 B、①key>a(m)      ②j=m C、①key<=a(m)     ②j=m-1 D、①key>=a(m)        ②j=m
  • 20、某程序段如下:

    s = "happy": n = Len(s)

    For i = 1 To n

      x = Int(Rnd * n + 1)

      c = Mid(s, x, 1)

      If x Mod 2 = 0 Then

        c = Chr((Asc(c) - Asc("a") + 1) Mod 26 + Asc("a"))

      Else

        c = Chr(Asc("a") + 25 - (Asc(c) - Asc("a")))

      End If

      s1 = c + s1

    Next i

    则运行本程序段后,变量s1的值不可能为(   )

    A、"bbkkq" B、"qbqsq" C、"kksqk" D、"gboqx"
上一页 590 591 592 593 594 下一页 跳转