4.1.2 Python的数据类型 知识点题库

在VB中,可以作为变量名的是(   )
A . T@t B . 2t5 C . Int D . S_t
设有以下定义语句:    
Dim min As Single ,  d2 As Double , abc As String
则变量min的类型是() ,变量d2的类型是() ,变量abc的类型是()。
A.可变类型   B.单精度型   C.双精度型   D.字符串型
在Visual Basic中,下列能作为变量名的是(  )
A . If B . Not C . Int D . Flag
【加试题】有如下VB程序段:

      flag = True : i = 1

      Do While i <= 6

          x = Int(Rnd * 100) + 1 

          If flag Or x >50 Then

               a(i)=x

               flag = Not flag

               i = i + 1

          End if

      Loop

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

A . 52,95,46,74,77,83 B . 50,55,46,70,21,97 C . 62,78,57,61,69,50 D . 31,54,48,72,50,82
在Visual Basic中,下列能作为变量名的是(  )
A . x+5 B . b@7 C . 2a D . miss1
编写VB程序,实现如下功能:输入年月日,求该日是这一年的第几天。程序运行时,在文本框“TextNian”中输入年,在文本框“TextYue”中输入月,在文本框“TextRi”中输入日。单击“点击计算”按钮“ButtonRun”进行计算,结果输出到文本框“TextAnswer”中。程序界面如图所示。

请回答下列问题:

  1. (1) 应用程序界面设计时,设置文本框“TextNian”的显示内容为空,应设置该对象的属性为空白。
  2. (2) 为实现上述功能,请在划线处填写合适的代码。

    Private Sub()

    Dim nian As Integer, yue As Integer, ri As Integer

    Dim ans As Integer, i As Integer

    Dim a(1 To 12) As Integer    ‘a(i)存储第i个月的天数

    a(1) = 31: a(2) = 28: a(3) = 31: a(4) = 30

    a(5) = 31: a(6) = 30: a(7) = 31: a(8) = 31

    a(9) = 30: a(10) = 31: a(11) = 30: a(12) = 31

    nian = Val(TextNian.Text)

    yue = Val(TextYue.Text)

    ri = Val(TextRi.Text)

    For i = 1 To yue - 1   ‘依次加上之前每个月的天数

      ans =

    Next i

    ans = ans + ri    ‘加上当月的天数

    If yue > 2 Then    ‘包含2月时,判断是否闰年,修正总天数

     If nian Mod 400 = 0 Then ans = ans + 1

     If nian Mod 4 = 0 And nian Mod 100 <> 0 Then ans = ans + 1

    End If

    =Str(ans)

    End Sub

语句Dim a&(1 To 20), b#(2, -1 To 1)定义两个数组,其类型分别为(  )
A . 二维单精度实型数组和二双精度型数组 B . 二维长整型数组和二维单精度实型数组 C . 一维单精度实型数组和二维整型数组 D . 一维长整型数组和二维双精度型数组
某 VB段程序如下:

Dim a(1 To 5) As Integer Randomize

s = 0

Do While s<5

t = Int(Rnd * 5 + 1) a(t) = a(t) + 1

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

Loop

已知数组a(1)到 a(5)的初值均为0,该段程序运行后,下列说法正确的是(  )

