图1
图2
Private Sub Command1_Click()
Dim a As Integer, b As Integer, s As Integer
a = Val(Text1.Text)
s = a
Do While s >= 10
a =
s = 0
Do While a > 0
b = a Mod 10
s = s + b
a =
Loop
Loop
Text2.Text = Str(s)
End Sub
Dim i As Integer, m As Integer ,flag as Boolean
m =
flag=
For i = 2 To int(sqr(m))
If Then
flag=false
Exit For
End if
Next i
If flag=true Then
Text2.Text = str(m) +"是素数"
Else
Text2.Text = str(m) +"不是素数"
End if
实现上述功能的VB程序代码如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim s As String, ch As String
Dim ch2 As String, sum As Double
Dim n As Integer, i As Integer
s = Text1.Text
n = Len(s)
i = 1: sum = 0
Do While
'①
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
j = i
ch2 = Mid(s, j, 1)
Do While ch2 >= "0" And ch2 <= "9"
j = j + 1
ch2 = Mid(s, j, 1)
Loop
sum = sum + Val(
) '②
i = j
End If
i = i + 1
Loop
Label3.Caption = Str(sum)
End Sub
① ②
Dim i As Integer, a As Integer, b As Integer, c As Integer
Dim s As String
a = 0: b = 1: c = 0: i = 2
s = Str(a) + Str(b)
Do While c <= 10000 And i < 100
a = b: b = c
c = a + b
s = s + Str(c)
i = i + 1
Loop
Text1.Text = s
运行上面的程序,发现输出的数列不正确,应进行修改。以下修改正确的是( )
小明编写了一个VB程序来计算e的近似值,功能为在文本框Text1中输入公式n值,单击“计算”命令按钮Command1,在标签Labe2中显示计算结果,程序运行界面如图所示。
Private Sub Command1__Click()
Dim I As Double,p As Double
Dim e As Double
n= ①
e=1
i=1
p=1
Do While i<=n
p= ②
e=e+p
③
Loop
Label2. Caption=“e的值是:”+Str(e)
End Sub
① ② ③
图a为初始状态,操作圈中的灯,则该灯与对面的两盏灯都会切换“开/关”状态,如图b所示。假设这些灯的编号为0到6号,“开/关”状态随机产生,并输出到列表框List1中,接着需要从中选出数盏灯进行操作,使得最后所有灯都打开(已证明方案-一定存在且唯一), 并在列表框List2中输出灯的编号。
程序采用枚举策略,一一尝试对每盏灯状态进行“切换”操作,“1”表示对当前灯进行切换,“0”表示不操作。
程序运行界面如图c所示。
Dim a(0 To 6)As Integer,b(0 To 6) As Integer
Private Sub Command1_Click()
Dim i As Integer, x As Integer, pos As Integer
Dim flag As Boolean
List2.Clear
For i = 0 To
x = i:pos = 0:flag = True
For j = 0 To 6
b(j)= a(j)
Next j
Do While x > 0
If x Mod 2 = 1 Then
b(pos)= 1 - b(pos)
b((pos + 3) Mod 7) = 1 – b((pos + 3) Mod 7)
End If
pos = pos + 1
x = x \ 2
Loop
For j = 0 To 6
IfThen flag = False:Exit For
Next j
If flag Then
pos = 0
Do While i > 0
If i Mod 2 = 1 Then List2.AddItem “第” + CStr(pos)+ “号”
i = i \ 2
pos = pos + 1
Loop
Exit For
End If
Next i
End Sub
Private Sub Form_Load() ‘随机生成初始数据
Dim i As Integer
Randomize
List1.Clear
For i = 0 To 6
a(i)= Int(Rnd * 2)
If a(i)= 1 Then
List1.AddItem “第” + CStr(i) + “号:”+ “开”
Else
List1.AddItem “第” + CStr(i) + “号:” + “关”
End If
Next i
End Sub
假设银行的年存储利率为3%,如果现在存储10000元钱,问多少年后连本带利超过12000元。设定:连本带利=本金*(1+利率)∧年数。
假设n年后连本带息超过12000,根据题意得出数学关系式:10000*(1+3%)∧n>12000,求最小的n。
Dim s as single
Dim r as single
Dim n as integer
s=10000
r=0.03
n=0
Do while
n=n+1
s=s*(1+r)
Loop
Print n;”年后”:”连本带利超过”;s
根据上述回答下列问题
a=flat(input("输入第一个数:")
ch=
b=float(input("输入第二个数:"))
if ch== "+":
print(a,ch,b,"=",a+b)
elifch=="-":
print(a,ch,b,"=",a-b)
elif ch == *":
print(a,ch,b,"=",a*b)
elif ch == "/":
if
print(a,ch,b,"=",a/b)
else:
print("除数不能为0")
else:
print("运算符不正确")
for i in range(2, 85):
if 168 % i =0:
j= 168/i
if i> j and= 0:
m=(i+j)/ 2
n=(i-j)/ 2
x=
print(x)
s=0
for i in range(1, 101):
if i%2== 0:
s+=i
该程序段被执行后,变量s中存储的是1~100之间的( )
求该方程组解的Python程序如下:
for x in range(1,8,1):
if :
print("x= ",x)
print("y=",38-5*x)
回答下列问题:
Private Sub Commandl_Click( )
Dim s As Integer, cz As Integer 'cz存储超重克数
Dim k As Integer
'依次从1~5号瓶中取出1、2、4、8、16粒药,并计算总重量,存储在变量s中,代码略
cz=s-310
Text1.Text= ①
k=0
Do While cz<>0
k=k+1
If ② Then List 1.Addltem"第"+Str(k)+"瓶"
cz=cz\2
Loop
End Sub
① ②
问题:实现上述功能的VB 代码如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim n as long , sum as long , i As Long Dim x as long , y as long
List1.Clear
n = Val(Text1.Text) sum = 0
For i = 10 To n
x =
‘①
y = 0
Do While x > 0
y =
‘②
x = x \ 10
Loop
If y = i Then
List1.additem Str(i)
sum = sum+1
End if
Next i
Label1.caption = “共有”& Str(sum) & “个回文数” End Sub
①②
Private Sub Command1_Click()
s = 0
For i =To
If i Mod 17 = 0 And =5 Then
s = s + i
End If
Next i
Print s
End Sub
实现上述功能的VB代码如下,请完善代码:
Private Sub Command1_Click()
Dim n As Integer, i As Integer, t As Integer, sum As Long, s As String
n=Val(Text1.Text)
For i=1 To n^3 step 2 '变量i表示连续奇数的首个整数
sum=0:t=i:flag=False
Do While sum<n^3 And flag= False
sum=
t=t+2
If Then flag=True
Loop
If flag=True Then Exit For
Next i
s=Str(n)+ "^"+Str(3)+ "="
Do While sum>0
If sum= 0 Then
s=s+Str(i)
Else
s=s+Srt(i)+ "+"
End If
i=i+2
Loop
Text2.Text=s
End Sub
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim s As Integer 's为A类数的个数
Dim t As Integer 't为二进制数中“1”的个数
Dim k As Integer 'k为二进制数中“0”的个数
s=0
For i=1 To 1000
n=i: t=0: k=0
Do While n>0
If Then t=t+1 Else k=k+1
Loop
If t>k Then
List1.Additem Str(i)
s=s+1
End If
Next i
Text1.Text=Str(s)
End Sub
材料一:珠穆朗玛峰的高度为848.86米。
材科二:有个科学猜想节目:如果有-张足够 大的纸,其厚度为0.1毫米,对折一次纸的厚度增加1倍设张纸的厚度为h,对折k次,那么纸的厚度为h*2”。
材料三:纸对折多少次后可以超过珠穆朗玛峰的高度的算法流程图表示如下。
h=0.0001
k=0
while:
k=k+1
h=h*2
print("需要对折",k,"次")