2.4 可以复用的代码 知识点题库

小奕同学基于排序算法设计了一个数字矩阵排序的程序。程序界面如下图所示,在文本框中输入矩阵大小,点击“生成”按钮Command1,在左侧列表框List 1中输出一个长宽均为指定大小的随机整数矩阵,随机整数范围为【1,99】。点击“排序”按钮Command2,结果输出在右侧列表框List 2中,奇数行从左到右依次递增,偶数行从右至左依次递增,且保持输出矩阵的长宽不变。

  1. (1) 实现上述功能的VB程序如下,显示数据用的add item是一种(单选,填字母:A .属性名/B .事件名/C .方法名/D .过程名)。
  2. (2) 请在划线处填入合适的代码。

    Dim a( 1 To 100) As Integer

    Dim n As Integer

    Function dq(s As String, L As Integer) As String      ‘自定义对齐函数

        ‘在输入的字符串s前加若干空格,输出长度为L的字符串,代码略

    EndFunction

    Private SubCommand1_Click()     '生成数字矩阵

    ‘随机生成n^2个数字,存储在数组a中,代码略

    ‘以一行n个,共n行的格式显示在List 1中,代码略

    End Sub

    Private Sub Command2_Click()     '数字矩阵排序

         Dim i As Integer, k As Integer, j As Integer, s As String

         Dim f As Boolean

         List 2.Clear

         f=True

         For i=1 To n^2 Step n

              s=“”

             For j=i To

             k=n^2

             Do While   ① 

                If a(k) <a(k-1) Then

                      t=a(k):a(k)=a(k-1):a(k-1)=t

             End If

             k=k-1

    Loop

      If f=True Then

             s=s+“”+dq(Str(a(j) ) , 2)

      Else

      s=“”+dq(Str(a(j) ) , 2) +s

      End If

      Next j

      List 2.Add Items

        ② 

    Next i

    End Sub

     ② 

  3. (3) 程序中加框处代码有错,请改正。
执行以下代码,单击命令按钮Command1后,显示在窗体上第二行的内容是(  )

Private Sub Command1_Click()

Dim n As Integer, m As Integer

n=2: m=0

Do While m<3

n=n+2

If fun(n) Then

Print n

m=m+1

End If

Loop

End Sub

Function fun(x As Integer) As Boolean

fun=False

If x/2=Int(x/2) Then

fun=fun(x/2)

Else

If x=1 Then fun=True

End If

End Function

A . 4 B . 6 C . 8 D . 16
   Python内置函数用来返回序列中的最小元素。
   通过numpy模块中的函数可以创建一个等差数列。如在0-2π之间每隔0.01取个值,则可以用表示,其中numpy.pi表示
某航线关于乘客托运行李的规定如下:每位经济舱旅客可免费托运一-件重 量最多达20千克的行李,超出部分每f克需按经济舱全价票的1.5%来收取(对人民币以分进行四舍五人,金额以元为单位)。用weight表示行李的重量,price表示经济舱全价票价格。实现上述功能的Python程序段如下。

import math

def pay(w,p):

   if w>20:

       ①   

      return money

   else:

   returm 0

weight = int(input("行李重量:"))

price = int(input("机票价格:"))

extra =   ②   

print("超重量行李费为:"+str(extra))

  1. (1) 若北京到三亚的经济舱全价票是2310元,小华要托运22千克,那么行李超重费用为
  2. (2) 请在程序中划线处填入的代码。

     ② 

某日期加密授权码生成方法描述如下:

1)授权码由10位字符组成,前8位为日期的密文,后2位为验证码;

2)从右往左依次取日期的每一位字符,若该字符第一次出现,则直接取其对应的加密字符,否则取下一个不重复的加密字符。按此操作,依次取出该日期余下各位对应的加密字符;如日期为20201223,则依次取出的字符为“3、2、2、1、0、2、0、2”。

3)求出所有日期字符数值的和,将和除16取余加1得到一位验证码字符;若和不小于16,则将和除16取整加1得到另一位验证码字符,否则另一位验证码字符为小写字母“x”。取出验证码重复时,处理规则与(2)相同。

加密(验证码)字符对应表如下:

值(十进制)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

加密(验证码)字符

A

K

p

j

L

t

W

b

m

a

P

F

Z

q

y

c

