上海海事大學VB題庫-程序設計_第1頁
上海海事大學VB題庫-程序設計_第2頁
上海海事大學VB題庫-程序設計_第3頁
上海海事大學VB題庫-程序設計_第4頁
上海海事大學VB題庫-程序設計_第5頁
已閱讀5頁,還剩151頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

程序設計

r

'題目:(事件)雙擊窗體。

,(響應)編寫代碼功能如(圖l)o將結果存入變量S中

答案:---------------

DimiAsInteger

s=1

Fori=1To10

s=$*i*i

Next

Print(CStRs))

題目:(事件)單擊窗體。

,(響應)輸出一個如圖所示的由數(shù)字組成的倒三角形請將結果存入變量S中(要求利用

msgbox函數(shù)顯示結果,使用for...next語句完成程序)

答案:---------------

DimtmpAsString

DimiAsInteger,jAsInteger

tmp=,H,

Fori=10To1Step-1

Forj=0Toi-1

tmp=tmp&CStr(j)

Next

tmp=tmp&vbCrLf

Next

MsgBoxtmp

s=tmp

'題目:用迭代法求某個數(shù)的平方根。已知求平方根的迭代公式如圖:

算法思想:對于一個問題的求解x,可由給定的一個初值xO,根據(jù)某一迭代公式得到一個新

的值xl,這個新值xl比初值x0更接近要求的值x;再以新值作為初值,即:xl-xO,重新

按原來的方法求xl,重復這一過和直到|xl-x0|<e(某一給定的精度)。此時可將xl作為問題的

解。

答案:---------------

Dimx0AsSingle,xlAsSingle

x0=a/2迭代初值

xl=0.5*(xO+a/xO)

Do

x0=x「為下一次迭代作準備

xl=0.5*(xO+a/xO)

LoopWhileAbs(x1-xO)>0.00001

Fsqrt=xl

'題目:統(tǒng)計字符串中的單詞個數(shù)。

'算法思路:

(1)從文本(字符串)的左邊開始,取出一個字符;設邏輯量WT表示所取字符是否是單

詞內(nèi)的字符,初值設為False

(2)若所取字符不是“空格“,“逗號“,”分號"或“感嘆號”等單詞的分隔符,再判斷WT是否

為True,若WT不為True則表是新單詞的開始,讓單詞數(shù)Nw=Nw+l,讓WT=True;

(3)若所取字符是“空格“,"逗號","分號"或”感嘆號”等單詞的分隔符,則表示字符不是單

詞內(nèi)字符,讓WT=False;

(4)再依次取下一個字符,重得(2)(3)直到文本結束。

答案:---------------

DimnwAsInteger,nLAsInteger

DimiAsInteger

DimstrTAsString

DimWtAsBoolean

nw=0:Wt=False

nL=Len(RTrim(strI))

Fori=1TonL

strT=Mid$(strl,i,1)取第i個字符

SelectCasestrT

Case

Wt=False

CaseElse

IfNotWtThen

nw=nw+1

Wt=True

EndIf

EndSelect

Nexti

CountWord=nw

題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,計算如下公式的值:y=l+1/3+1/5+1/7

+...+l/(2m+l)例如:若m=9,則應輸出:2.133255

答案:---------------

DimyAsDouble

DimiAsInteger

y=i

Fori=ITom

y=y+1/(2*i+1)

Next

fun=y

題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,計算如下公式的值:y=l/2+l/4+l/6+...

+l/2m例如:若m=9,則應輸出:1.41448412698413

答案:---------------

DimyAsDouble

DimiAsInteger

Fori=1Tom

y=y+1/(2*i)

Next

fun=y

題目:將一個十進制整數(shù)m轉換成一r(2—16)進制字符串。

方法:將m不斷除r取余數(shù),直到商為零,以反序得到結果。下面寫出一轉換函數(shù),參數(shù)

idee為十進制數(shù),ibase為要轉換成數(shù)的基(如二進制的基是2,八進制的基是8等),函數(shù)

輸出結果是字符串?

答案:---------------

DimstrDecR$,iDecR%

strDecR="”

DoWhileidee<>0

iDecR=ideeModibase

IfiDecR>=10Then

strDecR=Chr$(65+iDecR-10)&strDecR

Else

strDecR=iDecR&strDecR

EndIf

idee=idee\ibase

Loop

TrDec=strDecR

題目:對字符串進行加密處理。

1加密過程:將每個字母C加一序數(shù)K=5,即c=chr(Asc(c)-5),這時”z“一“u”,

”丫。T…當加序數(shù)后的字母小于”A“或”a”則c=Chr(Asc(c)-k+26)

答案:---------------

DimiAsInteger

DimstrpAsString,strTAsString,iAAsString

DimnlAsString

i=l:strp=',n

nl=Len(RTrim(strI))

