For i = 1 To 3
For j = 1 To 6 - i
If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t
Next j
Next i
数组元素a(1)到a(6)的数据依次为“55,31,19,42,37,23”,则此程序运行完成后数组元素的数据依次是( )
程序功能:在文本框Text1中输入1~255十进制待校验数,单击“计算”按钮后,在文本框Text2中显示该数对应的二进制值,并在标签Label1中显示该数的校验位值。
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) ' 输入一个1~255的十进制数
t = 0
s = ""
Do While n > 0
a = n Mod 2
n = n \ 2
t =
s = Str(a) + s ' str(a)将变量a的值转换为字符串
Loop
v =
Text2.Text = s ' 显示对应的二进制数值
Label1.Caption = "校验位值:" + Str(v) ' 显示输出校验位值
End Sub
'待排序的数据存储在数组a(1)至a(N)中,代码略。
st=1:ed=N:k=1
Do While st <> ed
last = st
For i=st To ed-k
If a(i)*k>a(i+k)*kThen
t=a(i): a(i)=a(i+k): a(i+k)=t:
End If
Next i
ed = last:
t=st:st=ed:ed=t
Loop
上述程序段中方框处可选语句为:
①Step 1②Step k③last=i④last=i-1⑤k=-k⑥k=k+1
则⑴⑵⑶处语句依次可为( )
Private Sub Command1_Click( )
Dims As String, i As Integer
s=Text1.Text
For i=1 To 8 Step 2
s=ds(s, i)
Next i
Text2.Text=s
End Sub
Function ds(s As String, m As Integer)As String
Dim n As Integer
n=Len(s)
If m<1 0r m>n Then ds= "位置有误"
If m=1 Then ds=Mid(s, 2, n-1)
If m=n Then ds=Mid(s, 1, n-1)
If m <n Then ds=Mid(s, 1, m-1)+Mid(s, m+1, n-m)
End Function
若在文本框Text1中输入“TXHOLLYCLASS”,执行该程序段后,文本框Text2中显示的是( )
图1
图2
Private Sub Command1_Click()
Dim a(1 To 100) As String ,s As String, ch As String, word As String
Dim i As Integer, j As Integer, k As Integer, numb As Integer
s = Text1.Text : k = 0 : word = ""
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "z" Or ch >= "A" And ch <= "Z" Then
If ch >= "A" And ch <= "Z" Then
word = word + ch
Else
flag = False
For j = 1 To k
If a(j) = word Then flag = True
Next j
If Not flag And word <> "" Then
a(k) = word
numb = numb + 1
End If
End If
Next i
Text2.Text = str(numb)
End Sub
Private Sub Command1_Click( )
Dims As String,ch As String
Dim i As Integer,t As Integer
Dim ans As Long,px As Long
s=Text1.Text
ans=0:t=0:px= 1
For i=1 To Len(s)
ch=Mid(s,i,1)
IfThen
t=t*10+Val(ch)
Else
px=px*t
If ch= "_" Then
px=-1
End If
t=0
End If
Next i
Label 1.Caption=Str(ans+)
End Sub
在文本框 Text1 中输入十进制数,单击转换按钮 Command1,在文本框Text2中显示对应的二进制数。
程序采用“除二取余”法进行转换,即对十进制数除以2,余数作为二进制数的一位数字,商则重复上述步骤继续除2,直到商为0结束转换。
Private Sub Command1_Click()
Dim s2 As String 's2存放二进制数
Dim s10 As Integer 's10存放十进制数
Dim x As Integer 'x存储余数
s10 = Val(Text1.Text)
s2 = " "
Do While
x =
s2 = Str(x) + s2 s10 = s10 \ 2
Loop
'输出运行结果
End Sub
s=0
for i in range (1,6):
if i%2!=0:
s=s+i
print("i=",i,"s=",s)
对w*h(10*8)网格数据进行存储,无障碍物的位置对应数组元素数值为0,有障碍物的位置对应数组元素数值为1。数组d中数据初始化后,对应数组元素数值d(2)=1:d(27)=1 :d(33)=1:d(45)=1:d(52)=1:d(57)=1,其他数组元素数值为0。对应最大空正方形的起始位置为3,边长为4。
找最大空正方形的方法如下:①从当前位置右下角开始逐渐扩大正方形边长,直到有障碍物出现,不能再扩展为止;②取下一个位置,按照步骤①继续查找,最后1列为边界,该位置上无需查找。
Const W=10
Const h=8
Dim d(1 To w*h)As Integer
Private Sub Form_Load( )
‘数组初始化,无障碍物的位置对应数组元素值为0,有障碍物的位置对应数组元素数值为1
End Sub
Private Sub Command l_Click()
Dim i As Integer,length As Integer,maxw As Integer
Dim max As Integer
max=0
For i=1 To w*h
If i Mod w <> 0 Then ‘判断该位置是否需要查找
If length>max Then max =length:maxw=i
End If
‘输出最大空正方形的起始位置和边长,代码略。
End Sub
Function scan(k As Integer)As Integer
Dim j As Integer
Dim t As Integer,s As Integer
Dim dw As Integer
t=1
Do While k\w+1+t<h And。
s=0
dw=k+w+1
For j=1 To t^2
s=s+d(dw+w*((j-1)\t)+(j-1)Mod t)
Next j
If Then
Exit Do ‘退出循环
Else
t=t+1
End If
Loop
scan=t
End Function
Dim i As Integer,c As String,s As String,t As String
s=“China2014IT”:t=“”
For i=1 To Len(s)
c=Mid(s,i,1)
If c>=“a” And c<=“z” Then t=t+c
Next i
Label1.Caption=t
该程序段运行后,标签Label1中显示的内容是( )
实现上述功能的Python 程序代码如下:
chepai = input('请输入您的车牌:浙A')
for i in range( __________________,-1):
if '0' <= chepai[i] <='9':
lastnum = int(chepai[i])
if lastnum % 2 == 0:
print('车牌尾号双号,单号日限行!')
else:
print('车牌尾号为单号,双号日限行!')
break
划线处应填入代码是( )
s1 = "PROGRAM": s2 = ""
For i = 1 To 4
t = Int(Rnd * 4) * 2 + 1
Do While f(t)
t = Int(Rnd * 4) * 2 + 1
Loop
f(t) = True
s2 = s2 + Mid(s1, t, 1)
Next i
Label1.Caption = s2
数组f 各元素的初值为False,执行该程序段后,标签Label1上显示的内容可能是( )
表 15.1 Base64 编码表
索引 |
0 |
1 |
… |
24 |
25 |
26 |
27 |
… |
50 |
51 |
52 |
… |
61 |
62 |
63 |
字符 |
A |
B |
… |
Y |
Z |
a |
b |
… |
y |
Z |
0 |
… |
9 |
+ |
- |
以编码字符“Web”为例,如表15.2所示,字符“Web”对应的ASCII编码分别是87,101,98,分别转换为8位二进制数,按6位二进制数分组后再转换成十进制,查找它们对应的字符,得到“Web”得Base64编码为“V2Vi”。
表15.2 Base编码方法
s1=input('请输入编码字符:')
s=''
tmp=0
ans=''
txt='ABCDEFGHIJKLMNOPQRSTUVWSXYabcdefghijklmnopqrstuvwxyz012345678+/'
for c in s1:
n=
t=''
for i in range(8): # 将十进制 n 转换为 8 位二进制
r=n%2
t=+t
n=n//2
s=s+t
for i in range(len(s)): # 6 位二进制一组分组再转换成十进制,查找它们对应的字符
if i%6==5:
ans=ans+txt[tmp]
tmp=0
print('Base64 编码:',ans)
编写VB程序,统计接送n个参会者所需的最少车辆数。运行程序,列表框List1中按入住宾馆分组显示所有参会者提交的信息,同一宾馆的按时间先后排列。单击“统计”按钮Command1,在文本框Text1中显示所需的最少车辆数。程序运行界面如图所示。
'n、v、w是常量
'n为参会人数,v为每辆车最多接送人数,w为参会者最长的等待时间,代码略
Private Sub Form_ Load()
'读取n个参会者提交的信息,依次存入a(1)~a(n)
'将a(1)~a(n)接入住宾馆分组,同一宾馆参会者按时间先后排序
'并在List1中显示,代码略
End Sub
Private Sub Commandl_Click()
Dim i As Integerj As Integer, sum As Integer
a(n+1)=" "
j=1: sum = 0
For i-2 To n+ 1
If Mid(a(i), 1, 1)< Mid(a(j),1,1)Then
j=i
End If
Next i
Text1. Text = Str(sum)
End Sub
Function getDif(tsl As String, ts2 As String) As Integer
'返回ts1到ts2的时长(单位:分钟),代码略
'例如ts1为"08:30",ts2 为"08:35",则返回的函数值为5
End Function
Function getCnt(first As Integer, last As Integer) As Integer
Dim s1 As String, s2 As String
Dim iAs Integer, p As Integer, k As Integer,t As Integer
p= first:k= 1
s1 = Mid(a(first), 3, 5)
For i= first+1 To last
s2 = Mid(a(i), 3, 5)
t= getDif(s1, s2)
If Then
k=k+1
p=i
End If
Next i
getCnt= k
End Function
FOR A=5 TO 1
S=S+A
NEXT A
PRINT S
该程序的运行结果是( )
Private Sub Command1 Click)
Const n=9 '总人数
Dim b(1 Ton) As Integer
Dim k As Integer, i As Integer, p As Integer, cnt As Integer, pre. p As Integer
k =Val(Text1. Text)
For i= 1 Ton
b(i)=iModn+1
Next i
p = n:i = 0:cnt=0
Do While i<n
pre_p = p
p= ①
cnt=cnt+1
If cnt=k Then
List1. AddItem Str(p)
b(pre_p) ②
cnt=0
i= i+1
End If
Loop
End Sub
实现上述功能的VB代码如下,运行效果如图所示。请回答下列问题:
Const n= 5
Dim a(1 To n) As String
Private Sub Form_ Load( )
'将n个字符串分别赋值给数组元素a(1)、a(2)、……、a(n),并在列表list1中显示
'代码略:
End Sub
Private Sub Command1_ Click( )
Dim s As String, i As Integer, j As Integer
Dim m As Integer, k As Integer
Dim flag As Boolean
s = Text1. Text
m = Len(s)
List2. Clear
flag = False
For i=1 To n
k = Len(a(i))
For j=1 To k- m + 1
If = s Then '①改错
List2. AddItem a(i)
flag = True
Exit For '退出for 循环
End If
Next j
Next i
If Then '②填空
List2. AddItem“查找无结果”
End If
End Sub
from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.HAPPY)
elif button_b.is_pressed():
break
else:
display.show(Image.SAD)
sleep(1000)
在micro:bit硬件支持下,以下说法正确的是 ( )
age=float(input('请输入age='))
HRrest=float(input('请输入HRrest='))
gender=input("请输入male or female :")
if gender==' ③ ':
④
else:
⑤
HRrest
high=(n-age-HRrest)*0.8+HRrest
print('最适宜的心率是:',low,'~',high)
input("运行完毕,请按回车键退出...")
以上计算最适宜运动心率的公示是有性别差异的,那么如何修改程序可以实现根据性别输出结果呢?
①②③
④⑤。
编程问题是用编程解决“哥德巴赫猜想”的寻根和延伸。从寻找“水仙花数”的编程到验证哥德巴赫猜想的编程,其重心是编程的思考方法,对基础编程的学习有一定的实用价值,对编程思维乃至计算思维的训练有一定的启示。以下Python程序功能是找出三位数中的所有水仙花数。请从下面备选代码中选出一个合适的将程序补充完整。
for x in ① 1:
g= ② #分离个位上的数字并赋给变量g
s= ③ #分离十位上的数字并赋给变量s
b= ④ #分离百位上的数字并赋给变量b
if ⑤ #判断个、十、百位上数字的立方之和是否等于这个数
print(x,"是水仙花数")