设计一个生成8位日期(YYYYMMDD格式)授权码的VB程序。程序功能如下:在文本框text1中输入一个8位有效日期,单击“授权码”按钮comand1,在标签label2中显示出该日期的授权码。运行效果如图所示。

图片_x0020_100012

  1. (1) 若输入的日期是“20210108”,则label2上显示内容为
  2. (2) 实现上述功能的VB程序段如下,请在划线处填入合适代码。

    Dim f(0 To 15)As Integer

    Const code = "AKpjLtWbmaPFZqyc"

    Private Sub Comand1_Click()

        Dim rq As String, sq As String

        Dim c As Integer, i As Integer, d As Integer

        For i = 0 To 15

            f(i)= 0

        Next i

        rq = Text1. Text

        sq="":d= 0

        If Len(rq) <> 8 Then

            Labe12. Caption ="请重新输入8位日期"

        Else

            For i = 1 To 8

    c = Val(Mid(rq,i,1))

                d =d + c

                sq =

            Next i

            If d >= 16 Then

                yz = getchar(d Mod 16 + 1) + getchar(d \ 16 + 1)

            Else

                yz = getchar(d Mod 16+ 1) + "x"

            End If

            Label2. Caption = sq + yz

        End If

    End Sub

    Function getchar(x As Integer) As String    '获取不重复的加密字符

        Dim flag As Boolean

        flag = False

        Do while flag = False

            f(x)=f(x)+ 1

            If f(x)= 1 Then

                getchar =

                f(x)=f(x)+ 1

                flag = True

            Else

                

            End If

        Loop

    End Function

在python语言中,通过关键字(     )来定义函数。
A . def B . function C . fun D . procedure
在BXY中输入代码如图所示,Music模块为MicroPython所提供播放音乐的方法。

代码中ragsatastop,tep)函数表示从start开始到stop结束的范围内,进行步长step的变化。标号5所在行代码表示设置音乐的频率,并循环改变,则每次循环音乐频率的变化是(     )

A . 增加880 B . 减少16 C . 增加1760 D . 增加16
小范在服务器端编写FlaskWeb框架的Python程序,访问该系统的Web地址为//17/.1.1.200:88部分代码如下:

from flask import Flask, render_ template      #导入Flask库

app = Flask(_ name_ )

   ①  

def index( ):

#获取数据库中传感器采集的数据,并存储在变量temp中,代码略

if   ②  

app.run(host=   ③   )

  1. (1) 为实现上述功能,请在划线处填入合适的代码。

     ② ③ 

  2. (2) 简单描述方框处代码的功能:
一元二次方程ax2+bx+c=0(a≠0),当b2-4ac≥0,方程有两个不同的实数根,当b2-4ac<0时,方程无实数根。

(问题求解)下面的python程序实现的功能是判断方程是否有实数根。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。

import math

a=int(input("请输入a的值:"))

b=int(input("请输入b的值:"))

c=int(input("请输入c的值:"))

d= #将表达式b2-4ac的值赋给变量d

