異或的數(shù)學(xué)符號(hào)為“⊕”,其運(yùn)算法則相當(dāng)于不帶進(jìn)位的二進(jìn)制加法:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(即符號(hào)兩側(cè)數(shù)值相同時(shí),計(jì)算結(jié)果為0;數(shù)值不同時(shí)為1)。
如果要對(duì)兩個(gè)十進(jìn)制數(shù)進(jìn)行異或運(yùn)算,可以按以下步驟進(jìn)行:
①先將要進(jìn)行異或運(yùn)算的兩個(gè)十進(jìn)制數(shù)分別轉(zhuǎn)換為二進(jìn)制;
②對(duì)兩個(gè)二進(jìn)制數(shù)按位進(jìn)行異或運(yùn)算;例:(101101)2⊕(111)2=(101010)2
③再把步驟②中的運(yùn)算結(jié)果轉(zhuǎn)換為十進(jìn)制,該十進(jìn)制數(shù)即為運(yùn)算結(jié)果。
小明編寫了一個(gè)VB程序來(lái)模擬上述運(yùn)算過(guò)程,程序功能如下:在文本框Text1和Text2中分別輸入要參加異或運(yùn)算的十進(jìn)制數(shù),單擊計(jì)算按鈕Command1,程序?qū)斎氲膬蓚€(gè)數(shù)進(jìn)行異或運(yùn)算,并將運(yùn)算結(jié)果顯示在文本框Text3中,程序運(yùn)行界面如圖所示。
(1)通過(guò)以上關(guān)于異或運(yùn)算的描述,可知10⊕6的結(jié)果是 1212。
(2)實(shí)現(xiàn)上述功能的VB程序如下。請(qǐng)?jiān)跈M線處填入合適的代碼。
Private Sub Command1_Click ( )
Dim a As Integer,b As Integer,c As Integer
Dim a1As String,b1As String
Dim lena1As Integer,lenb1As Integer,i As Integer
Dim result As String
a=Val(Text1.Text)
b=Val(Text2.Text)
If a>b Then
c=a:a=b:b=c
End If
result=““
a1=DtoB(a):b1=DtoB(b)
lena1=Len(a1):lenb1=Len(b1)
i=1
Do While i<=lena1
If Mid(a1,lena1-i+1,1)=Mid(b1,lenb1-i+1,1)Then
result=“0“+result
Else
result=“1“+result
End If
i=i+1
Loop
result=①Mid(b1,1,lenb1-i+1)+resultMid(b1,1,lenb1-i+1)+result
Text3.Text=BtoD(result)
End Sub
Public Function DtoB(x As Integer) As String
Dim remainder As String
DtoB=““
Do While x>0
remainder=CStr(x Mod 2)'如:CStr(3Mod 2)的值為“1“
DtoB=remainder+DtoB
②x=x\2x=x\2
Loop
End Function
Public Function BtoD(x As String) As Integer
Dim i As Integer
BtoD=0
For i=1To Len(x)
BtoD=③BtoD*2BtoD*2+Val(Mid(x,i,1))
Next i
End Function
【考點(diǎn)】編輯事件處理過(guò)程的代碼.
【答案】12;Mid(b1,1,lenb1-i+1)+result;x=x\2;BtoD*2
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:1引用:1難度:0.5
相似題
-
1.根據(jù)AQI值判斷城市的空氣質(zhì)量。若城市的AQI值(整數(shù))不超過(guò)100則空氣質(zhì)量?jī)?yōu)良,否則空氣質(zhì)量有污染。當(dāng)輸入的AQI值為-1時(shí)則退出程序。不要更改程序結(jié)構(gòu),將題中的①②③④填入正確的語(yǔ)句。
city=input(“請(qǐng)輸入城市名:”)
AQI=int(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
①______ AQI!=-1:
if ②______:
print(city,“的空氣質(zhì)量?jī)?yōu)良。”)
③______:
print(city,“的空氣質(zhì)量有污染?!保?br />city=input(“請(qǐng)輸入城市名:”)
AQI=④(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
(1)序號(hào)①答案為
A.if
B.while
C.for
D.def
(2)序號(hào)②答案為
A.AQI>=100
B.AQI<=100
C.AQI>100
D.AQI<100
(3)序號(hào)③答案為
A.elif
B.break
C.if
D.else
(4)序號(hào)④答案為
A.int
B.float
C.str
D.else發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4 -
2.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再下落。編寫一個(gè)C程序,求它在第10次落地時(shí),其經(jīng)過(guò)了多少米?第10次反彈多高?
發(fā)布:2025/1/2 11:0:1組卷:0引用:3難度:0.3 -
3.利用海倫公式求解三角形面積。已知a,b,c為三角形的三條邊長(zhǎng),p為三角形的半周長(zhǎng),即p=(a+b+c)/2,計(jì)算此三角形面積S的海倫公式為:。不要更改程序結(jié)構(gòu),將題中的①②③填入正確的語(yǔ)句。
import math#導(dǎo)入數(shù)學(xué)模塊
def hl(a,b,c):#定義求三角形面積的函數(shù)
p=①
s=math.jye.ai(②)#sqrt用于計(jì)算算術(shù)平方根
return ③#返回面積的值
a,b,c=3,4,5#邊長(zhǎng)依次賦值
print(“此三角形的面積S為:“,hl(a,b,c))
A. (a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C. (a+b+c)*2 D.s
(2)序號(hào)②答案為
A.(a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C.(a+b+c)*2 D.(3+4+5)/2
(3)序號(hào)③答案為
A.p B.s
C.p*(p-a)*(p-b)*(p-c) D.0發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
把好題分享給你的好友吧~~