




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
'第九章
'1.編寫程序,接受用戶輸入的20個(gè)數(shù),輸出20個(gè)數(shù)的平均值。
'解1
Subpro41()
Dima(lTo20)AsSingle,iAsInteger,sumAsSingle
sum=0
Fori=1To20
a(i)=ValGnputBox(〃請輸入數(shù)據(jù):〃))
sum=sum+a(i)
Nexti
MsgBox〃平均值為:〃&sum/20
EndSub
'解2
Subpro411()
Dima(lTo20)AsSingle,iAsInteger,sumAsSingle,nAsInteger
n=0
sum二0
Fori=1To20
a(i)=Val(InputBox(〃請輸?shù)?&i&〃個(gè)數(shù)〃))
sum=sum+a(i)
n=n+1
Nexti
MsgBox〃平均值為:〃&sum/n
EndSub
'2.編寫程序進(jìn)行計(jì)算1!+3!+5!+7!。
'解1
Subpro421()
DimiAsInteger,tAsInteger,sumAsInteger
t=1:sum=0
Fori=1To7
t=t*i
IfiMod200Then
sum=sum+t
EndIf
Nexti
MsgBox〃l!+3!+5!+7!=〃&sum
EndSub
'解2
Subpro422()
DimiAsInteger,tAsInteger,sumAsInteger
t=1:sum=0
Fori=1To7
t=1
Forj=1Toi
t=t*j
Nextj
IfiMod200Then
sum=sum+t
EndIf
Nexti
MsgBox〃l!+3!+5!+7!=〃&sum
EndSub
'解3
Subpro423()
DimiAsInteger,tAsInteger,sumAsInteger
t=1:sum=0
Fori=1To7step2
t=1
Forj=1Toi
t=t*j
Nextj
Sum=sum+t
Nexti
MsgBox〃l!+3!+5!+7!=〃&sum
EndSub
'3.輸入兩個(gè)整數(shù),求兩個(gè)整數(shù)之間能被3整除的數(shù)之和。
Subpro43()
DimxAsInteger,yAsInteger,tAsInteger,sumAsInteger,iAsInteger
x=Val(InputBox("請輸入一個(gè)整數(shù)〃))
y=Val(InputBox(〃請輸入一個(gè)整數(shù)〃))
Ifx>yThen
t=x
x=y
y=t
EndIf
Fori=xToy
IfiMod3=0Then
sum=sum+i
EndIf
Nexti
MsgBoxx&〃和〃&y&〃之間可以被3整除的數(shù)之和為:〃&sum
EndSub
'4.編寫程序?qū)⒔虒W(xué)管理數(shù)據(jù)庫中學(xué)生成績表中的百分制成績轉(zhuǎn)成用5分制表示,每20分為?個(gè)
等級。
,解1
Subpro441()
DimcnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrsqlAsString
DimscoreAsADODB.Field
Setcn=CurrentProject.Connection
strsql=zzselect*from學(xué)生成績〃
rs.Openstrsql,cn,adOpenDynamic,adLockOptimistic,adCmdText
Setscore=rs.Fields("成績”)
rs.MoveFirst
DoWhileNotrs.EOF
SelectCasescore
Case80To100
score=5
Case60To80
score=4
Case40To60
score=3
Case20To40
score=2
CaseElse
score=1
EndSelect
rs.MoveNext
Loop
rs.Close
cn.Close
EndSub
,解2
Subpro442()
DimcnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrsqlAsString
DimscoreAsADODB.Field
Setcn=CurrentProject.Connection
strsql="select*from學(xué)生成績〃
rs.Openstrsql,cn,adOpenDynamic,adLockOptimistic,adCmdText
Setscore=rs.Fields("成績〃)
rs.MoveFirst
DoWhileNotrs.EOF
IfInt(score\20)>=4Then
score-5
ElselfInt(score\20)>=3Then
score=4
ElselfInt(score\20)>=2Then
score=3
ElselfInt(score\20)>=1Then
score=2
Else
score=1
EndIf
rs.MoveNext
Loop
rs.Close
cn.Close
EndSub
'第10章
'1.設(shè)計(jì)一個(gè)實(shí)現(xiàn)兩個(gè)整數(shù)相加并將結(jié)果返回的函數(shù)。
Functionadd41(aAsInteger,bAsInteger)AsInteger
add41=a+b
EndFunction
主調(diào)過程示例:
Submain41()
DimxAsInteger,yAsInteger
x=VaKlnputBoxCx^))
y=Vai(InputBox(z,y=,z))
MsgBoxadd41(x,y)
EndSub
'2.假如利用第1題中的函數(shù)實(shí)現(xiàn)兩個(gè)浮點(diǎn)型數(shù)值相加,那么應(yīng)該如何修改函數(shù)?
'單精度浮點(diǎn)型
Functionadd421(aAsSingle,bAsSingle)AsSingle
DimmAsSingle,nAsSingle
m=CSng(a)
n=CSng(b)
add421=a+b
EndFunction
主調(diào)過程示例:
Submain421()
DimxAsSingle,yAsSingle
x=Vai(InputBox("x="))
y=Vai(InputBox(z,y=,z))
MsgBoxadd421(x,y)
EndSub
'雙精度浮點(diǎn)型
Functionadd422(aAsDouble,bAsDouble)AsDouble
DimmAsDouble,nAsDouble
m=CDbl(a)
n=CDbl(b)
add422=a+b
EndFunction
主調(diào)過程示例:
Submain422()
DimxAsDouble,yAsDouble
x=Vai(InputBox(〃x="))
y=Vai(InputBox(z,y=,z))
MsgBoxadd422(x,y)
EndSub
'3.編寫一個(gè)函數(shù),實(shí)現(xiàn)從給定的表中刪除指定的數(shù)據(jù)。
Functiondeldata(strtableAsString,strfieldAsString,data)
DimcnAsNewADODB.Connection
DimrstAsNewADODB.Recordset
DimstrsqlAsString
Setcn二CurrentProjcct.Connection
strsql="select*from〃&strtable
rst.Openstrsql,cn,adOpenDynamic,adLockOptimistic,adCmdText
rst.MoveFirst
DoWhileNotrst.EOF
Ifrst.Fields(strfield)=dataThen
rst.Delete
EndIf
rst.MoveNext
Loop
rst.Close
cn.Close
EndFunction
主調(diào)過程示例:
PrivateSubmain43()
DimxAsString,yAsString,zAsSingle
x=InputBox(〃x=〃)
y=InputBox(,zy=z/)
z=Vai(InputBox("z="))
deldatax,y,z
EndSub
'4.編寫?個(gè)過程swap,要求該過程能夠接收2個(gè)字符,并將這2個(gè)字符進(jìn)行交換。
SubSwap(xAsString,yAsString)
DimzAsString
z=x
x=y
y=Z
Debug.Print〃x=〃&x
Debug.Print〃y="&y
EndSub
主調(diào)過程示例:
PrivateSubmain44()
DimnAsString
DimmAsString
n=lnputBox("n=")
m=InputBox("m=")
Swapn,m
EndSub
第11章
三、操作題
1.設(shè)計(jì)一個(gè)窗體,在窗體上放置一個(gè)文本框(txtinput)和按鈕(btnOK),編寫按鈕的單擊事件(btnOK_Click),實(shí)
現(xiàn)這樣的功能:在文本框中輸入內(nèi)容,單擊按鈕,可以將文本框中的內(nèi)容顯示在窗體的標(biāo)題上。
窗體名稱:窗體標(biāo)題示例
命令按鈕的單擊事件代碼如下:
PrivateSubbtnOK_Click()
Me.Caption=txtinput或者:forms!窗體標(biāo)題示例.caption=txtinput
EndSub又或者:form_窗體標(biāo)題示例.caption=txtinput
2.創(chuàng)建一個(gè)窗體,并在窗體上放上命令按鈕CMD,要求,在單擊CMD按鈕時(shí),圖書表中的單價(jià)降低10船數(shù)量增加10,然
后將總金額字段填充完整。
原始“圖書”表如下:
叵圖書:表
書號書名1作者出版社出版日期數(shù)量單價(jià)
?ISBN7-302-0236數(shù)據(jù)結(jié)構(gòu)(C語言《嚴(yán)前敏,吳偉民清華大學(xué)出版社2004-11-0114¥19.80
ISBN7-302-0380C程序設(shè)計(jì)覺二片譚浩強(qiáng)清華大學(xué)出版社2002-07-0119¥29.70
ISBN7-81110-09Access數(shù)據(jù)庫程F陳桂林等安徽大學(xué)出版社2006-01-0119¥40.50
米0¥0.00
I記錄:⑷,11->舊1>*1共有記錄數(shù):3
設(shè)計(jì)窗體如下:-
命令按鈕的單擊事件代碼如下:
PrivateSubCMDClickO
DimcnAsNewADODB.Connection
DimrstAsNewADODB.Recordset
DimstrsqlAsString
Setcn=CurrentProject.Connection
strsql="select*from圖書〃
rst.Openstrsql,cn,adOpenDynamic,adLockOptimistic,adCmdText
rst.MoveFirst
DoWhileNotrst.EOF
rst.Fields(〃單價(jià)〃)=rst.Fields(〃單價(jià)")*0.9
rst.Fields(〃數(shù)量〃)=rst.Fields(〃數(shù)量〃)+10
rst.Fields(〃總金額〃)=rst.Fields("單價(jià)")*rst.Fields("數(shù)量")
rst.MoveNext
Loop
rst.Close
cn.Close
EndSub
單擊命令按鈕后,“圖書”表如下:
■圖書:表
書號書名作者出版社出版日期數(shù)量單價(jià)1
?fcSBN7-302-023耳數(shù)據(jù)結(jié)構(gòu)(C語言片嚴(yán)前敏,吳偉民清華大學(xué)出版社2004-11-0124¥17.82
ISBN7-302-0380C程序設(shè)計(jì)能二K譚浩強(qiáng)清華大學(xué)出版社2002-07-0129¥26.73
ISBN7-81110-09Access數(shù)據(jù)庫程f陳桂林等安徽大學(xué)出版社2006-01-0129¥36.45
米0¥0.00
記錄:,11「1>1>1」共有記錄數(shù):3
3.設(shè)計(jì)?個(gè)電話計(jì)費(fèi)程序,窗體如下圖所示,假定每分鐘通過費(fèi)用為0.1元,不足1分鐘按1分鐘計(jì)。
標(biāo)題為“開始”的命令按鈕的單擊事件代碼如下:
PrivateSubCommand8_Click()
TextO=
Text2二〃〃
Text4=〃〃
Text6=〃〃
TextO=TimeO
EndSub
標(biāo)題為“計(jì)費(fèi)”的命令按鈕的單擊事件代碼如下:
PrivateSubCommand9_Click()
DimxAsDate
DimyAsSingle
Text2=TimeO
x=Text2-TextO
Text4=x
IfSecond(x)<>0Then
y=Hour(x)*60*0.1+(Minute(x)+1)*0.1
Text6=y&〃元〃
Else
y=Hour(x)*60*0.1+Minute(x)*0.1
Text6=y&〃元”
EndIf
EndSub
補(bǔ)充習(xí)題部分:
1.一元二次方程求解
PrivateSubshl()
DimaAsSingle,bAsSingle,cAsSingle
DimdAsSingle,x2AsSingle,xlAsSingle
a=Vai(InputBox(z/a=,/))
b=Vai(InputBox(z/b=,z))
c=Vai(InputBox(,zc=,/))
d=b2-4*a*c
Ifa<>0Andd>=0Then
xl=("b+Sqr(d))/(2*a)
x2=(-b-Sqr(d))/(2*a)
MsgBox〃方程的根為:xl=〃&xl&〃,x2=〃&x2
Else
MsgBox〃方程無實(shí)根〃
EndIf
EndSub
2.分段函數(shù):(x=0,y=0;x<0,y=-l;x>0,y=l)
if語句:
PrivateSubsh21()
DimxAsSingle,yAsInteger
x=Vai(InputBoxCx=O)
Ifx=0Then
y=0
Elselfx<0Then
y=-1
Else
y=1
EndIf
MsgBox'y=〃&y
EndSub
selectcase語句:
PrivateSubsh22()
DimxAsSingle,yAsInteger
x=Vai(InputBox(z/x=//))
SelectCasex
CaseIs>0
y=1
Case0
y=0
CaseElse
y二T
EndSelect
MsgBox"y="&y
EndSub
3.求s=l*2+2*3+3*4+...21*22
PrivateSubsh3()
DimsAsInteger
DimaAsInteger,bAsInteger,cAsInteger
s=0
a=0
b=1
DoWhilea<21Andb<22
a=a+1
b=b+1
c=a*b
s=s+c
Loop
Debug.Print〃s="&s
EndSub
4.在前兩個(gè)文本框中輸入兩個(gè)整數(shù),單擊“奇數(shù)和”按鈕將兩個(gè)整數(shù)之間的奇數(shù)的和顯示在第三個(gè)文
本框中。
窗體如下:
命令按鈕單擊事件代碼如下:
PrivateSubCommand6Click()
DimaAsInteger,bAsInteger,sAsInteger,iAsInteger,cAsInteger
s=0
a=Textl
b=Text2
Ifa>bThen
c=a
a=b
b二c
EndIf
i=a
DoWhilei>=aAndi<=b
IfiMod200Then
s=s+i
EndIf
i=i+1
Loop
Text3=s
EndSub
5.在前三個(gè)文本框中輸入三個(gè)數(shù),單擊“面積”按鈕判斷能否構(gòu)成三角形,若能構(gòu)成三角形,則在第四
個(gè)文本框中顯示其面積;否則顯示“不構(gòu)成三角形。
窗體如下:
命令按鈕單擊事件代碼如下:
PrivateSubCommand8_Click()
DimaAsSingle,bAsSingle,cAsSingle,dAsSingle,sAsSingle
a=Textl
b=Text2
c=Text3
Ifa+b>cAnda+c>bAndb+c>aThen
d=(a+b+c)/2
s=Sqr(d*(d-a)*(d-b)*(d-c))
Text4=s
Else
Text4="不構(gòu)成三角形〃
EndIf
EndSub
6.在兩個(gè)文本框中輸入兩個(gè)數(shù),單擊“最小公倍數(shù)”按鈕求出兩個(gè)數(shù)的最小公倍數(shù)并顯示在第一個(gè)文
本框中。
窗體如下:
命令按鈕單擊事件如下:
PrivateSubCommand4Click()
DimxAsInteger,yAsInteger,rAsInteger,tAsInteger
x=Txt1
y=txt2
Ifx<yThen
t=x
x=y
y二t
EndIf
r=xMody
DoWhiler<>0
x=y
y=r
r=xMody
Loop
Txtl=Txtl*txt2/y
EndSub
7.在第一個(gè)文本框中輸入一個(gè)三位數(shù),單擊“判斷”按鈕,判斷其是否是水仙花數(shù)。若是水仙花數(shù)則
在第二個(gè)文本框中顯示“是水仙花數(shù)”,若不是水仙花數(shù)在第二個(gè)文本框中顯示“不是水仙花數(shù)”。
水仙花數(shù)特點(diǎn):原數(shù)二百位數(shù)的立方+十位數(shù)的立方十個(gè)位數(shù)的立方。
例如:153=13+53+33
窗體如下:
命令按鈕單擊事件如下:
PrivateSubCommand4_Click()
DimsAsString,aAsString,bAsString,cAsString
DimxAsInteger,yAsInteger,zAsInteger
s=Textl
a=Mid(s,1,1)
b=Mid(s,2,1)
c=Mid(s,3,1)
x=Vai(a)
y=Vai(b)
z=Vai(c)
IfVai(s)=x*x*x+y*y*y+z*z*zThen
Text2=〃是水仙花數(shù)〃
Else
Text2二〃不是水仙花數(shù)〃
EndIf
EndSub
8.編寫程序?qū)崿F(xiàn)英文字符串的大小寫轉(zhuǎn)換
'解1
PrivateSubchangel()
DimstrlAsString,str2AsString,sAsString
DimiAsInteger,nAsInteger,xAsInteger
strl二InputBox(〃請輸入一個(gè)英文字符串〃,〃大小寫轉(zhuǎn)換〃)
n=Len(strl)
str2=〃〃
Fori=1Ton
s=Mid(strl,i,1)
x=Asc(s)
Ifx<97Then
x=x+32
Else
x=x-32
EndIf
str2=str2+Chr(x)
Nexti
Debug.Printstr2
EndSub
'解2
PrivateSubchange2()
DimstrlAsString,str2AsString,sAsString
DimiAsInteger,nAsInteger,xAsInteger
strl=InputBox(〃請輸入一個(gè)英文字符串〃,〃大小寫轉(zhuǎn)換〃)
n=Len(strl)
str2=〃〃
Fori=1Ton
s=Mid(strl,i,1)
x=Asc(s)
Ifx<97Then
s=LCase(s)
Else
s=UCase(s)
EndIf
str2=str2+s
Nexti
Debug.Printstr2
EndSub
9.輸入10個(gè)數(shù),由小至大排序
PrivateSubrange()
Dima(lTo10)AsInteger
DimiAsInteger,jAsInteger,tAsInteger
Fori=1To10
a(i)=Vai(InputBox("請輸入1—10個(gè)整數(shù)〃))
Nexti
Fori=1To9
Forj=i+1To10
Ifa(i)>a(j)Then
t=a(i)
a(i)=a(j)
a(j)=t
EndIf
Nextj
Nexti
Fori=1To10
Debug.Printa(i)
Nexti
EndSub
10.輸入字符串,顛倒順序顯示
PrivateSubddcx()
Dimstrl,str2,sAsString
Dimi,nAsInteger
strl二InputBox(〃請輸入一個(gè)字符串〃,〃顛倒次序”)
str2="
n=Len(strl)
Fori=1Ton
s=Mid(strl,n-i+1,1)
str2=str2+s
Nexti
Debug.Printstr2
EndSub
第十章補(bǔ)充例題
[補(bǔ)充例題1]若窗體中已有一個(gè)名為Commandl命令按鈕,編寫下面的代碼,窗體運(yùn)行時(shí),單
擊命令按鈕,將顯示什么結(jié)果?
PrivateSubcommandl_click()
s=,ABBACDDCBAM
Fori=6To2Step-2
x=Mid(s,i9i)
y=Left(s,i)
z=Right(s9i)
z=x&y&z
Nexti
MsgBoxz
EndSub
[補(bǔ)充例題2]求sum=l+(l+3)+(l+3+5)+...+(l+3+5+7+...+39)?
PrivateSubcommandl_click()
m=l:sum=0:t=0
Dowhilem<=39
t=t+m:sum=sum+t:m=m+2
loop
Msgboxsum
EndSub
[補(bǔ)充例題3]若窗體中已有一個(gè)名為Commandl命令按鈕,編寫下面的代碼,窗體運(yùn)行時(shí),單
擊命令按鈕,將顯示什么結(jié)果?
Publicxasinteger
PrivateSubcommandl_click()
x=10
Callsi
Calls2
Msgboxx
EndSub
Privatesubsl():x=x+20:endsub
Privatesubs2():dimxasinteger:x=x+20:endsub
[補(bǔ)充例題4]寫出三次單擊命令按鈕后,B的值為多少
PrivateSubcommandl_click()
StaticbAsinteger
B=b+1
MsgBoxb
EndSub
[補(bǔ)充例題5]若窗體中已有一個(gè)名為Command1命令按鈕,一個(gè)名為Labell的標(biāo)簽和一個(gè)名為
textl的文本框,且文本框的內(nèi)容為空,編寫下面的代碼,窗體運(yùn)行時(shí)在文本框中輸入2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鋁包木門窗行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景分析報(bào)告
- 2025-2030年中國金融資產(chǎn)交易所行業(yè)發(fā)展趨勢規(guī)劃研究報(bào)告
- 2025-2030年中國葡萄及深加工行業(yè)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國色紡紗市場運(yùn)行動態(tài)及發(fā)展趨勢預(yù)測報(bào)告
- 2025-2030年中國羊絨產(chǎn)業(yè)運(yùn)行態(tài)勢及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國程控交換機(jī)行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報(bào)告
- 2025-2030年中國離心泵制造行業(yè)市場運(yùn)營狀況與發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025遼寧省安全員C證考試(專職安全員)題庫附答案
- 2025廣東省安全員《C證》考試題庫及答案
- 寧夏工商職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)實(shí)驗(yàn)儀器學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年人教版英語五年級下冊教學(xué)進(jìn)度安排表
- 同等學(xué)力英語申碩考試詞匯(第六版大綱)電子版
- 國家安全人人有責(zé)國家安全主題教育PPT模板
- BowTieXP風(fēng)險(xiǎn)與管理軟件介紹
- 污水管網(wǎng)計(jì)算說明書
- 原子雜化軌道理論
- 充填開采之 矸石充填術(shù)
- 文化產(chǎn)業(yè)園項(xiàng)目建議書范文
- 互聯(lián)網(wǎng)銷售卷煙(煙草)案件的分析
- 公務(wù)員考察政審表樣本
- 白菜花生長過程記錄
評論
0/150
提交評論