if

    print("x1=",(-b+math.sqrt(d))/(2*a))  #输出方程的其中一个实数根

    print("x2=",()           #输出方程的另一个实数根

else:

      #输出“方程无实数根”

随机产生10个[100,199]之间的整数,依次存储到数组元素a(1)~a(10)中。实现此功能的部分算法流程图如图所示,图中空白处理框①和②处应填入的是(   )

A . ①i←i+1   ②a(i)←Int((Rnd+1)*100) B . ①i←i+1   ②a(i)←Int(Rnd+1)*100 C . ①a(i)←Int((Rnd+1)*100)    ②i←i+1 D . ①a(i)←Int(Rnd+1)*100   ②i←i+1
有如下VB程序段:

i=1

Do While i<=6

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

    If a(i) mod 3=1 then

        a(i)=a(i)+i mod 3

    Elself a(i) mod 2=1 then

        a(i)=a(i) mod 3

    End If

i=i+1

Loop

执行该程序段后,以下选项中a(1)~a(6)的值不可能是(     )

A . 0  0  0  0  0  0 B . 2  8  6  2  0  1 C . 7  4  3  1  0  3 D . 8  6  0  9  2  7
下面代码的输出结果是(   )。

def exchange(a,b):

    a,b=b,a

    return(a,b)

    x=10

    y=20

    x,y=exchange(x,y)

print(x,y)

A . 20 10 B . 20 10 C . 10 10 D . 20 20
为了便于数据的表示也处理,python提供了整数、浮点数和字符串等常见的数据类型。它们可以把数据从一种类型转换为另外一种类型。下面可以把字符串或整数转换成浮点数R的选项是(     )。
A . input() B . int() C . str() D . float()
文本加密:利用Mid和Asc函数获取文本和密码字符串每一位字符的ASCII码,然后将文本中某一位字符串的ASCII码与相应的密码字符串中某一位的ASCII码就行异或运算。最后利用Chr函数将运算出的ASCII转换为字符。运行程序,在文本框中输入要加密的字符串和密码,并点击“加密”按钮,在文本框中显示加密或解密后的字符串,显示结果如下图所示。

程序代码如下:

Dim x As String

Dim y As String

Dim c(1 To 100) As String

Private Sub Command1_Click()

    Dim z As String

    x = Text1.Text

    y = Text3.Text

    z = f(x,y)

    Text2.Text = z

End Sub

Function f(x As String, y As String) As String

    Dim i, w, achar As Integer

    Dim mm As String

    w = Asc(y)

    For i = 1 To Len(x)

        achar = Asc(Mid(x, i, 1))

        c(i) =  Chr(x Xor y)     ‘

    Next i

    For t = 1 To Len(x)

        mm = mm+achar       ‘

    Next t

    f = mm

End Function

程序代码有2处错误,请在画线处写上正确代码。

有如下VB程序段:

s= Text1.Text

s1=" "

For i=1 To Len(s)

    c= Mid(s, i, 1)

    If c>="A" And c<="Z" Then

        t=(Asc©-asc("A")+25)Mod 26

        c=Chr(t+ Asc("A"))

    End If

    s1=s1+c

Next i

Text2.Text=s1

s1=s1+c

在文本框Text1中输入“ABcd2XY”,执行上述程序段后,文本框Text2中输出(    )

A . ZAWX B . ZAcd12WX C . XWAZ D . XW21dcAZ
有如下Python程序段:

import jieba

str="热烈庆祝建党100周年"

fc=jieba.lcut(str)

print(fc)

for i in fc[::1]:

    print(i)

已知分词之后的文本输出fc为:['热烈庆祝', '建党', '100', '周年'],则程序运行结束后的结果是(        )

A . 周年100建党热烈庆祝 B . 热烈庆祝

建党

100

周年

C . 热烈庆祝建党100周年 D . 年周001党建祝庆烈热
用二分法求解 x3- x2 + x - 1 = 0,完善下面程序。(     )

def f(x):

#定义方程

return x**3-x**2+x-1

a=float(input("请输入解区间的左边界:"))

b=float(input("请输入解区间的右边界:"))

while abs(b-a)>1e-6:

    x0=(a+b)/2

    if (   ①   ):

        b=x0     

    if (   ②   ):

        a=x0  

    if (   ③   ):

        break

print("解为:",x0)

input("运行完毕,请按回车键退出...")

A . ①f(a)*f(x0)>0;②f(b)*f(x0)<0;③f(x0)==0 B . ①f(a)*f(x0)<0;②f(b)*f(x0)<0;③f(x0)==0 C . ①f(a)*f(x0)<0;②f(b)*f(x0)<0;③f(x0)=0        D . ①f(a)*f(x0)<0;②f(b)*f(x0)>0;③f(x0)==0
用Python编辑器打开“Y:\91下的文件“求奇数的和.py”,进行以下操作并保存结果。

①请填空完善该程序,实现功能:求1到100之间所奇数的和。

注:程序修改时,请把下划线及序号删除;不能删除注释语句。

s=0        #s中存放1-100之间所有奇数的和

for i in range(, 100, ):

    s =

print(s)

②编写完成后原名保存并关闭应用软件。

某加密算法程序段如下所示:

def jiami(x):

if "A"<=x<="Z":

  y=chr(ord(x)+32)

elif "0"<=x<="9":

  y=str((int(x)+1)%10)

else:

  y=x

return y

mingwen=input("请输入明文")

miwen=""

for x in mingwen:

  miwen=miwen+jiami(x)

  print("密文为:",miwen)

输入“Abc@789”并运行程序,输出结果是(    )

A . abc8910 B . abc@890 C . ABC678 D . aBC@789
最近更新