相关试卷
-
1、用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。
-
2、算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的无穷集合。
-
3、算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤。
-
4、下列关于算法说法不正确的是( )A、算法独立于任何具体的语言,Python算法只能用Python语言来实现 B、解决问题的过程就是实现算法的过程 C、算法是程序设计的“灵魂” D、算法可以通过编程来实现
-
5、算法的重要特征不包括以下哪一项? ( )A、有穷性 B、确定性 C、数据输出 D、唯一性
-
6、小明设置了一个每天早上都响的闹钟。平时闹钟响后,他会关掉闹钟然后起床,周末他会关掉闹钟睡到自然醒,下面流程图中(1)、(2)处分别应该填入( )
A、是(Y) 否(N) B、否(N) 是(Y) C、是(Y) 是(Y) D、否(N) 否(N) -
7、算法设计是编写程序的基础。下列关于算法的叙述正确的是( )A、算法结果不唯一 B、算法可以没有输出 C、算法必须具有确定性 D、算法的表示必须使计算机能理解
-
8、某地区中考录取采用“平行志愿”的投档录取方式,该录取方式的具体规则为:
①根据考生的考试总分从高到低依次对考生的填报志愿进行投档;
②每位考生可填三个志愿学校,轮到该考生投档时依次对其三个志愿进行投档,若第一志愿学校还有剩余招生名额,就被第一志愿学校录取,结束该考生的投档,否则需对其后续志愿学校进行同样的投档操作,若该考生所填的所有志愿学校都没有剩余招生名额,则该考生无法被任何学校录取,该考生的投档结束。
③当所有学校都已完成计划招生数时,停止投档,录取结束。
编写 VB 程序,实现上述“平行志愿”投档录取的功能,单击“读取考生数据”按钮 Command1, 则从数据库中获取所有考生的成绩、志愿信息以及每个学校的计划招生数,单击“投档录取”按钮 Command2,开始进行投档录取, 并在列表框 List1 中输出每个学校的计划招生数、实际招生数、录取分数线和最低录取名次信息,程序运行界面如图所示。请回答下列问题:
(1)、若A校计划招生520人,B校计划招生480人,C校计划招生540人,某同学的考分名次为490名,其三个志愿学校依次为B校、A校、C校,且已知同名次的人数最多有30人,则该同学不可能被哪所学校录取:。(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。Const schCnt = 5 '学校数量
Const stuMaxCnt = 10000 '最多考生人数
Dim zsCnt(1 To schCnt) As Integer '存储每个学校的计划招生人数
Dim zsCnt2(1 To schCnt) As Integer '存储每个学校的实际招生人数
Dim a(1 To stuMaxCnt) As Single '存储考生总分成绩
Dim b(1 To stuMaxCnt * 3) As Integer '存储考试志愿,每个考生有3个志愿,每个志愿为学校编号
Dim stuCnt As Integer '实际考生总人数
Private Sub Command1_Click()
'从数据库中读取所有考生的总分和志愿信息存储到数组a和数组b中(第1个考生总分存储到a(1),第1个考生的3个志愿分别存储到b(1)、b(2)、b(3)中, …),然后按总分对数组a和数组b进行降序排序,总分相同时,需根据各科成绩决定排序先后,但名次相同,考生总人数存储到stuCnt变量中;
'读取每个学校的计划招生数,存储到数组zsCnt中;
'以上功能代码略
End Sub
Private Sub Command2_Click()
Dim sch As Integer '学校代码,用1~5中的一个数字表示某学校代码
Dim i As Integer, j As Integer, finished As Integer, prevScore As Single
Dim stuMc(1 To stuMaxCnt) As Integer
Dim MinScore(1 To schCnt) As Single
Dim MinMc(1 To schCnt) As Integer
finished = 0: i = 1
prevScore = -1
Do While
If a(i) = prevScore Then
stuMc(i) = stuMc(i - 1)
Else
End If
prevScore = a(i)
For j = 1 To 3
If zsCnt2(sch) < zsCnt(sch) Then
zsCnt2(sch) = zsCnt2(sch) + 1
MinScore(sch) = a(i)
MinMc(sch) = stuMc(i)
Exit For
End If
Next j
finished = 0
For j = 1 To schCnt
If zsCnt2(j) = zsCnt(j) Then
finished = finished + 1
End If
Next j
i = i + 1
Loop
'在List1中输出每所学校的代码、计划招生数、实际招生数、录取分数线、最低录取名次,代码略
End Sub
-
9、某校老师编写一个VB程序分析学生技术成绩,功能如下:在列表框List1中显示原始学生信息,单击“分析”按钮Command1,统计各班参加考试人数、高分(97及以上)人数和均分,并按班级均分从大到小显示在列表框List2中,程序运行界面如图所示。
实现上述功能的VB程序段如下,请回答下列问题:
(1)、学生成绩存储在数据表中,其字段名是(2)、请在划线处填入合适的代码。Dim recCount As Integer '存放学生人数
Dim sClass(1 To 1000) As Integer '存放学生班级
Dim sName(1 To 1000) As String '存放学生姓名
Dim sScore(1 To 1000) As Integer '存放学生成绩
Private Sub Command1_Click()
Dim i As Integer, t As Integer, nc As Integer
Dim a(1 To 20) As Integer, b(1 To 20) As Integer '分别存放班级高分人数和班级参加考试人数
Dim sum(1 To 20) As Integer, ave(1 To 20) As Single '分别存放班级总分和班级均分
Dim c(1 To 20) As Integer
For i = 1 To recCount
b(t) = b(t) + 1
If b(t) = 1 Then
nc = nc + 1
End If
If sScore(i) >= 97 Then a(t) = a(t) + 1
sum(t) = sum(t) + sScore(i)
Next i
For i = 1 To nc
ave(c(i)) = Int(sum(c(i)) / b(c(i)) * 100 + 0.5) / 100
Next i
For i = 1 To nc - 1
For j = nc To i + 1 Step -1
If Then
t = c(j): c(j) = c(j - 1): c(j - 1) = t
End If
Next j
Next i
For i = 1 To nc
List2.AddItem Str(c(i)) + " " + Str(b(c(i))) + " " + Str(a(c(i))) + " " + Str(ave(c(i)))
Next i
End Sub
Private Sub Form_Load()
'链接数据库,代码略
recCount = 0
Do While Not rs.EOF
recCount = recCount + 1
sClass(recCount) = rs.Fields("class")
sName(recCount) = rs.Fields("name")
sScore(recCount) = rs.Fields("score")
rs.MoveNext
Loop
'将数据显示在列表框List1中,代码略
End Sub
-
10、如果一个正整数从左到右读与从右到左读是一样的,就称它为回文式数(简称回数),如图321。“回数猜想”的主要思想是,对任意正整数,若它不是回数,则按下列算法即可获得一个回数:
⑴把该整数的数字顺序颠倒,求得该数的逆序数;
⑵将该整数和其对应的逆序数相加;
⑶若相加结果不是回数,则将结果作为新的整数,返回步骤⑴。
小林按照上述算法,设计了验证回数猜想的VB程序(猜想次数不超过10次),程序功能如下:在文本框Text1中输入一个正整数,单击“验证”按钮(Command1),获取文本框Text1中的数,当该数不是回数时,采用回数猜想的方法进行验证,并在列表框List1中输出每次验证的过程,若验证成功或验证次数超过10次,则停止验证,最后在列表框List1中输出验证结果。程序运行效果如图所示。
实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim t As String, a As Long, b As Long
Dim count As Integer ‘count用于存储回数猜想的验证次数
t = Text1.Text
count = 1
Do While Check(t) = False And count <= 10
a = Val(t)
①
c = a + b
List1.AddItem Str(a) & " +" & Str(b) & " =" & Str(c)
count = count + 1
t = c
Loop
If Check(t) Then
List1.AddItem "验证成功!"
Else
List1.AddItem "10次内未验证成功!"
End If
End Sub
' 自定义函数Turn
Function Turn(x As String) As Long
Dim s As String, i As Integer
s = ""
For i = Len(x) To 1 Step -1
s = s & Mid(x, i, 1)
Next i
Turn = ②
End Function
‘自定义函数Check,检查x是否为回文数
Function Check(x As String) As Boolean
Dim i As Integer
Check = True
For i = 1 To Len(x) \ 2 Step 1
If Mid(x, i, 1) <> ③ Then Check = False mid(x,len(x)+1-i,1)
Next i
End Function
(1)、程序代码中,自定义函数Turn(x)的功能是(2)、请在划线处填入合适代码。① ② ③
-
11、某数据解密算法描述如下:
1)在输入的数字字符串中依次提取有效的密文,有效的密文的特点:
①是一组连续的,都小于5的三位数字串;②每个位置上的数字不能被重复提取;
2)对有效密文进行解密的过程:
将密文作为一个五进制数转换为对应的十进制数值,根据ASCII字符的十进制编码表,得出对应的明文字符(提示:空格符所对应的ASCII码值为十进制数32,小写字母“z”所对应的ASCII码值为十进制数122).
例如,密文242转换成十进制数为72,对应的明文字符为大写字母“H”。
程序运行界面如下图所示,在文本框Text1中输入密文,单击“解密”按钮,在文本框Text2中输出解密后的明文密码。
(1)、若输入的密文为“841497230235”,则对应的明文是。(2)、实现上述功能的VB代码如下。划线处的语句有错,应改为。'以下代码是将有效密文数字转换为十进制数的函数
Function conv(p As String) As Integer
Dim k As Integer, q As String, i As Integer
k = 0: g = ""
For i = 1 To 3
q = Mid(p, i, 1)
①
Next i
conv = k
End Function
Private Sub Command1_Click()
Dim st As String, p As String, res As String
Dim c1 As String, c2 As String, c3 As String
Dim i As Integer, d As Integer, n As Integer
st = Text1.Text: n = Len(st)
i = 1: res = ""
Do While i <= n – 2 '提取有效密文,并进行转换
c1 = Mid(st, i, 1): c2 = Mid(st, i + 1, 1): c3 = Mid(st, i + 2, 1)
If c1<"5" Or c2 <"5" Or c3 <"5" Then
②
d=conv(p)
If d >= 32 And d <= 122 Then res = res + Chr(d)
③
Else
i = i + 1
End If
Loop
Text2.Text = res
End Sub
(3)、请在划线处填入合适的代码.① ② ③
-
12、编写VB程序,实现如下功能:单击“计算”按钮,在列表框List1中产生10个[1,99]随机数,文本框Text1显示相邻两个数字之间相差最大的差值。运行界面如图所示。
(1)、窗体上,“计算”按钮的对象名是。(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。Private sub cmd1_click( )
Dim b(1 to 10) as integer
Dim i as integer, max as integer, a as integer, c as integer
Max=0
For i=1 to 10
Randomize
A=int(rnd*99)+1
List1.additem str(a)
Next i
For i=2 to 10
C=
If c>max then
Next i
End sub
-
13、下面程序执行结束,文本框Text1中显示( )
Private Sub Form_Click()
a = "123": b = "456"
c = Val(a) + Val(b)
Text1.Text=str(c\100)
End Sub
A、123 B、3 C、5 D、579 -
14、x和n都是正整数且x<=n,下列选项中,与语句“x=x Mod n +1”功能相同的是( )A、x=(x+1) Mod n B、
C、
D、
-
15、现有流程图如下,关于流程图的说法正确的是( )
A、运行后,输入语句一定会被执行三次 B、程序运行后,输入语句至少会被执行一次 C、该程序的循环次数为3次 D、第一次输入guess的值为8,则程序运行结果为“对不起,你失败了!” -
16、计算机能直接识别和执行的语言是( )A、汇编语言 B、机器语言 C、高级语言 D、C语言
-
17、输入一个十进制数n,转换成二进制,在划线处填空。实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim a As Integer, s As String
Dim n As Integer, t As Integer, v As Integer
n = Val(Text1.Text)
s = ""
Do While n > 0
a = ①
n = ②
s = ③
Loop
Text2.Text = s
End Sub
-
18、s=int(input(“请输入一个两位数:”))
s=s//6
print(s)
程序运行后,键盘输入31,其输出结果为
-
19、下列四个选项中,能正确地将x和y两个变量中的数据进行交换的是( )。A、
B、x=y y=x
C、x=x+y y=x-y x=x-y
D、m=x x=y y=m x=x-y y=x+y x=y-x -
20、可以作为ASP编程的脚本语言是( )。A、Delphi B、VB C、VBScript D、C++