DoWhile(i<=nl)

strT=Mid$(strl,i,1)取第i個字符

If(strT>=AndstrT<=nZn)Then

iA=Asc(strT)+5

IfiA>Asc(uZn)TheniA=iA-26

strp=strp+Chr$(iA)

ElseIf(strT>=naMAndstrT<=Mzn)Then

iA=Asc(strT)+5

IfiA>Asc("z”)TheniA=iA-26

strp=strp+Chr$(iA)

Else

strp=strp+strT

EndIf

i=i+1

Loop

EnyStr=strp

題目:-

題目:

I

題目:

I

'題目:應用冒泡法對數(shù)組A按升序排列

基本思想:(將相鄰兩個數(shù)比較,小的調到前頭)

1)有n個數(shù)(存放在數(shù)組a(n)中),第一趟將每相鄰兩個數(shù)比較,小的調到前頭,

經(jīng)n-1次兩兩相鄰比較后,最大的數(shù)已“沉底”,放在最后一個位置,小數(shù)上升”浮起”;

2)第二趟對余下的n-1個數(shù)(最大的數(shù)已"沉底")按上法比較,經(jīng)n-2次兩兩相

鄰比較后得次大的數(shù);

3)依次類推,n個數(shù)共進行n-1趟比較,在第j趟中要進行n-j次兩兩比較。

答案:---------------

Dimi,j,tempAsInteger

Fori=1Ton-1

Forj=1Ton-i

Ifa(j)>a(j+l)Then

temp=a(j):a(j)=a(j+1):a(j+I)=temp

EndIf

Nextj

Nexti

題目::

題目:應用選擇法對數(shù)組A按升序排列基本思想:

11)對有n個數(shù)的序列(存放在數(shù)組a(n)中),從中選出最小的數(shù),與第1個數(shù)交換位

置;

'2)除第1個數(shù)外,其余n-1個數(shù)中選最小的數(shù),與第2個數(shù)交換位置;

13)依次類推,選擇了n-1次后,這個數(shù)列已按升序排列。

答案:---------------

Dimi,j,imin,tempAsInteger

Fori=1Ton-1

imin=i

Forj=i+1Ton

Ifa(imin)>a(j)Thenimin=j

Nextj

temp=a(i)

a(i)=a(imin)

a(imin)=temp

Nexti

題目:

題目:

題目::

'題目:將一個十進制整數(shù)m轉換成一r(2—16)進制字符串。方法:將m不斷除r取余數(shù),

直到商為零,以反序得到結果。下面寫出一轉換函數(shù),參數(shù)idee為十進制數(shù),ibase為要轉

換成數(shù)的基(如二進制的基是2,八進制的基是8等),函數(shù)輸出結果是字符串?

答案:---------------

DimstrDecRS,iDecR%

strDecR=

DoWhileidee<>0

iDecR=ideeModibase

IfiDecR>=10Then

strDecR=Chr$(65+iDecR-10)&strDecR

Else

strDecR=iDecR&strDecR

EndIf

idee=idee\ibase

Loop

TrDec=strDecR

'題目:應用冒泡法對數(shù)組A按升序排列

,基本思想:(將相鄰兩個數(shù)比較,小的調到前頭)

'1)有n個數(shù)(存放在數(shù)組a(n)中),第一趟將每相鄰兩個數(shù)比較,小的調到前頭,

經(jīng)n-1次兩兩相鄰比較后,最大的數(shù)已"沉底”,放在最后一個位置,小數(shù)上升"浮起”;

,2)第二趟對余下的n-1個數(shù)(最大的數(shù)已"沉底")按上法比較,經(jīng)n-2次兩兩相

鄰比較后得次大的數(shù);

,3)依次類推,n個數(shù)共進行n-1趟比較,在第j趟中要進行n-j次兩兩比較。

答案:---------------

Dimi,j,tempAsInteger

Fori=1Ton-1

Forj=1Ton-i

Ifa(j)>a(j+I)Then

temp=a(j):a(j)=a(j+1):a(j+1)=temp

EndIf

Nextj

Nexti

題目:對字符串進行加密處理。

加密過程:將每個字母C加一序數(shù)K=5,即c=chr(Asc(c)-5),這時“Z」"U”,

“Y"一T…當加序數(shù)后的字母小于“A“或匕”則c=Chr(Asc(c)-k+26)

答案:---------------

DimiAsInteger

DimstrpAsString,strTAsString,iAAsString

DimnlAsString

i=1:strp”

nl=Len(RTrim(strI))

DoWhile(i<=nl)

strT=Mid$(strl,i,1)'取第i個字符

