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

编写VB程序,界面设计如图所示,使其具有下列功能:在文本框Text1中输入一个小于20的正整数n,单击“计算”按钮Command1,计算斐波那契数列中第n项的值,并在标签Label2中输出结果;若输入错误,则在标签Label2中显示相应的提示信息。(斐波那契数列是指这样的数列:1,1,2,3,5,8,13…。即:第1项和第2项的值均为1,从第3项开始,每一项的值是它前面两项之和)

  1. (1) 代码“Private Sub Command1_Click()”中的Command1 是       。(单选,填字母)
    A . 对象名 B . 属性名 C . 属性值 D . 事件名
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim n As Long, k As Integer

    Dim f1 As Long, f2 As Long, f As Long

    =Val(Text1.Text)

        If n >= 20 Or n <= 0 Then

            Label2.Caption = "输入的数据有误"

        Else

            If n <= 2 Then         ' 第1,2个元素的值都为1

                f = 1

            Else

                f1 = 1

                f2 = 1

                For k = 3 To n

                    f = f1 + f2

                    f1 = f2

                    f2 = f

                Nextk

            End If

            Label2.Caption = "斐波那契数列第" + Str(n) + "项的值为" +  

        End If

    End Sub

  3. (3) 若在文本框Text1.Text输入21,则标签Label2显示的内容为
下列问题不能用算法描述的是 (   )
A . 找出所有能被3整除的自然数 B . 输入身高体重,判断体型情况 C . 找出1000个整数中的最大值与最小值 D . 将(64)10  转换为对应的二进制数
下列关于循环结构的叙述,正确的是(   )
A . For与Next语句必须成对使用,有一个For必有一个Next与之对应 B . 循环体执行次数确定的情况,只能用For…Next循环 C . For…Next循环只能与For…Next嵌套使用,而不能与Do while…Loop嵌套使用 D . 在For…Next循环语句中,终值必须大于初值
计算结果为0的表达式是(  )
A . Int(2.4)+Int(-2.8) B . ABS(-10)+SGN(-10) C . Fix(2.4)+Int(-2.8) D . Fix(2.4)+Fix(-2.8)
编写了一个寻找最长连续相同子串的程序,功能如下:程序运行时,在文本框Text1中输入一个非降序字符串。单击输出按钮Command1后,在文本框text2上显示最长相同子串。程序运行界面如图所示。

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

    Private Sub Command1_Click()

    Dim a(1 To 100) As String, s As String

    Dim i As Integer, m As Integer, n As Integer, pos As Integer

    Dim L As Integer, R As Integer, length As Integer, Max As Integer

    s = Text1.Text

    n = Len(s)

    For i = 1 To n

     a(i) = Mid(s, i, 1)

    Next i

    For i = 1 To n

     L = i + 1: R = n

     Do While L <= R

     m = (L + R) \ 2

     If Then

     L = m + 1

     Else

     R = m - 1

     End If

     Loop

     If length > Max Then

     Max = length : pos = i

     End If

     i = i + length - 1

    Next i

    Text2.Text =

    End Sub

  2. (2) 上述程序段中加框处代码有误,请改正。
  3. (3) 若文本框Text1中输入的非降字符串是“00111222”,执行这段程序后,文本框Text2中输出的内容是
如果将上题流程图中的算法用Python程序实现,以下代码中哪处语句存在语法错误:(  )

inp=input("请输入a、b: ")  #1

a=float(inp.split( )[0])

b=float(inp.sp1it( )[1])  #2

if a>b:  #3

    print(a)

else    #4

    print(b)

A . 1 B . 2 C . 3 D . 4
阅读下列程序,写出运行结果

Dim a As Integer

Dim k As Integer

s = 0

For k = 1 To 6 Step 2

s = s + k

Next k

Print s

输出s的值是

下列程序段执行后,a的值为(  )

For i=1To 9

    For j=i To 9

        a=i*j

        List1.AddItem i&"*"&j&"="&a

    Next j

