17.小李父母開(kāi)了一家農(nóng)家樂(lè),顧客可以到桔園自摘桔子,收費(fèi)標(biāo)準(zhǔn)是門票每人20元,采摘的桔子每斤10元,付費(fèi)時(shí)若能完成小游戲則有優(yōu)惠。
用VB軟件設(shè)計(jì)的自摘收費(fèi)程序,功能如下:在文本框Textl中輸入自摘的人數(shù)n,在文本框Text2中輸入摘得桔子重量w。界面右上方是小游戲部分,程序在文本框Text3顯示隨機(jī)產(chǎn)生的桔子層數(shù)m,根據(jù)圖中所示的堆桔子方法(第1層1個(gè);第2層4個(gè);第3層9個(gè)……),請(qǐng)顧客計(jì)算出m層桔子總數(shù)s,輸入到文本框Text4中,單擊“是否優(yōu)惠計(jì)算”按鈕Command1,就會(huì)在標(biāo)簽Label4中輸出最后的費(fèi)用f,并在標(biāo)簽Label7中給出提示是否“優(yōu)惠后的費(fèi)用”。運(yùn)行效果如第17題圖所示:
(1)自摘收費(fèi)程序所用的算法是
(填:解析算法/枚舉算法)。
(2)為實(shí)現(xiàn)上述功能,請(qǐng)?jiān)趧澗€①和②處填入合適的代碼。
Dim m As Integer
Private Sub Command1_Click ( ?。?br />Dim n As Integer,s As Integer
Dim w As Single,f As Single
n=Val(Text1.Text)'輸入大人人數(shù)n
w=Val(Text2.Text)'輸入重量w
f=20*n+10*w'計(jì)算無(wú)優(yōu)惠的費(fèi)用f
s=0
For i=1 To m'計(jì)算桔子總數(shù)
s=s+i*i
Next i
If s=
Then'判斷是否拿到優(yōu)惠計(jì)算費(fèi)用
f=f*0.5+s*0.3'計(jì)算優(yōu)惠后的費(fèi)用
Label7.Caption=“恭喜你,這是優(yōu)惠后的費(fèi)用!“
Else
Label7.Caption=“很遺憾,你沒(méi)有算對(duì)哦!“
End If
Label4.Caption=Str(f)'輸出最后的費(fèi)用f
End Sub
Private Sub Form_Load ( ?。?br />Randomize
m=
'隨機(jī)產(chǎn)生15層及以內(nèi)的桔子層數(shù)不含0
Text3.Text=Str(m)
End Sub
(3)若3位顧客摘得5斤桔子,游戲中需要計(jì)算出3層桔子的總個(gè)數(shù),但是他們沒(méi)有算對(duì)桔子個(gè)數(shù),在text4中輸入了16,那么這3位顧客需付總費(fèi)用
元。