If(strT>="A”AndstrT<="Z")Then

iA=Asc(strT)+5

IfiA>Asc("ZH)TheniA=iA-26

strp=strp+Chr$(iA)

ElseIf(strT>="aMAndstrT<="z'')Then

iA=Asc(strT)+5

IfiA>Asc("z”)TheniA=iA-26

strp=strp+Chr$(iA)

Else

strp=strp+strT

EndIf

i=i+1

Loop

EnyStr=strp

題目:

題目:將一張面值為100元的人民幣等值換成100張5元、1元和0.5元的零鈔,要求每種

零鈔不少于1張,問有哪幾種組合?將組合數(shù)存入變量OUT中。

答案:---------------

DimnAsInteger

Dimi%,j%,k%

PrintM5?l?0.5?H

Fori=1To20

Forj=1To100-i

k=100-i-j

If5#*i+I#*j+0.5*k=100Then

Printi,j,k

n=n+1

EndIf

Nextj

Nexti

out=n

'題目:應用選擇法對數(shù)組A按升序排列

,基本思想:

,1)對有n個數(shù)的序列(存放在數(shù)組a(n)中),從中選出最小的數(shù),與第1個數(shù)交換位

置;

'2)除第1個數(shù)外,其余n-1個數(shù)中選最小的數(shù),與第2個數(shù)交換位置;

13)依次類推,選擇了n-1次后,這個數(shù)列已按升序排列。

答案:---------------

Dimi,j,imin,tempAsInteger

Fori=1Ton-1

imin=i

Forj=i+1Ton

Ifa(imin)>a(j)Thenimin=j

Nextj

temp=a(i)

a(i)=a(imin)

a(imin)=temp

Nexti

題目:

'題目:用迭代法求某個數(shù)的平方根。已知求平方根的迭代公式如圖:算法思想:對于一

個問題的求解X,可由給定的一個初值xO,根據(jù)某一迭代公式得到一個新的值xl,這個新

值xl比初值xO更接近要求的值x;再以新值作為初值,即:xl~xO,重新按原來的方法求

xl,重復這一過和直到|xl-xO|<e(某一給定的精度)。此時可將xl作為問題的解。

答案:---------------

DimxOAsSingle,xlAsSingle

x0=a/2迭代初值

xl=0.5*(xO+a/xO)

Do

x0=x「為下一次迭代作準備

xl=0.5*(xO+a/xO)

LoopWhileAbs(xl-xO)>0.00001

Fsqrt=xl

'題目:統(tǒng)計字符串中的單詞個數(shù)。算法思路:

(I)從文本(字符串)的左邊開始,取出一個字符;設邏輯量WT表示所取字符是否是

單詞內(nèi)的字符,初值設為False

(2)若所取字符不是"空格",“逗號”,“分號"或“感嘆號”等單詞的分隔符,再判斷WT是否

為True,若WT不為True則表是新單詞的開始,讓單詞數(shù)Nw=Nw+l,讓WT=True;

(3)若所取字符是"空格","逗號","分號"或"感嘆號”等單詞的分隔符,則表示字符不是

單詞內(nèi)字符,讓WT=False;

(4)再依次取下一個字符,重得(2)(3)直到文本結束。

答案:---------------

DimnwAsInteger,nLAsInteger

DimiAsInteger

DimstrTAsString

DimWtAsBoolean

nw=0:Wt=False

nL=Len(RTrim(strI))

Fori=1TonL

strT=Mid$(strl,i,1)取第i個字符

SelectCasestrT

Case

Wt=False

CaseElse

IfNotWtThen

nw=nw+1

Wt=True

EndIf

EndSelect

Nexti

CountWord=nw

題目:求兩個數(shù)m,n的最大公約數(shù)p和最小公倍數(shù)q

答案:---------------

nm=n*m

Ifm<nThent=m:m=n:n=t

r=mModn

DoWhile(r<>0)

m=n

r=mModn

Loop

p=n

q=nm/n

,題目:求二維數(shù)組中最大元素及其所在的行和列并將最大值存入變量Max中,將最大值的

行位置存入row中,列位置存入變量column中.

答案:---------------

DimiAsInteger,jAsInteger

max=a(l,1):row=1:column=1

Fori=1To2

Forj=1To3

Ifa(i,j)>a(row,column)Then

max=a(i,j)

row=i

column=j

EndIf

Nextj

Nexti

Print”最大元素是";max

Print”在第"&row&”行六"第“&column&”列“

題目:判斷一個數(shù)是否是素數(shù)。

答案:---------------

DimiAsInteger

Prime二True

Fori=2ToInt(Sqr(m))

IfmModi=0ThenPrime=False:ExitFor

Nexti

題目:

題目:(事件)單擊窗體。

求200?300之間既能被3整除又能被7整除的數(shù)。并求出所有數(shù)之和存入變量SUM中

答案:---------------

DimiAsInteger

Fori=201To300

If((iMod3)=0)And((iMod7)=0)Then

Print(CStr(i))

sum=sum+i

EndIf

Next

Printsum

'題目:(事件)單擊窗體。

(響應)求出100以內(nèi)所有素數(shù)的和,并將結果輸出到窗體上,并存入所給變量SUM中。

答案:---------------

DimiAsInteger

DimjAsInteger

DimkAsInteger

DimbAsBoolean

b=False

Fori=2To100

b=False

j=CInt(Sqr(i))

Fork=2Toj

IfiModk=0Then

b=True

EndIf

Next

Ifb=FalseThen

sum=sum+i

EndIf

Next

Printsum

題目:(事件)雙擊窗體。

,(響應)求1+2+3+5+8+13+……前20項的和,并將結

,果在窗體上輸出。將結果存入變量SUM中。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:---------------

DimiAsInteger

Dimj(lTo20)AsInteger

Fori=1To20

Ifi<3Then

j(i)=i

Else

j(i)=j(i-l)+j(i-2)

EndIf

sum=sum+j(i)

Next

Printsum

R第4題』『程序設計』(5分)(題號:157)

'【程序設計】

'題目:(事件)單擊窗體。

,(響應)求10!的值,并將結果輸出到窗體上。

'將結果存入變量SUM中。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

sum=1

Fori=1To10

sum=sum*i

Printsum

R第1題』『程序設計』(5分)(題號:148)

【程序設計】

'題目:(事件)單擊窗體。

,(響應)求10?20之間所有素數(shù)的乘積并輸出在窗體上。

'將結果存入變量L中。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:---------------

DimiAsInteger

DimjAsInteger

DimbAsBoolean

1=1

b=False

Fori=10To20

Forj=2Toi-2

IfiModj=OThen

b=True

EndIf

Next

Ifb=FalseThen

1=1*i

EndIf

b=False

Next

PrintStr(l)

K第2題1『程序設計』(5分)(題號:150)

【程序設計】

'題目:(事件)單擊窗體。

,(響應)求1-1/2+1/3-1/4+.......+1/99-1/100的值。

,將結果存入變量J中。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

Fori=1To100

IfiMod2=1Then

j=j+1/i

ElseIfiMod2=0Then

EndIf

Next

Printj

K第3題】『程序設計』(5分)(題號:131)

【程序設計】

'題目:(事件)單擊窗體。

'(響應)己知8=1+1/4+1/9+1/16+1/254—-+1/100,

,結果輸出在窗體上。

'將結果存入變量S中

答案:

DimiAsInteger

s=0

Fori=1To10

s=s+1/(iAi)

Next

Print(s)

K第4題W『程序設計』(5分)(題號:152)

【程序設計】

'題目:(事件)雙擊窗體。

'(響應)求1+2+3+5+8+13+……前20項的和,并將結

,果在窗體上輸出。將結果存入變量SUM中。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

Dimj(lTo20)AsInteger

Fori=1To20

Ifi<3Then

j(i)=i

Else

j(i)=j(i-D+j(i-2)

EndIf

sum=sum+j(i)

Next

Printsum

K第5題》『程序設計』(5分)(題號:157)

【程序設計】

題目:(事件)單擊窗體。

,(響應)求10!的值,并將結果輸出到窗體上。

將結果存入變量SUM中。

'注意:請在指定的事件內(nèi)編寫代碼.

答案:---------------

DimiAsInteger

sum=1

Fori=1To10

sum=sum*i

Next

Printsum

K第6題』『程序設計』(5分)(題號:489)

,----------------------------------U程序設計】

t

題目:(事件)單擊窗體。

'(響應)已知sum=l-l/3!+l/5!-l/7!+l/9!,

請將sum結果值輸出到窗體上。

使用dowhile...loop語句完成程序

,注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

DimnAsInteger

i=1

P=1

DoWhilei<=10

p=p*i

IfiMod2=1Then

n=n+1

sum=sum+(-1)A(n-l)/p

EndIf

i=i+1

Loop

Printsum

K第7題R『程序設計』(5分)(題號:154)

【程序設計】

題目:(事件)單擊窗體。

,(響應)求100以內(nèi)偶數(shù)的和,并將結果輸出在窗體上。

,將結果存入變量SUM中

,注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

Fori=1To100

IfiMod2=0Then

sum=sum+i

EndIf

Next

Printsum

R第8題』『程序設計』(5分)(題號:134)

【程序設計】

題目:(事件)雙擊窗體。

'(響應)s=20+21+22+-??+263,求s的值,并將結果

'存儲到變量S中。

注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

i=20

Whilei<=263

s=s+i

i=i+1

Wend

Print(CStr(s))

R第9題】『程序設計』(5分)(題號:142)

【程序設計】

題目:(事件)單擊窗體。

'(響應)編寫程序求10X11X12+11X12X13+—+15X16X17的結果,

,并將結果輸出到窗體上。

,將結果存入變量M中

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

Dimi,jAsInteger

DimsAsLong

Fori=lOTo15

s=1

Forj=iToi+2

s=s*j

Next

m=m+s

Next

Print(CStr(m))

K第1題』『程序改錯』(5分)(題號:132)

【程序改錯】

'題目:求s=2!+4!+6!+8!,階乘的計算用Function過程

,fact實現(xiàn)

,注意:不可增加或刪除程序行,也不可以更改程序結構

PrivateSubForm_Click()

dimiasinteger.sasLong

t**********FOUND**********

Fori=2To8

s=s+fact(i)

Nexti

Prints

EndSub

**********FOUND**********

PublicFunctionfact()

dimtasLong

dimiasinteger

t=1

Fori=1Ton

t=t*i

NextI

,**********FOUND**********

fact=i

EndFunction

答案:

1).Fori=2To8Step2

2).PublicFunctionfact(ByValnAsInteger)或PublicFunctionfact(nAsInteger)或