Next i

A . 81 B . 45 C . 9 D . 1
(    )类型类似于数据库表结构的数据结构,其是含有行索引和列索引的二维数组结构。
A . ndarray B . Series C . DataFrame D . 字典
下面哪条语句不能用 表示(      )
A . i>=3 B . i=5 C . i mod 2=1 D . print i
下列结果为True的逻辑表达式是(    )。
A . (5<13)or(6>9) B . Int(3.1)>Sqr(9) C . (3<>5) And (5=10) D . Len("0")=0
现有列表l=[1,2,3,4,5,6,7,8,9,0],那么python3解释器执行l[1:3]='abc'后执行 l[2]的结果是(    )
A . 4 B . b C . abc D . c
已知字典dict1={"01":"Jan","02":"Feb","03":"March","04":"April","05":"May"},现要在字典dict1中增加一个键为"06"值为"June"的元素,下列语句能实现的是(    )
A . dict1[06]="June" B . dict1["06"]=["06":"June"] C . dict1["06"]={"June"} D . dict1["06"]= "June"
输入三条边长,若能构成三角形,则利用海伦公式计算该三角形的面积。海伦公式为: ,式中a,b,c分别为三角形的三边长,p为周长的一半,s为三角形的面积。实现上述功能的Python程序代码如下,请在程序划线处填入合适的代码。

a=eval(input("a="))

b=eval(input("b="))

c=eval(input("c="))

if :

    print("周长为", a+b+c)

    p=(a+b+c)/2

    s=

    print("面积为",s)

else:

    print("不能构成三角形")

执行下列Python程序段后,变量n的值是(   )

n=0

for i in range(1,4):

   n+=i

A . 4 B . 3 C . 6 D . 1
下列程序的运行结果是(      )

PRIVATE SUB FORM_CLICK( )

S=1

FOR I = 1 TO 5

    S=S*I

NEXT I

PRINT S,I

END SUB

A . 15    6 B . 120    6 C . 15     5 D . 120     5
某次测试的excel文件成绩表如图1所示。

图1

  1. (1) 已知有200名同学参加了本次测试。小明想把全体同学的信息平均分放在D202单元格,那么在D202单元格输入的公式为
  2. (2) 现在要求用python增加“总分”列数据,然后求每个班总分的平均分(如图图2),最后绘制每班总分平均分的垂直柱形图(如图3)。请在程序①②选择合适的代码

    图2

    图3

    import pandas as pd

    import matplotlib.pyplot as plt

    #图表中文显示处理,代码略

    df=pd.read_excel("test.xlsx")

    score=[]

    for i in df.values:

      js=   ①            #①处请选择  (填字母):A . df["信息"]+ df["通用"] / B . i[3]+i[4]

      score.append(js)

      df["总分"]=score

      df1=df.groupby("班级",as_index=False) ["总分"].mean()

      plt.title("期中技术平均分")

      plt.   ②   (df1["班级"],df1["总分"],width=0.5)        #②处请选择   (填字母):A . plot / B . bar /C . scatter

有如下VB程序段:

Dim s As String, i As Integer

Dim c As String, s1 As String

s =“Visual_ Basic_ 2018”

s1=“”

For i=1 To Len(s) Step2

    c = Mid(s, i, 1)

    If c>=“a”Andc<=“z” Then

        s1=c+s1

    End If

Next i

Text1. Text = s1

执行该程序段后,文本框Text1显示的内容是(     )

A . sai B . iaas C . isa D . Saai
阅读下面四段代码,判断哪个选项正确(      )

A . ①②运行结果均输出9 B . ①③运行结果相同,②④运行结果相同 C . ②③运行结果均为换行输出1 4 9 D . ①④运行结果相同,②③运行结果相同
在python中,下面代码的输出结果是(    )

x=10

y=3

print(x%y)

A . 3 B . 13 C . 30 D . 1
最近更新