程序代码如下:
Private Sub Command 1_Click()
Dim n As Integer,ans As Integer
n =Val(Text1.Text)
ans = n
Do While n>3 ‘
ans = ans + n\3
n = n\3 ‘
Loop
Label2.Caption = “总共能吃到的桃子数为:” + Str(ans)+“个”
End Sub

i = 1: j = 9: n = 0
key = val (Text1.text)
Do While i < = j
n=n+1
m = Fix((+j)/2)
If key=d(m) Then Exit Do ‘Exit Do表示退出循环
If key < d (m) Then
j = m-1
Else
i=m+1
End If
Loop
数组元素d(1)到d(9)的值依次为“7,12,18,2,39,58,61,72,86”。若该程序段运行结束后,n的值为2,则key的值是( )
①该年级有360名学生参与选课,共开设10门选修课程,每门课程的人数上限为40人,限定每位学生只能选一门课程。
②选课报名数据保存在数据库文件中,按报名先后顺序存储选课信息,每条学生的选课记录包含学号、姓名和选课课程编号。
③学生选课是否成功的规则:如果报名该课程的人数小于等于40人,则报名该课程的学生全部选课成功;若超过40人,则通过随机方式抽取40人选中该课程的学生。
小王编写了一个VB程序实现上述要求。单击“数据处理”按钮Command1,将选课数据按选课是否成功的规则进行数据处理后,在列表框List 1中输出每门课程的编号、报名该课程人数,并在列表框List2中按学号升序输出每位学生的选课结果。程序运行界面如图所示,在划线处填入正确的代码。
Const km=10
Const n=360
Const max=40
Dim xh(1 To n) As String‘存储学生学号
Dim xm( 1 To n) As String‘存储学生姓名
Dim kc(1 To n) As Integer'存储学生选课课程编号(1-10)
Dim flag(1 To n) As Boolean'存储学生选课是否成功
Private Sub Form_load()
本过程读取学号、姓名和选择课程编号的数据分别存储在数组xh,xm和kc中
End Sub
Private Sub Command 1_Click()
Dim i As Integer,j As Integer,k As Integer,t As Integer
Dim s As String,temp As Integer
Dim num(1 To km) As Integer,b(1 To km) As Integ
Dim c(0 To km) As Integer,d(1 To n) As Integer
For i=1 To km
num(i) =0
Next i
For i=1 To n
num(kc(i) ) =num(kc(i))+1
Next i
k=1
For i=1 To km
List1.AddItem Str(i) &“号课程报名”&num(i) &“人”
If ⑴ Then b(k)=i:k=k+1
Net i
c(1)=1
For i=2 To k-1
c(i) =c(i-1)+num(b(i-1) )
Next i
For i=1 To n
flag(i) =True
For j=1To k-1
If b(j) =kc(i) Then
⑵
c(j)=c(j)+1
flag(i)=False
Exit For
End If
Next j
Next i
c(0)=1
For i=1 To k-1 '超过人数上限的课程,随机方式抽取选中学生
t=1
Do While t<=max
j= ⑶
If flag(d(j)) =False Then flag(d(j))=True:t=t+1
Loop
Next i
For i=1 To n
d(i)=i
Next i
For i=1 To n'按学号升序排序
For j=n To i+1Step-1
If ⑷ Then
temp=d(j):d(j)=d(j-1):d(j-1)=temp
End If
Next j
Next i
For i=1 To n
s=xh(d(i))&“”&xm(d(i))&“”&kc(d(i))&“号课程本轮选课”
If flag(d(i) ) Then s=s&“成功”Else s=s&“不成功”
List2.AddItem s
Next i
End Sub
⑴ ⑵ ⑶ ⑷
请在划线处填入合适代码。
Dim a(1 To 10) As Integer
Private Sub Form_Load()
'产生10个升序的随机数并显示在Label1,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer, k As Integer
Dim x As Integer, f As Boolean, s As String
x=Val(Text1.Text)
i=1: j=10: f=False
Do While ①
m=(i+j)\2
If a(m)=x Then
f=True
ElseIf ② Then
i=m+1
Else
j=m-1
End If
Loop
If f=True Then
For k=m To 9
③
Next k
For k=1 To 9 '逐个显示删除后的数组元素
s=s+Str(a(k))+ ""
Next k
Else
s="该数没有找到"
End If
Label2.Caption=s
End Sub
① ② ③
Dim a(n) As Integer
Private Sub Command1_Click()
Dim max As Integer, count As Integer
Dim i As Integer, j As Integer
count=0: max=0
i=1
Do While i<=n-1
'①
j=i+1
Do While j <= n
If
Then '②
j=j+1
count=count+1
Else If a(j)=a(j-1) Then
j=j+1
Else
Exit Do
End If
Loop
i= ③
If count>max Then max =count
Loop
If max<5 Then s ="无顺子" Else s= "最长顺子长度:"+Str(max)
End Sub
Private Sub Form_Load()
'获取17张牌的数值(J、Q、K、A分别对应11、12、13、1),升序存储在数组a中
End Sub
① ②
a=11
if a>=1 and a<=10
then
a=a*a
else
a=a+a
print a
|
编码中位 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
对位信息 |
p1 |
p2 |
b1 |
p3 |
b2 |
b3 |
b4 |
校验的方式如下,求校验值g1、g2、g3:
g1 = p1 Xor b1 Xor b2 Xor b4
g2 = p2 Xor b1 Xor b3 Xor b4
g3 = p3 Xor b2 Xor b3 Xor b4
其中Xor 为异或运算,规则是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,p1 Xor b1 是将p1、b1 转换为二进制后按位进行异或运算,如7 Xor 12 的结果为11。
a.若计算得到的校验值g1、g2、g3 均为0,说明校验正确,数据无错误。例如:若7 位编码为1101001,计算校验值g1、g2、g3 值均为0,验证正确。
b.若校验值g1、g2、g3 不全为0,说明数据有错,出错位置为g3g2g1(二进制数表示),纠错的方法是对错误的位进行取反,即“0”变“1”,“1”变“0”。例如:若7 位编码为1111001,计算校验值g1=1、g2=1、g3=0,不全为0,说明数据有错,错误位置在011(二进制数)位,即第3位,原位置上“1”应为“0”,正确编码为1101001。
小明为此编写了VB 程序,程序运行时,在文本框Text1 中输入编码值,单击“校验”按钮Command1 后,在文本框Text2 中输出运行结果,如图所示。
实现上述功能的 VB 程序如下,请回答下列问题:
Function check(s As String) As Integer
Dim i As Integer, g1 As Integer, g2 As Integer, g3 As Integer
Dim c(1 To 7) As Integer
For i = 1 To 7
c(i) = Val(Mid(s, i, 1))
Next i
g1 = c(1) Xor c(3) Xor c(5) Xor c(7)
g2 = c(2) Xor c(3) Xor c(6) Xor c(7)
g3 = c(4) Xor c(5) Xor c(6) Xor c(7)
If g1 + g2 + g3 = 0 Then check=0 Else check= ①
End Function
Private Sub Command1_Click()
Dim i As Integer, m As Integer, Outs As String
m= ②
If m = 0 Then
Text2.Text = “验证正确,数据无错误”
Else
For i = 1 To 7
If i = m Then
Outs=Outs+
③
Else
Outs = Outs + Mid(Text1.Text, i, 1)
End If
Next i
Text2.Text = “第” + Str(m) + “位上数据有错误,正确编码应为:” + Outs
End If
End Sub
① ② ③
加框处改正:
key = Int (Rnd*5)*2+ 11
i = 1: j = 8: c = 0
Do While i <= j
m = (i+j+1) \ 2
If a(m) >= key Then i = m+1 Else j = m-1
c = c+1
Loop
数组元素a(1)到a(8)的值依次为“23,21,19,18,16,15,14,11”。若该程序段执行后,下列说法错误的是( )
请回答下面问题:
Private Sub Command1_Click()
Dim n,i,j,k,x,L,R,c As Integer
Dim goods(1 To 20)As String 'goods(i)存储商品的名称
Dim price(1To 20)As Integer 'price(i)存储商品的价格
Dim s,ch As String
s=Text1.Text:x=Val(Text2. Text)
j=1:k=0
For i=1 To Len(s)
ch=Mid(s,i,1)
If ch="," Then
k=k+1
If k Mod 2=1 Then
Else
price(k\2)=Val(Mid(s,j,i-j))
End If
j=i+1
End If
Next i
n=k\2
For i=1 To n-1
For i=1 To n-i
If price(j)>price(j+1)Then
k=price(j):price(j)=price(j+1):price(j+1)=k
End If
Next j
Next i
For i=2 To n
L=i:R=n
Do While L<=R
m=(L+R)\2
If price(m)+price(k)=x Then
c=c+1
List1. Addltem goods(k)& Str(price(k))&"元 和" & goods(m)& Str(price(m))& "元"
j=m
Do While price(j)=price(j-1)
j=j-1
c=c+1
Listl. Addltem goods(k)& Str(price(k))& "元 和" & goods(j)& Str(price(j))& "元"
Loop
Do While
m=m+1
c=c+1
List1. Addltem goods(k)& Str(price(k))& "元 和" & goods(m)& Str(price(m))& "元"
Loop
Exit Do ‘Exit Do 表示退出Do循环
Elself price(m)+price(k)>x Then
R=m-1
Else
L=m+1
End If
Loop
Next i
List1. Addltem"共有:" & Str(c)& "种组合"
End Sub
a=int(input())
b=int(input())
c=input()
if c=='+':
print(a+b)
elif c=='-':
print(a-b)
elif c=='*':
print(a*b)
elif c=='/':
print(a/b)
else:
print(“输入错误,请重试”)
当程序运行后,小新依次输入 9 2 *
程序输出结果应为( )
Dim a As Integer, b As Integer
a=1:b=2
a=a+b
b=a+b
该程序执行后,变量a和b的值分别是( )
,
, 其中x6=1。观察发现,正2n边形的面积等于正n边形的面积加上n个等腰三角形的面积,即
。利用这个推导公式,编写如下Python程序,求解π的近似值。据此完成小题。

|
from math import * #从math模块调用常用的数学函数 n = int(input("请输人多边形的边数:")) i=6 x=1 s=6*sqrt(3)/4 #sqrt( ) :math中的函数,用于求算术平方根 while i <=n/2: #当i> n/2时,结束循环,执行print( ) h = sqrt(1-(x/2)**2) s= s+i*x*( 1-h)/2 x = sqrt(((x/2)**2+(1-h)**2) i=2*i print( "当正多边形的边数为", n, "时, π的近似值为:", s) |
)+1-2h
B .
×2+(1-h) ×2
C . 2(
)+2(1- h)
D . (
)2+(1-h)