Private Sub Text1_Change()
Dim a As Integer, i As Integer
a = Val(Text1.Text)
For i = 1 To 7 Step 3
If a <= 1000 Then a = a + i
Next i
Text1.Text = Str(a)
End Sub
执行该程序段,在文本框Text1中分别输入“1”、“2”、“3”、“4”,Text1中的结果( )
s="DZFad123":c=0
For i=1 To Len(s)
ch=Mid(s, i, 1)
If ch>="A" And ch<="F" Then
c=c+1
End If
Next i
t = "abcd123456" : x = Int(Sqr(Len(t))) : y=1
If x > 3 Then
y =2
ElseIf x > 2 Then
y=3
ElseIf x > 1 Then
y=4
End If
执行该程序段后,变量 y 的值为 ( )
PI=3.14159
#命名常量
radius =float(input("请输入圆半径:")
if radius >= 0:
prin("半径为"+str(radius)+ "的圆面积是"+str(area))
else:
print("输入的圆半径为负")
Dim a(1 To 20)As String, ys As String, xs As String
Dim k As Integer, h As Integer, n As Integer, i As Integer, j As Integer
ys=Text1.Text: k=Val(Text2.Text)
n=Len(ys):h=1
For i=1 To n
a(i)=mid(ys,i,1)
Next i
For i=1 To k
For j = h To
If a(j) > a(h) Then
Next j
xs=xs + a(h)
h=h + 1
Next i
Text3.Text=xs
上述程序中方框处可选语句为
①n-k+i ②i+k ③n-k+1 ④j=h ⑤h=j
则方框处语句依次是( )
1)操作1(单词的删除):在Text2中输入一个单词s1,在字符串s中找到左边第一个出现的相同单词(区分大小写),将其删除,并在Label1中显示删除单词的位置pos;若s中不存在单词s1,则字符串s不变。
例如:s=“Go with your your passion.”s1=“your” 点击“删除”按钮后,s=“Go with your passion.”pos=“9”若s1=“Your”,则s不变。
2)操作2(单词的插入):在Text3中输入一个单词s2,并在Text4中输入插入位置w,将s2插入到经过删除操作的s中以w开始的位置。
例如:s=“Go with your passion.”s2=“absolutely” w=21
点击“插入”按钮后,s=“Go with your passion absolutely.”
程序运行界面如下图所示。
实现上述功能的VB程序如下。请回答下列问题:
Dim s As String
Private Sub Command1_Click( ) '实现删除单词命令
Dim s1 As String, t As String, i As Integer, pos As String, result As String Dim begin As Integer, word As String
s = Text1.Text s1 = Text2.Text begin = 1
For i = 1 To Len(s)
t =
If Not (t >= "a" And t <= "z" Or t >= "A" And t <= "Z") Then
If i > begin Then
word =
If word = s1 Then ‘找到与s1相等的单词,则将该单词删除
s = Mid(s, 1, begin - 1) + Mid(s, i+1, Len(s) - i)
pos =
Exit For
End If
End If
begin = i + 1
End If
Next i
Text5|.Text = s
Label1.Caption = pos End Sub
Private Sub Command2_Click() '实现插入单词命令
Dim w As Integer, result As String, s2 As String s2 = Text3.Text
result = + " " + s2 + " " + Mid(s, w, Len(s) - w + 1) Text5.Text = result
End Sub
Private Sub Command1_Click()
Dim n As Integer, i As Integer, j As Integer
Dim a(1 To 100) As Integer, b(1 To 100) As Integer Dim s As String, chr As String, temp As String
s = Text1.Text
i = 1: n = 0
Do While i <= Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
temp = temp + ch
Else
n = n + 1
①
temp = ""
End If
i = i + 1
Loop
For i = 2 To n
②
Next i
For i = 1 To n - 2
For j =
If b(j) < b(j - 1) Then
t = b(j): b(j) = b(j - 1): b(j - 1) = t
End If
Next j
Next i
For i = 1 To n - 1
If b(i) <> i Then Exit For
Next i
If i = n Then Label1.Caption = "完美跳数" Else Label1.Caption = "非完美跳数"
End Sub
① ②
|
数字字符 |
0 |
1 |
... |
7 |
8 |
9 |
|||||||||||||||
|
二进制值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
... |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
十进制值 |
0 |
0 |
0 |
1 |
... |
1 |
3 |
2 |
0 |
2 |
1 |
||||||||||
|
对应编码 |
A |
A |
A |
B |
... |
B |
D |
C |
A |
C |
B |
||||||||||
例如, 数字字符串“709”的编码为“BDAACB”。用VB程序实现上述编码,功能如下:在文本框Text1中输入编码的一串数字字符,单击“编码”命令按钮Command1,在文本框Text2中显示编码结果。程序运行界面如图所示。
Private Sub Command1_Click( )
Dim code As String, s As String, ch As String, result As String
Dim i As Integer, numL As Integer, numR As Integer
Dim flag As Boolean
code = "ABCD"
s = Text1.Text
flag = True
result = ""
For i = 1 To
If ch < "0" Or ch > "9" Then
flag = False
Exit For ' 退出循环
Else
numL = Val(ch) \ 4
numR =
result = result + Mid(code, numL + 1, 1) +
End If
Next i
If flag Then
Text2.Text = result
Else
Text2.Text = "输入错误"
End If
End Sub
s = "Happy 2021/07"
ans = "": f = True: Max = ""
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "z" Then
ans = ans + Chr(Asc(ch) - 32)
ElseIf ch >= "0" And ch <= "9" Then
f = False
End If
If Not f And ch > Max Then
Max = ch: f = True
End If
Next i
Label1.Caption = ans + Max
执行该段程序后,标签label1中显示的内容是 ( )
def CaesarCipher( ):
c=mingwen.get("0.0", "end")
b=""
miwen.delete("0.0", "end")
for i in range(len(c)):
if 'a'<=c[i]<='w' or 'A'<=c[i]<='W':
b=b+chr(ord(c[i])①) #生成密文
elif 'x'<=c[i]<='z' or 'X'<=c[i]<='Z':
b=b+chr(ord(c[i])②) #生成密文
else:
b=b+c[i]
miwen.insert("0.0",b)
下列说法正确的是( )
x = 5: y = -20
If Not x > 0 Then x = y - 3 Else y = x + 3
Print x - y; y – x
s="491053”
For i=1 To 3
n=Len(s)
k=1
For j=2 To n
If Mid(s, k, 1) > > = Mid(s, j, 1) Then
k=j
Else
Exit For 'Exit For表示退出循环
End If
Next j
s= Mid(s, 1, k-1)+ Mid(s, k+1, n- k)
Next i
Label1.Caption= s
执行该程序段后,标签Labe1中显示的值是( )
s=0
for i in range(9):
if i%3==0:
s+=i
print(s)
实现上述功能的VB程序如下,请回答下列问题:
Private Sub Command1_ Click( )
Const Maxn= 100
Dim i As Integer, j As Integer, c As Integer
Dim max As Integer, sum As Integer, n As Integer
Dim a(1 To Maxn) As Integer, s As String
n= Val(Text1. Text)
Randomize
For i=1 To n* n
a(i)=
s=s+Str(a(i))
If i Mod n=0 Then
List1. AddItem s
s=“”
End If
Next i
For i=1 To n
sum= 0
For j=
sum=sum+a(j)
Next j
List2. AddItem "第" + Str(i) +"列的和是:"+Str(sum)
If
sum > max Then max=sum :
'改错
Next i
List2. AddItem "其中第" + Str(c)+ "列和最大,值为:"+Str(max)
End Sub
|
类型 |
计算公式 |
结果 |
||
|
有限小数 |
格式 |
a. b |
(a*x+b)/x |
|
|
示例 |
3. 14 |
(3*10^ 2+14)/10 2 |
157/50 |
|
|
纯循环小数 |
格式 |
a. (b) |
(a*(x-1)+b)/(x-1) |
|
|
示例 |
3. (14) |
(3*(10^ 2-1)+14)/(10^2-1) |
311/99 |
|
|
混循环小数 |
格式 |
a.b(c) |
(a*(t-1)*x+ (b*t+c-b))/((t-1)*x) |
|
|
示例 |
3. 14(159) |
(3*(10 3-1)*10 2+(14*10 3+159-14))/(10^ 3-1)*10^2) |
20923/6660 |
|
|
说明: ()内的数字串表示循环节 x=10 Len(b) t=10' Len(c) |
||||
程序运行时,在文本框Text1中输入小数,单击“转化”按钮,输出对应的分数,界面如图所示。
Private Sub Command1_ Click()
Dim s As String, xS As String, zS As String
Dim fz As Long, fm As Long
Dim i As Integer
Dim x As Integer, y As Integer
s = Text1.Text
i=1
Do While Mid(s, i, 1) <> "."
i=i+1
Loop
zs =
xs=Mid(s, i+1)
If not(f(xs)) Then
fm = power (Len(xs))
fz = val(zs) * fm + vas (xs)
Else
If Mid(xs, 1, 1) = "(" Then
xs = Mid(xs, 2, Len(xs) - 2)
fm = power(Len(xs)) - 1
fz = Val(zs) * fm + Val(xs) .
Else
x=0: y=0: i=1
Do While Mid(xs, i, 1) <> "("
i=i+1
Loop
x=i-1
y=Len(xs)-i-1
fm =
fz= Val (Mid(xs, 1, x)) * power(y)+Val (Mid(xs, i+1, y))-Val (Mid(xs, 1, x))
fz=Val(zs)*fm+fz
End If
End If
Label2. Caption = Str(fz / gcd(fz, fm)) + "/"+ Str(fm / gcd(fz, fm))
End Sub
Function gcd (ByVal m As Long, ByVal n As Long) As Long
Dim r As Long
Do While m Mod n<>0
r= m Mod n
m=n
n=r
Loop
End Function
Function f(s As String) As Boolean '循环节判断
'函数返回True代表循环小数,False 不是循环小数,代码略
End Function
Function power(x As Integer) As Long '返回10的x次方
'代码略
End Function
s=”我爱 13aPP14LE!”
ans=res=""
for x in s:
if "a"<=x<="z":
ans=ans+chr(ord(x)-32)
if "A"<=x<="Z":
ans=ans+chr(ord(x)+32)
if "0"<=x<="9":
res=res+x t=ans+res
print(t)