1. 小申想为小朋友们开发一款阅读相关的应用程序,该程序可以统计某位小朋友一周内每天阅读时间小于家长设定值(每周设置一次)的天数。
(1) 在抽象与建模阶段,小申初步设计了计算模型,用day表示天数,time 表示每天阅读时间,1imit 表示家长的设定值。请问其中day变量的数据类型为(   ) A. float B. str C. int D. bool
(2) 在设计算法阶段,以下流程图应填入的选项是(   )

A. ①i=i+1 ②day=day+1 B. ①i=i+1 ②time=time+1 C. ①day=day+1 ②i=i+1 D. ①time=time+1 ②i=i+1
(3) 根据上述算法描述,我们知道解决该问题的算法为枚举法,枚举算法的特点为(   )。 A. 一一列举 逐一检验 B. 一一检验 逐一列举 C. 重复检验 D. 重复列举
(4) 枚举算法的结构特征是(       )。 A. 分支结构中嵌套循环结构 B. 分支结构中嵌套分支结构 C. 循环结构中嵌套循环结构 D. 循环结构中嵌套分支结构
(5) 在编写程序阶段,小申想用range(起始值、终值、步长)函数生成一个长度为7的整数序列,用于表示一周7天。以下适用的语句是(            ) 。

①range(0, 7)  ②range(1, 7)  ③range(0, 7, 1)

④range(1,7,1)  ⑤range(7,1,-1)  ⑥range(7,0,-1)

A. ①③⑥ B. ②④⑥ C. ①③⑤ D. ②④⑤
(6) 在调试运行阶段,小申发现程序并未达到预期的效果,如图1、图2所示,请分析原因并加以改正。

①day=0

②limit=float (input(“请输入家长设定值(小时) :”))

③for i in range(7):

④   time=float(input(“请输入阅读时间(小时) :”))

⑤   if time>limit:

⑥      day=day+1

⑦print(“有”, day, “天阅读时间小于家长设定值”)

图1 预期结果

图2 调试结果

请写出出错的语句的编号,并写出修改后的语句: 。

【考点】
程序的调试及运行; 常见数据类型、数组; 枚举算法及程序实现; 流程图识读; 常用标准函数;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 困难
能力提升
换一批
1. 当计算机程序中无法用普通数据类型表示位数较多的乘数和计算结果时,就需要采用高精度乘法。如:当两个各有20位数字的整数相乘时,就无法用长整型(Long)数据类型来表示。高精度乘法运算就是运用数组,用程序模拟列竖式计算的过程。两个正整数进行高精度乘法计算的一般算法如下:

⑴将第一个整数各位上的数字按照从低位到高位的顺序依次存入数组a(1)、a(2)、…、a(La)中,将另一个整数各位上的数字按照从低位到高位的顺序依次存入数组b(1)、b(2)、…、b(Lb)中。其中,La表示第一个整数的位数,Lb表示第二个整数的位数;

⑵按照从低位到高位的顺序,将两个整数各位数值进行逐位乘法计算(第一轮先让b(1)依次乘以a(1)、a(2)、…、a(La),第二轮再让b(2)依次乘以a(1)、a(2)、…、a(La),依次进行),每位的乘法结果也按照低位到高位的顺序依次存入数组ans(1)、ans(2)、ans(3)…中;

⑶对数组ans中的计算结果进行从低位到高位的进位处理;

⑷统计数组ans中实际计算结果的有效数值位数,并将位数值存入变量length;

⑸按照高位到低位的顺序输出数组ans中的计算结果。

小强按照上述方法设计了一个两数进行高精度乘法计算的VB程序,功能如下:在文本框Text1和Text2中依次输入两个整数,单击“计算”按钮Command1,程序进行高精度乘法计算,并在标签Label4中输出计算结果。下面信息显示了进行高精度乘法计算的主要过程(假设输入的两个整数分别为“123”和“45”):

图a

图b

程序运行效果如图所示。

图c

实现上述功能的VB程序如下:

(1) 请在划线处填入合适代码。

Dim a(1 To 30)As Integer, b(1 To 30) As Integer, ans (1 To 60) As Integer

Dim La As Integer, Lb As Integer, length As Integer

Private Sub Command1_Click()

Dim i As Integer, j As Integer, t As Integer, temp As String

'将两个乘数(正整数)各数位上的数字按照上述算法依次存入数组a和b,每个正整数位数分别保存到变量La和Lb;将保存结果的数组ans(i)值初始化为零(该部分程序代码略)

For i=1 To Lb   

For j=1 To La

ans(i+j-1) =

Next j

Next i

For i=1 To La+Lb  

ans(i+1)=ans(i+1)+ans(i)\10

ans(i)=

Next i

length=La+Lb

Do While ans(length)=0

length=length-1

Loop

For i= To 1 Step -1

Label4.Caption=Label4.Caption&Str(ans(i))

Next i

End Sub

(2) 根据本题算法,若输入的两个整数分别为5125和18,则在输出乘法计算结果时,变量length的值为
综合题 困难