PublicFunctionfact(n%)或PublicFunctionfact(n)或PublicFunctionfact(ByVa)n%)或

PublicFunctionfact(ByValn)

3).fact=t

E第1題H『程序設計』(5分)(題號:149)

【程序設計】

'題目:(事件)單擊窗體。

,(響應)求1!+2!+3!+……+10!的值,并在窗體上輸出。

,結果存入變量L中。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

DimsAsLong

DimjAsInteger

s=1

Fori=1To10

1=1+S

Next

PrintStr(l)

K第2題1『程序設計』(5分)(題號:146)

【程序設計】

'題目:(事件)單擊窗體。

,(響應)求50以內(nèi)所有偶數(shù)的和,并在窗體上輸出出來.

將結果存入變量S中。

,注意:請在指定的事件內(nèi)編寫代碼。

答案:

DimiAsInteger

Fori=2To50

If(iMod2)=0Then

s=s+i

EndIf

Next

Print(CStr。))

K第3題。『程序設計』(5分)(題號:140)

'【程序設計】

'題目:(事件)雙擊窗體。

,(響應)編寫代碼功能如(圖1)。

'將結果存入變量S中

,注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

s=1

Fori=1To10

s=s*i*i

Next

Print(CStr(s))

K第4題7『程序設計』(5分)(題號:484)