A . 循环至多循环5次 B . 数组a(1)到a(5)的值有可能为3,2,1,5,9 C . 程序运行过程中可能会出现“下标越界”的错误提示 D . 加框处语句改为“s<=5”,程序仍能正常运行
由n行数字组成的数字三角形如图所示。设计一个算法,对于由n行数字组成的数字三角形(数字范围[1,50],计算从三角形的顶至底的路径经过的数字和的最大值,每一步可以从当前点走到左下方的点也可以走到右下方的点。

寻求路径最大值的算法设计如下:

按三角形的行划分,若有n行,则有n-1个步骤

①从底层开始,本身数即为最大值

②倒数第二层的计算取决于底层的数据:

12+6=18,13+14=27,24+15=39,24+8=32;

③倒数第三层的计算取决于底二层的数据:

27+12=39,39+7=46,39+26=65;

④倒数第四层的计算取决于底三层的数据:

46+11=57,65+8=73;

④最后的路径:13—8—26—15—24其和为86。

根据上述算法描述,设计程序界面如下图所示,点击“生成金字塔”按钮,在列表框中生成数字金字塔,点击“寻求路径最大值”按钮,在文本框text1中输出最大值。

依据上述描述设计如下VB程序:

Const n = 5

Dim sx As String

Dim i, j, k, a(1 To 100) As Integer Private Sub Command1_Click() List1.Clear

For i = 1 To n For j = 1 To i

    ①  

sx = sx + Str(a((i - 1) * n + j)) Next j

For k = n To i Step -1 sx = " " + sx

Next k List1.AddItem sx sx = ""

Next i End Sub

Private Sub Command2_Click() For i = n To 1 Step -1

For j = 2 To i

If    ②   Then

a((i - 2) * n + j - 1) = a((i - 1) * n + j - 1) + a((i - 2) * n + j - 1)

Else

a((i - 2) * n + j - 1) = a((i - 1) * n + j) + a((i - 2) * n + j - 1)

End If Next j

Next i

    ③  

End Sub

请回答下列问题:

  1. (1) 若数字金字塔如图 ,输出路径最大值是
  2. (2) 请在①②③划线处填入合适的代码。

     ② ③ 

有如下VB程序段:

For i = 1 To 9 Step 2

  b(a(i) Mod 10) = b(a(i) Mod 10) + 1

Next i

s = 0

For i = 0 To 9 Step 3

  s =s + b(i)

Next i

数组b各元素初始值为0, 数组元素a(1)到a(9)的值依次为“29,74,12,38,16,45,21,57,33”,则执行该程序段后,s的值为(  )

A . 5 B . 4 C . 3 D . 2
有如下VB程序段:

a(1)=1:a(2)=1

b(1)=1:b(2)=2

For i=3 To 5

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

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

Next i

执行该程序段后,数组元素b(5)的值为(  )

A . 12 B . 8 C . 5 D . 4
有如下VB程序段:

Dim a(1 To 6)As Integer

Sum=0

For i=1 To 6

  For j=i+1 To 6

    If j Mod i=0 Then a(j)=1-a(j)

  Next j

Next i

For i=1 To 6

  Sum=Sum+a(i)

Next i

Text1.Text=Str(Sum)

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

A . 3 B . 4 C . 5 D . 6
有如下VB程序段:

Const n = 10

Dim a (1 To n) As Integer

Dim mid As Integer,L As Integer,R As Integer Randomize

  a(1) = 10

  For i = 2 To n

  a(i) = a(i-1) + Int(Rnd*2) + 1

  Next i

    c = 0:L = 1:R=n:flag = False:Key = 11

    Do While L< = R And Not flag

      mid = Int((L+R)/2+0.5)

      c = c+1

      If a(mid) = Key Then

        flag = True

      Else If a(mid) > Key Then

        R = mid-1

      Else

        L = mid+1

      End If

    Loop

执行该程序段后,变量c可能的値是(    )

A . 1或2 B . 2或3 C . 3或4 D . 4或2
下列VB表达式中:⑴Sqr(x)  ⑵Text1.Text  ⑶Command1.Caption  ⑷“45”+“34”  ⑸45+34  值为字符串类型的是(  )
A . (1)(3)(5) B . (2)(3)(4) C . (1)(2)(3) D . (2)(4)(5)
在VB语言中关于常量与变量,以下表述错误的是(  )。
A . 字符串常量可以是空字符串 B . 变量X的值是1023,读取X的值以后,X的值不变 C . True和False都是逻辑型常量 D . 遵循“先定义,后使用”的原则,使用变量只需定义变量名
有如下VB程序段:

Dim a(1 To 20)As Integer

For i=2 To 10

    For j=2 To 20\i

        a(i*j)=a(i*j)+1

    Next j

Next i

运行该程序段后,数组a中值为1的元素个数为(  )

A . 1个 B . 2个 C . 3个 D . 4个
某银行为了提升服务质量,需设计一个计算机程序,用于回答用户如下问题:“m元钱需要存多少年(m为大于等于5的整数),才能得到至少k元本息?”假定该银行某款理财产品的储蓄和盈利方式为:①存期以年为单位,存款以元为单位;②不论存期的长短,年利率均为3.7%;③不计复利。

请用Python语言回答下列问题:

  1. (1) 若变量m用于存储本金,变量k用于存储本息,则变量m的数据类型为,变量k的数据类型为
  2. (2) 若变量y表示储蓄年份,则用m、k表示y的Python赋值方法为 。
  3. (3) 为提高程序的可读性,请将变量m重新命名为
  4. (4) 变量命名的过程中需要注意什么?(至少写出2点)
已知在数组score中存储了某标准化建设学校(每班学生人数为40)高三学生的第一次技术选考赋分成绩,其中score(1)存储班级数class, score(2)开始顺序存储1至class各班技术赋分成绩。例score(2)- score(41)存储1班学生成绩,score(42)- score(81)存储2班学生成绩。小李根据上述描述,设计了一个统计各班技术分数段人数分布的VB程序。单击“统计”按钮Command1,每个班级按分数段统计人数,分数段分为: 40-49 分、50-59 分、60-69分、70-79分、80-89分、90-99分、100 分若干段。并在列表框List1中显示数组score 各个元素的值,在列表框List2中显示各班各个分数段人数。程序界面如图所示。

请回答下列问题:

  1. (1) 若要清空列表框List1,能实现该功能的语句是                (单选,填字母)。
    A . List1.Caption= " " B . List1.Text = " " C . List1.Clear
  2. (2) 实现各分数段统计功能的VB程序如下,请在划线处填入合适的代码。

    Dim score(1 To 1000) As Integer

    Dim class As Integer, n As Integer, m As Integer

    Private Sub Command1_Click0

        Dim num(1 To 7) As Integer

        Dim result As String, rs As String, bj As String

        列表框List2中输出第一行信息, 代码略

       

        n=class*40+ 1

        For i= 1 To n

            List1.AddItem Str(score(i))

        Next i

        For i= 1 To 7

            num(i)= 0

        Next i

        m=0

        For i=2 To n

            

            num(x) = num(x) + 1

            If i Mod 40= 1 Then

                

                result = Str(m) + "班"

                For k= 1To 7

                    rs = Str(num(k))+"人”

                    result= result + rs

               Next k

               List2.AddItem result

               Fork= 1 To 7

                   

               Next k

            End If

        Next i

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
阅读材料,完成下题。

用计算机对《红楼梦》进行词频统计的研究,用计算机模拟水稻高产栽培的模型,“神州飞船”发射指挥中心使用大量的计算机设备对飞船的指挥和控制等等,无不体现计算机的魅力和神秘莫测!计算机像人类的大脑一样充满智慧,像神仙一样神机妙算,这些都是归于计算机程序的功劳。

  1. (1) 关于用计算机程序解决问题的步骤,正确的是                 
    A . 设计算法、编写程序、提出问题、调试程序、得到答案 B . 分析问题、编写程序、设计算法、调试程序、得到答案 C . 分析问题、设计算法、编写程序、调试程序、得到答案 D . 设计算法、提出问题、编写程序、调试程序、得到答案
  2. (2) 使用VB程序设计语言编写可以编写模拟飞行仿真程序,实现各种飞行训练功能。VB程序设计语言属于               
    A . 汇编语言 B . 机器语言 C . 低级语言 D . 高级语言
  3. (3) 程序有三种最基本的结构,分别是顺序结构、                和循环结构。
    A . 控制结构 B . 分支结构 C . 选择结构 D . 多分支结构
  4. (4) 在Visual Basic程序设计语言中,定义字符串类型的是               
    A . Integer B . Single C . String D . Boolean
  5. (5) 穷举法的适用范围是               
    A . 一切问题 B . 解的个数极多的问题 C . 解的个数有限且可一一列举的问题 D . 不适合设计算法的问题
已知 x = [3, 5, 7],那么执行语句 x[1:] = [2]之后,x的值为(  )。
A . [3,2] B . [5,2] C . [3,5,2] D . [2,5,7]
最近更新