Dim i,j As Integer
s=0
For i=1 to 3
for j=1 to 5
s=s+1
Next j
Next i
Print s
程序运行输出结果是:
Const n =6
Max = 0
For i = 1 To n
d(i)= 1
For j = 1 To i - 1
If a(j)< a(i) And d(j)+ 1 > d(i) Then d(i)= d(i)+ 1
Next j
If d(i)> Max Then Max = d(i)
Next i
数组元素a(1)到a(6)的值依次为“2,40,15,1,25,37”,执行该程序段,变量max的值为( )
1)将明文中每个字符用8位二进制ASCII码(不足八位的左端补0,凑足八位)表示;如“A”的二进制ASCII码值为01000001;
2)对8位二进制编码进行取反码(0变1,1变0)操作,如01000001的反码是10111110;
3)将8位二进制反码用2位十六进制表示,得到该字符的密文;
4)将每个字符的密文按照明文的倒序连接。
实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer, k As Integer
Dim c As String, x As Integer, y As Integer
Dim d(1 To 8) As Integer '数组d存储字符ASCII码二进制从左到右的各位数码
Dim mw As String 'mw存储密文
mw = ""
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
For j = 1 To 8
‘I处
Next j
m = Asc(c)
k = 8
Do While
‘II处
d(k)= ①
m = m \ 2
k = k - 1
Loop
mw = btoh(d) + mw
Next i
Text2.Text = mw
End Sub
Function btoh(m() As Integer) As String
′自定义函数是将m数组中的二进制数转换成对应的十六进制数
Dim s As Integer, i As Integer
Dim str As String, ch As String
str = "0123456789ABCDEF"
s = 0: ch = ""
For i = 1 To 8
s = s * 2 + m(i)
If ② Then
btoh =btoh+ Mid(str, s + 1, 1)
s = 0
End If
Next i
End Function
阅读分析程序代码,请回答下列问题:
① ②
·变化段:数组中相邻两个元素构成一个变化段。变化段有上升段(a(i)>a(i-1))、下降段(a(i)<a(i-1))和持平段(a(i)=a(i-1))。数组a中的n个元素可构成n-1个依次排列的变化段。
·波峰:从上升段转到下降段形成一个波峰。波峰的起点是峰顶前所有连续上升段中的第1个。终点是峰顶后所有连续下降段中的最后1个。
·对称波峰:上升段与下降段个数相同的波峰称为对称波峰。
图为一组数据的变化段及波峰示意图。
现要求统计数组a中各元素依次变化过程中“对称波峰”的个数,小李依据上述描述设计了如下VB程序,请回答下列问题:
Const n=20
Dim a(1 To n)As Integer
Private Sub Form_Load( )
´读取数据,并存储到数组a中。代码略
End Sub
Dim flag As Integer ‘存储变化段的状态:1表示升,-1表示降,0表示平。
Dim count As Integer ‘存储对称波峰的个数
Dim steps As Integer
Dim i As Integer
flag=0:steps=0:count=0
For i= ① To n
If a(i)>a(i-1)Then
If IsSymPeak(flag, steps)Then count=count+1
If flag=0 Or flag=-1 Then
②
Else
steps=steps+1
End If
flag=1
ElseIf a(i)=a(i-1) Then
If IsSymPeak(flag, steps) Then count=count+1
steps=0:flag=0
Else
steps=steps-1
flag=-1
End If
Next i
If IsSymPeak(flag, steps) Then count=count+1
Text1. Text=Str(count)
End Sub
Function IsSymPeak(flag As Integer, steps As Integer) As Boolean
If ③ Then
IsSymPeak=True
Else
IsSymPeak=False
End If
End Function
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。
p = Val(Text1.Text)
t = 0: j = 2: flag = True
s = Text1.Text + "="
Do While p > 1 And flag
If p Mod j = 0 Then
t = t + 1
p = p \ j
s = s + Str(j) + "*"
Else
If t = 1 Then flag = False
t = 0: j = j + 1
End If
If p = 1 And t = 1 Then flag = False
Loop
If flag Then
Text2.Text = Mid(s, 1, Len(s) - 1)
Else
Text2.Text = Text1.Text + "不是漂亮数"
End If
执行该程序段,在文本框Text1中输入6,则文本框Text2中显示的内容为( )
Dim i As Integer
Dim a(1 To 10) As Integer
a(1) = 1
For i = 2 To 10
a(i) = a(i-1)*i
Next i
Text1.Text = Str(a(i))
运行该段程序后,出现的错误提示为( )
s = 123456
i = 10: t = 0
Do While s > 0
Loop
Text1.Text = str(t)
方框中的代码由以下三部分组成:
①i = i * 100
②s = s \ 10
③t = t * 10 + s Mod 10 + (s Mod 10) * i
顺序正确的是( )
m = (1 + n) \ 2 ‘n为数组元素的个数,m为数组中间位置元素的下标
For i = 1 To n
If a(i) < a(m) Then t = a(i): a(i) = a(m): a(m) = t
Next i
p = m: q = m
For i = 1 To n - 2
If i Mod 2 = 1 Then
k = q + 1: q = q + 1
Else
k = p - 1: p = p - 1
End If
pos = k
For j = 1 To n
If
And a(j) < a(k) Then k = j
Next j
If pos > k Then
t = a(pos): a(pos) = a(k): a(k) = t
End If
Next i
上述程序段方框处的代码为( )
i=1
Do While i<=5
If i = 0 or a(i - 1)<= a(i) Then
i=i+1
Else
t=a(i): a(i)=a(i-1): a(i-1)=t
i=i-1
End If
Loop
数组元素a(0)到a(5)依次为:“0,41,22,53,99,36”,经过该程序段处理后,数组元素a(3)的值为( )
n=0
s=0
while s<=10:
n=n+3
s=s+n
print(s)
Private Sub Command1_Click()
Dim a(1 To 1000) As Integer '数组a存储文中出现该指定单词的各个位置
Dim s, c, ch As String
Dim n, max, i As Integer
s = Text1.Text
①
n = 0
max = 0
For i = 1 To Len(s) - Len(c) + 1
ch = ②
If ch = c Then
n = n + 1
③
If n >= 2 Then
If a(n) - a(n - 1) - Len(c) > max Then max = a(n) - a(n - 1) - Len(c)
End If
End If
Next i
Text3.Text = Str(n)
Text4.Text = Str(max)
End Sub
① ② ③
a=[ ]
for i in range(5):
a.append(i*i)
s=a[3]+a[4]
print (s)
Dim a(1 To 100)As String
For i= 1 To 10
For j=1 To 10
If i= j Or i Mod 10= 0 Or i Mod 10=1 Then
a( ① )="●"
Else
a( ① ) ="O"
End lf
Next j
Next i
For i= 1 To 100
s=s +a(i)
lf ② Then
List1.Addltem s
s = ""
End lf
Next i
[问题求解]设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
print ("三位数之内的水仙花是:")
for x in(100,1000):
b=x//100
s=(x//10)
g=
If x=(b**3 +s**3+g**3):
print()
total= every_year=20000
year=1
while :
every_year + =
total + = every_year
year + = 1
print(year)
s = 0
i = 1
while i <= 100:
if i % 10 != 0 :
s+= i
i+ =1
print(s) ( )
Private Sub Command1_ Click( ) '加密
Dim enc As String, dec As String, i As Integer
Dim s As String,n As Integer
dec = Text1. Text
For i=1 To Len(dec)
s=
n=i Mod 10
If n=0 Then n=10
enc =Chr(Asc(s)+n) & en
Next i
Text2. Text =enc
End Sub
Private Sub Command2_Click( ) '解密
Dim enc As String, dec As String, i As Integer
Dim n As Integer, s As String, p As Integer
enc = Text2. Text
n = Len( enc)
For i =1To n
s = Mid(enc, i, 1)
P=
If p =0 Then
dec = Chr(Asc(s) -p) & dec .
Next i
Text1. Text = dec
End sub
a=[3,5,1,2,4]
min = a[0]
s = 0
for i in range(1,5):
if a[i] < min:
min = a[i]
s = s + min print(s)
执行该程序段后,变量 s 的值为( )
小李为了解决该问题,首先结合数组a的有序性,找出a,b两个数组中要剔除的m个数据,再将数组b中保留的数据插入到数组a中。示例如下:
|
n=10,数组a:2,4,6,8,10,12,14,16,18,20 m=5,数组b:41 , 11,17 , 29,9 处理后的数组a:2,4,6,8,9 , 10,11 , 12,14,16 |
Const n=1000,m=50
Dim a(1 To n)As Integer, b(1 To m)As Integer
Function getImax(k As Integer)As Integer
‘在数组元素b(1)~b(k)中找出值最大的元素,返回其下标,代码略
End Function
Private Sub Commandl_Click( )
Dim i As Integer, j As Integer, k As Integer
Dim na As Integer, nb As Integer, imax As Integer, mean As Integer
‘读取数据分别存入数组a、b,代码略
na=n : nb=m
imax=getImax(nb)
For i=1 To m
If a(na)<= Then
b(imax)=b(nb)
nb=nb-1
If nb>0 Then imax=getImax(nb)
Else
na=na-1
End If
Next i
Do While nb>0
i=1 : j=na
imax= getImax(nb)
Do While i<=j
mean =(i+j)\2
If a(mean)<b(imax) Then i= mean +1 Else j=mean-1
Loop
For k=na To 1 Step-1
Next k
a(i+nb-1)=b(imax)
b(imax)=b(nb)
nb=nb-1
Loop
'输出数组a,代码略
End Sub
def encrypt(code, key):
code_new = ''
for i in range(len(code)):
code_new = code[(i+key)%len(code)] + code_new
return code_new
code = input('请输入加密字符串:')
key = int(input('请输入偏移位数:'))
print(encrypt(code, key))
当输入“Python”和“3”后,程序输出的结果是 ( )