【程序設計】

'題目:(事件)單擊窗體。

'(響應)求從100到1000之間所有是3的倍數(shù)的數(shù)之

和,當和大于3000時,停止計算并輸出和。請將結果輸

出到窗體上,并存入所給變量SUM中。使用for...next語

句完成程序

'注意:請在指定的事件內(nèi)編寫代碼。

答案:---------------

DimiAsInteger

sum=0

fori=100to1000

ifimod3=0then

sum=sum+i

ifsum>3000then

exitfor

endif

endif

i=i+l

next

Printsum

R第5題』『程序設計』(5分)(題號:156)

【程序設計】

'題目:(事件)雙擊窗體。

,(響應)求3+6+9+12+15+18+.......+300的和,并將結

,果輸出到窗體上。將結果存入變量SUM中。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

Fori=3To300

IfiMod3=0Then

sum=sum+i

EndIf

Next

Printsum

K第6題》『程序設計』(5分)(題號:412)

【程序設計】

題目:(事件)單擊窗體。

(響應)輸出所有的三位數(shù),它滿足該數(shù)中有某兩位

為相同的數(shù),且該數(shù)是一個完全平方數(shù)。

求出所有這些數(shù)的和,并將結果存入變量SUM中。

注意:請在指定的事件內(nèi)編寫代碼。

答案:

dimaasinteger,basinteger

dimb3asinteger,b2asinteger,blasinteger

fora=10to31

b=a*a

b3=b\100

b2=(b\10)mod10

bl=bmod10

ifbl=b2orbl=b3orb2=b3then

?a,b

sum=sum+b

endif

nexta

?sum

K第7題?!撼绦蛟O計』(5分)(題號:487)

【程序設計】

題目:(事件)單擊窗體。

(響應)已知s=l+l/3!+l/5!+l/7!+l/9!,請將s結果值

輸出到窗體上。使用dowhile...loop語句完成程序

注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

i=1

p=1

DoWhilei<=9

p=p*i

IfiMod2=IThen

s=s+1/p

EndIf

i=i+1

Loop

Prints

sum=s

K第8題』『程序設計』(5分)(題號:496)

【程序設計】

題目:(事件)單擊窗體。

(響應)求1-100中為5或7的倍數(shù)的和。請將結果

輸出到窗體上,并存入所給變量SUM中。

使用while...wend語句完成程序

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

i=1

Whilei<=100

IfiMod5=0OriMod7=0Then

Sum=Sum+i

EndIf

i=i+1

Wend

PrintSum

R第9題》『程序設計』(5分)(題號:500)

【程序設計】

'題目:(事件)單擊窗體。

,(響應)輸出一個如圖所示的由數(shù)字組成的倒三角形

請將結果存入變量S中(要求利用msgbox函數(shù)

顯示結果,使用for...next語句完成程序)

,注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimtmpAsString

DimiAsInteger,jAsInteger

tmp=

Fori=lOTo1Step-I

Forj=0Toi-1

tmp=tmp&CStr(j)

Next

tmp=tmp&vbCrLf

Next

MsgBoxtmp

s=tmp

K第1題》『程序設計』(1分)(題號:478)

【程序設計】

題目:編寫函數(shù)fun,其功能是:能計算從1開始到n的

,自然數(shù)中偶數(shù)的平方的和。

'注意:請在指定的函數(shù)過程內(nèi)編寫代碼。

答案:----------------

DimsumAsInteger,iAsInteger

sum=0

Fori=2TonStep2

sum=sum+i*i

Next

fun=sum

K第2題】『程序設計』(1分)(題號:465)

【程序設計】

'題目:判斷一個數(shù)是否是素數(shù)。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger

Prime=True

Fori=2ToInt(Sqr(m))

IfmModi=0ThenPrime=False:ExitFor

Nexti

K第3題】『程序設計』(1分)(題號:473)

【程序設計】

'題目:將一張面值為100元的人民幣等值換成100張5元、

11元和0.5元的零鈔,要求每種零鈔不少于1張,

'問有哪兒種組合?將組合數(shù)存入變量OUT中。

注意:請在指定的事件內(nèi)編寫代碼。

答案:---------------

DimnAsInteger

Dimi%,j%,k%

Printu5?l?0.5?H

Fori=1To20

Forj=lTolOO-i

k=100-i-j

If5#*i+l#*j+0.5*k=lOOThen

Printi,j,k

n=n+1

EndIf

Nextj

Nexti

out=n

K第4題】『程序設計』(1分)(題號:469)

【程序設計】

'題目:用迭代法求某個數(shù)的平方根?已知求平方根的迭代公式如圖:

'算法思想:對于一個問題的求解x,可由給定的一個初值xO,根據(jù)某一

,迭代公式得到一個新的值xl,這個新值X1比初值X0更接近要求的值x;

'再以新值作為初值,即:xl-xO,重新按原來的方法求xl,重復這一過和

'直到|xl-xO|<€(某一給定的精度)。此時可將X1作為問題的解。

'注意:請在指定的事件內(nèi)編寫代碼.

答案:----------------

DimxOAsSingle,xIAsSingle

x0=a/2迭代初值

xl=0.5*(xO+a/xO)

Do

xO=x「為下一次迭代作準備

xl=0.5*(xO+a/xO)

LoopWhileAbs(xl-xO)>0.00001

Fsqrt=xl

K第5題》『程序設計』(1分)(題號:472)

【程序設計】

'題目:統(tǒng)計字符串中的單詞個數(shù)。

'算法思路:

'(1)從文本(字符串)的左邊開始,取出一個字符;

,設邏輯量WT表示所取字符是否是單詞內(nèi)的字符,初值設為False

,(2)若所取字符不是"空格",“逗號”,"分號"或"感嘆號"等單詞

,的分隔符,再判斷WT是否為True,若WT不為True則表是新單詞的開始,

'讓單詞數(shù)Nw=Nw+l,讓WT=True;

,(3)若所取字符是“空格“,”逗號",“分號"或“感嘆號"等單詞的分隔符,

則表示字符不是單詞內(nèi)字符,讓WT=False;

,(4)再依次取下一個字符,重得(2)(3)直到文本結束。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:---------------

DimnwAsInteger,nLAsInteger

DimiAsInteger

DimstrTAsString

DimWtAsBoolean

nw=0:Wt=False

nL=Len(RTrim(strI))

Fori=1TonL

strT=Mid$(strl,i,1)取第i個字符

SelectCasestrT

Case

Wt=False

CaseElse

IfNotWtThen

nw二nw+1

Wt=True

EndIf

EndSelect

Nexti

CountWord=nw

K第6題X『程序設計』(1分)(題號:481)

【程序設計】

題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,

計算如下公式的值:

y=l+1/3+1/5+1/7+...+l/(2m+l)

例如:若m=9,則應輸出:2.133255

注意:請在指定的事件內(nèi)編寫代碼。

答案:

DimyAsDouble

DimiAsInteger

y=1

Fori=1Tom

y=y+l/(2*i+l)

Next

fun=y

K第7題?!撼绦蛟O計」(1分)(題號:479)

【程序設計】

'題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,計算

'如下公式的值:y=l/2+1/4+1/6+...+l/2m

,例如:若m=9,則應輸出:1.41448412698413

'注意:請在指定的函數(shù)過程內(nèi)編寫代碼。

答案:----------------

DimyAsDouble

DimiAsInteger

Fori=1Tom

y=y+1/(2*i)

Next

fun=y

R第8題H『程序設計』(1分)(題號:470)

【程序設計】

'題目:將一個十進制整數(shù)m轉換成一r(2—16)進制字符串。

方法:將m不斷除r取余數(shù),直到商為零,以反序得到結果。

下面寫出一轉換函數(shù),參數(shù)idee為十進制數(shù),ibase為要轉

換成數(shù)的基(如二進制的基是2,八進制的基是8等),

,函數(shù)輸出結果是字符串?

,注意:請在指定的事件內(nèi)編寫代碼。

答案:

DimstrDecR$,iDecR%

strDecR二"”

DoWhileidee<>0

iDecR=ideeModibase

IfiDecR>=10Then

strDecR=Chr$(65+iDecR-10)&strDecR

Else

strDecR=iDecR&strDecR

EndIf

idee=idee\ibase

Loop

TrDec=strDecR

K第9題R『程序設計』(1分)(題號:471)

【程序設計】

題目:對字符串進行加密處理。

,加密過程:

,將每個字母C加一序數(shù)K=5,即c=chr(Asc(c)-5),

'這時"Z"f"U","z"—"u","Y"f"T"…

,當加序數(shù)后的字母小于"A"或"a"則c=Chr(Asc(c)-k+26)

'注意:請在指定的事件內(nèi)編寫代碼。

1

答案:----------------

DimiAsInteger

DimstrpAsString,strTAsString,iAAsString

DimnlAsString

i=l:strp=',n

nl=Len(RTrim(strI))

DoWhile(i<=nl)

strT=Mid$(strl,i,1)取第i個字符

If(strT>=MA"AndstrT<=nZn)Then

iA=Asc(strT)+5

IfiA>Asc(,,Zn)TheniA=iA-26

strp=strp+Chr$(iA)

ElseIf(strT>=HanAndstrT<=Mzu)Then

iA=Asc(strT)+5

IfiA>Asc("z”)TheniAniA-26

strp=strp+Chr$(iA)

Else

strp=strp+strT

EndIf

i=i+1

Loop

EnyStr=strp

K第10題』『程序設計』(1分)(題號:483)

【程序設計】

'題目:編寫函數(shù)fun,函數(shù)的功能是:求1到m

,之間的偶數(shù)之積。

'注意:請在指定的函數(shù)過程內(nèi)編寫代碼。

答案:----------------

DimyAsDouble

y=1

DimiAsInteger

Fori=1Tom

IfiMod2=0Then

y=y*i

EndIf

Next

fun=y

R第11題X[程序設計』(1分)(題號:468)

'【程序設計】

,題目:求二維數(shù)組中最大元素及其所在的行和列

,并將最大值存入變量Max中,將最大值的行位置存入

row中,列位置存入變量column中.

'注意:請在指定的事件內(nèi)編寫代碼。

答案:

DimiAsInteger,jAsInteger

max=a(l,1):row=1:column=1

Fori=1To2

Forj=1To3

Ifa(i,j)>a(row,column)Then

max=a(i,j)

row=i

column=j

EndIf

Nextj

Nexti

Print"最大元素是";max

Print"在第"&row&"行"第"&column&"列"

(第12題H[程序設計』(1分)(題號:475)

【程序設計】

'題目:編寫函數(shù)fun,函數(shù)的功能是:計算n門課程

,的平均值,計算結果作為函數(shù)值返回。

'例如,若有5門課程的成績是:92,76,69,

'58,88,則函數(shù)的值為76.6。

'注意:請在指定的事件內(nèi)編寫代碼.

答案:----------------

DimiAsInteger

DimyAsSingle

Fori=1Ton

y=y+a(i)

Next

fun=y/n

K第13題H『程序設計』(1分)(題號:476)

【程序設計】

'題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,

'計算如下公式的值:y=l⑵+l/4!+...+l/m!

'(m是偶數(shù))

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimiAsInteger,jAsInteger,tAsInteger

fun=0

Fori=2TomStep2

t=1

Forj=1Toi

t=t*j

Next

fun=fun+1/1

Next

K第14題H『程序設計』(1分)(題號:474)

【程序設計】

'題目::編寫函數(shù)fun,函數(shù)的功能是:計算并輸出給定

'整數(shù)n的所有因子之和(不包括1與自身)。規(guī)定

'n的值不大于1000?

例如:n的值為855時,應輸出704。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

Dims,iAsInteger

Fori=2Ton-1

IfnModi=OThen

s=s+i

EndIf

Next

Fun=s

K第15題《『程序設計』(1分)(題號:464)

【程序設計】

'題目:求兩個數(shù)m,n的最大公約數(shù)p和最小公倍數(shù)q

'注意:請在指定的事件內(nèi)編寫代碼。

答案:................

nm=n*m

Ifm<nThent=m:m=n:n=t

r=mModn

DoWhile(r<>0)

m=n

n=r

r=mModn

Loop

p=n

q=nm/n

K第16題1『程序設計』(1分)(題號:467)

【程序設計】

題目:應用冒泡法對數(shù)組A按升序排列

,基本思想:(將相鄰兩個數(shù)比較,小的調到前頭)

,1)有n個數(shù)(存放在數(shù)組a(n)中),第一趟將每相鄰兩個數(shù)比較,小的調到前頭,

經(jīng)n-1次兩兩相鄰比較后,最大的數(shù)已“沉底”,放在最后一個位置,小數(shù)上升“浮起”;

⑵第二趟對余下的n?l個數(shù)(最大的數(shù)已“沉底”)按上法比較,經(jīng)m2次兩兩相

鄰比較后得次大的數(shù);

,3)依次類推,n個數(shù)共進行n-1趟比較,在第j趟中要進行n-j次兩兩比較。

答案:---------------

Dimi,j,tempAsInteger

Fori=1Ton-1

Forj=1Ton-i

Ifa(j)>a(j+l)Then

temp=a(j):a(j)=a(j+1):a(j+I)=temp

EndIf

Nextj

Nexti

K第17題X『程序設計』(1分)(題號:477)

【程序設計】

,題目::編寫函數(shù)fun其功能是:判斷一個整數(shù)w的各位

,數(shù)字平方之和能否被5整除,可以被5整除則返

'回1,否則返回0

”注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimkAsInteger,sAsInteger

Do

s=s+(wMod10)*(wMod10)

w=Int(w/10)

LoopWhilew<>0

IfsMod5=0Then

k=1

Else

k=0

EndIf

K第18題』『程序設計』(1分)(題號:466)

【程序設計】

'題目:應用選擇法對數(shù)組A按升序排列

'基本思想:

,1)對有n個數(shù)的序列(存放在數(shù)組a(n)中),從中選出最小的數(shù),與第I個數(shù)交換位

置;

'2)除第1個數(shù)外,其余n-l個數(shù)中選最小的數(shù),與第2個數(shù)交換位置;

,3)依次類推,選擇了n-l次后,這個數(shù)列已按升序排列。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:

Dimi,j,imin,tempAsInteger

Fori=1Ton-1

imin=i

Forj=i+1Ton

Ifa(imin)>a(j)Thenimin=j

Nextj

temp=a(i)

a(i)=a(imin)

a(imin)=temp

Nexti

K第19題》r程序設計』(1分)(題號:480)

【程序設計】

'題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,

'計算如下公式的值:

'y=l/5+l/6+l/7+l/8+l/9+l/10...+l/(m+5)

'例如:若m=9,則應輸出:1.168229

'要求:函數(shù)中用到的中間變量必須聲明為Single類型。

’注意:請在指定的函數(shù)過程內(nèi)編寫代碼。

答案:----------------

DimyAsDouble

DimiAsInteger

Fori=0Tom

y=y+1/(i+5)

Next

Fun=y

K第20題?!撼绦蛟O計』(1分)(題號:482)

【程序設計】

'題目:編寫函數(shù)fun,函數(shù)的功能是:求一個

,四位數(shù)的各位數(shù)字的立方和

'注意:請在指定的事件內(nèi)編寫代碼.

答案:----------------

DimdAsInteger,kAsInteger,sAsInteger

Whilen>0

d=nMod10

s=s+d*d*d

n=n/10

Wend

fun=s

【程序設計】

'題目:編寫函數(shù)fun,函數(shù)的功能是:計算n門課程

,的平均值,計算結果作為函數(shù)值返回。

'例如,若有5門課程的成績是:92,76,69,

,58,88,則函數(shù)的值為76.6。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:---------------

DimiAsInteger

DimyAsSingle

Fori=1Ton

y=y+a(i)

Next

fun=y/n

R第2題】『程序設計』(1分)(題號:474)

【程序設計】

'題目::編寫函數(shù)fun,函數(shù)的功能是:計算并輸出給定

,整數(shù)n的所有因子之和(不包括1與自身)。規(guī)定

'n的值不大于1000?

,例如:n的值為855時,應輸出704。

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

Dims,iAsInteger

Fori=2Ton-1

IfnModi=OThen

s=s+i

EndIf

Next

Fun=s

K第3題?!撼绦蛟O計』(I分)(題號:477)

【程序設計】

'題目::編寫函數(shù)fun其功能是:判斷一個整數(shù)w的各位

,數(shù)字平方之和能否被5整除,可以被5整除則返

'回1,否則返回0

'注意:請在指定的事件內(nèi)編寫代碼。

答案:----------------

DimkAsInteger,sAsInteger

Do

s=s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論