湖南省計算機等級考試輔導_第1頁
湖南省計算機等級考試輔導_第2頁
湖南省計算機等級考試輔導_第3頁
湖南省計算機等級考試輔導_第4頁
湖南省計算機等級考試輔導_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

湖南省計算:機等級考試

輔導

2006年n月

計算機系一劉永逸

1

內(nèi)容提要

院概括性指導

國重點結(jié)構(gòu)、常用標準函數(shù)、自定

義函數(shù)、基本處理、邏輯表達式

日常用算法:窮舉法、遞推

更分類練習

Ci十多種常見類型

2

FoxPro程序的基本結(jié)構(gòu)

配順序結(jié)構(gòu)

紀選擇(分支)結(jié)構(gòu)

■IF...ELSE...ENDIF

更多選擇(分支)結(jié)構(gòu)

3D0CASE...ENDCASE

3

圮循環(huán)結(jié)構(gòu)

HDOWHILE...ENDDO

HFOR...ENDFOR/NEXT

紀嵌套

島分支與分支

■循環(huán)與循環(huán)

■循環(huán)與分支

程序中可省代碼

Rsettalkon

比clear&&此句一般保留

Rsettalkoff

Rreturn

5

配給出兩種常用結(jié)構(gòu)

比可作“模板”使用

紀學會填空?。。?/p>

配FOR...ENDFOR|NEXT結(jié)構(gòu)

fbri=...to...step...

if...

(loop、exit)

endif

endfor計數(shù)循環(huán)!

7

RDOWHILE...ENDDO結(jié)構(gòu)

s=...

i=...

dowhile...

enddo

?...一般的當型循環(huán)!

8

FoxPro程序中常用函數(shù)

W系統(tǒng)內(nèi)部標準函數(shù)

島取整:int(x)

U求余數(shù):mod(a,b)

11求平方根:sqrt(x)

II絕對值:abs(x)

U其它…

9

W用戶自定義函數(shù)

II邏輯函數(shù)判定:prime(x)

外部函數(shù)的方法(不講)

內(nèi)部函數(shù)的方法(程序的一部分)

見:有關(guān)素數(shù)程序設(shè)計部分

II注:二級必備!

10

程序中最基本的處斌

W計數(shù)

■初值:n=0或…

■循環(huán)處理:n=n+l

回連加

口初值:s=0或…

U循環(huán)處理:s=s+i或...

11

紀連乘

國初值:t=l或…

循環(huán)處理:t=t*i或…

12

最常用的判斷

Ph被b整除(倍數(shù)、因子)

Hmod(a,b)=0

口a是整數(shù)

Mint(a)=a

?應(yīng)用:求不定方程的整數(shù)解

13

多條件組合為邏輯表達式

PJx能被3整除但不能被4整除

■mod(x,3)=0andmod(x,4)#0

因x是能被3或5整除的偶數(shù)

Hmod(x,2)=0and(...or...)

14

精確與非精確編程思路

同精確編程:只輸出所需結(jié)果。

紀非精確編程:輸出相關(guān)的數(shù)據(jù),

從中容易得出所需要的結(jié)果。

15

四例:設(shè)s=2+4+6+,求s的最

大值,使s〈=1000。#992

(下兩頁有程序)

16

精確編程(不細講5

日clear

Rn=O

Rs=O

配dowhiles<1000

紀n=n+2

紀s=s+n

B*?n,s

Renddo

R?s-n17

非精確編程

Rclear

Ws=O

Rfbrn=2to100step2

Rs=s+n

R?n,s

Eendfor

18

1、簡單的求和問題

比數(shù)列求和

Hai=f(n),求Sn=ai+...+an,是數(shù)列

循環(huán)處理:a=f(i),s=s+a

或s=s+f(i)

和一定條件下的求和

19

配求1?108所有整數(shù)的平方和。

#425754

配求s=l*2+2*3+...+100*101

配求s=l*3+3*5+...+99*101

W可在Excel中求解

20

比求1?135的平方根的和。

#1051.31

國基本算法:循環(huán)、連加

可在Excel中求解

配求1?135的和的平方根。

21

日求[351,432]之間所有既不能被3

整除,又不能被8整除的整數(shù)的和。

#18413

w求1至U1ooo之內(nèi)能被7或n整除,

但不能同時被7和11整除的所有

整數(shù)的個數(shù)。#208

22

2、等比數(shù)列及求和“

配求2+4+8+16+32+...,當累加

數(shù)大于9000時,則終止計算并

輸出結(jié)果。#16382

23

0已知Sl=l,S2=l+2,

S3=l+2+4,…,求

S=S1+S2+S3+S4+...+S20的值。

#2097130

24

比一球從100米高處落至平地并連

續(xù)反彈、落下。設(shè)每次反彈高度

按4/5倍遞減,試求出最小的自

然數(shù)n,使得此球從開始下落至

第n次著地時在垂直方向所經(jīng)過

的總路程超過800米。

0基本算法:循環(huán)、(連乘、)連加

25

3、遞推問題(Excel時麻)

紀設(shè)有用26個表達式:a=l,

b=l/(a+l),c=l/(b+2),

z=1/(y+25),試泵出z的值。

#0.04

田基本算法:循環(huán)、單項遞推

助1尸1,f(n尸1/(f(n-l)+n-l)

26

紀斐波那契數(shù)歹!J{f(i)}:1,1,2,3,5,8,…,

試輸出前20項。

■基本算法:循環(huán)、遞推

Bf(l>1,f(2)=l,f(n>f(n-2)+f(n-l)

27

回基本算法(使用數(shù)組)

[1定義數(shù)組:dimensionf(50)

國循環(huán)初值:f⑴=l,f(2尸1;

國循環(huán)處理:f(n)=f(n-2)+f(n-1)

28

配clear

gdimef(20)

紀f⑴=1

紀f(2)=l

H?f(l),f(2)

Rfbrn=3to20

Kf(n>f(n-2)+f(n-l)

叵??f(n)

Flendfor

29

斐波那契數(shù)列{f⑴}:1,1,2,3,5,8,…

紀求F(45)值。#1134903170

紀求F(l)+F(2)+…+F(50)#32951280098

紀求F(l)+F(3)+...+F(49)#12586269025

紀求10000000內(nèi)最大的#9227465

紀求10000000內(nèi)的個數(shù)#35

30

斐波那契數(shù)列一相關(guān)問題(例1)

內(nèi)求S=l/2+2/3+3/5+5/8+…的前30

項的和。#18.46

3{f(n)}:1,2,3,5,8,...,31項

■S=l/2

■S=S+f(n-l)/f(n),n=3,4,…,31

31

斐波那契數(shù)列一相關(guān)問題(例2)

同求S=l/2+3/5+8/13+21/34+…的

前30項的和。#18.40

■{f(n)}:123,5,8,…,60項

■S=l/2

■S=S+f(n-l)/f(n),n=4,6,8,…,60

32

三項遞推的數(shù)列

門一個數(shù)列,它的頭三個數(shù)為0,

0,1,以后的每個數(shù)都是其前

三個數(shù)的和,求此數(shù)列的前30

項之和。#18947744

33

4、常見數(shù)字問題的處誣

m水仙花數(shù):三位數(shù),等于其各位

數(shù)字之立方和。

,記住10000以內(nèi):

153、370、371、407

,考試中,有四位水仙花數(shù)之說。

看清題意!

34

W水仙花數(shù)的算法是數(shù)字問題之

根本!

?算法一:單循環(huán)(x:100?999)

由由數(shù)x得出數(shù)字abc???

熟練掌握一種從數(shù)中取數(shù)字的方法

國算法二:三重循環(huán)(a:l?9b,c:0?9)

由數(shù)字a、b、c組成數(shù)x(100?999)

35

W設(shè)X是一個四位數(shù),千位到個位

分別是a、b、c、d,則:

3a=int(x/1000)

Bb=int((x-1000*a)/100)

■c=int((x-1OOO*a-l00*b)/10)

3d=mod(x,10)

■(或見下頁)

36

Hb=mod(int(x/100),10)

■c=mod(int(x/l0),10)

Cl或

Mb=int(mod(x?1000)/100)

Mc=int(mod(x,100)/10)

37

FJclear&&水仙花程序1

gn=O

紀forx=100to999

紀a=int(x/100)

Rb=int((x-a*100)/10)

紀c=mod(x510)

Wifx=a*a*a+b*b*b+c*c*c

紀n=n+1

S?n,x

配endif

F^endfbr

38

紀clear&&水仙花程序2

⑸n=0

Rfora=lto9

叵forb=0to9

紀forc=0to9

紀x=100*a+10*b+c

比ifx=a*a*a+b*b*b+c*c*c

紀??x

紀n=n+1

⑸endif

回endfor

gendfor

紀endfor

紀?n

39

比求在[100,999]內(nèi)所有不含數(shù)字0

且各位數(shù)字之積被96整除的數(shù)之

和。#26640

Ua*b*c〈>0andmod(a*b*c,96)=0

40

配求[123,4321]內(nèi)回文數(shù)的個數(shù)。

#120

■都看作四位數(shù)abed,兩種情況

處理:

a=0andb=d

Sa<>0anda=dandb=c

41

clear&&回文數(shù)程序1

紀n=0

紀forx=123to4321

Ra=int(x/1000)

紀b=int((x-a*1000)/100)

£c=int((x-a*1000-b*100)/10)

紀d=mod(x910)

gif(a=0andb=d)or(a<>0anda=dandb=c)

紀n=n+1

紀??x

紀endif

gendfor

紀?n

42

紀clear&&回文數(shù)程序2

紀n=0

Kfora=0to4

紀forb=0to9

Rforc=0to9

Rford=0to9

紀x=1000*a+100*b+10*c+d

£ifx>=123andx<=4321and((a=0andb=d)or(a<>0

anda=dandb=c))

紀??x

紀n=n+1

叵endif

紀endfor

紀endfor

紀endfor

紀endfor

紀?n

43

5、因子問題-因子個數(shù)、和

W問[100,200]之間有奇數(shù)個不同因

子的整數(shù)共有多少個?#5

國基本算法:二重循環(huán)

白外循環(huán):forx=100to200窮舉!

內(nèi)循環(huán)模塊一:求X之因子個數(shù)

內(nèi)循環(huán)模塊二:判斷處理

44

阿clear

gn=0

gforx=100to200

紀k=0

£fori=ltox

Rifmod(x,i)=0

紀k=k+l

紀endif

£endfbr

Rifmod(k,2)=l

g??x

紀n=n+1

gendif

Rendfor

E?n45

完數(shù)

回求在[10,1000]之間的所有完數(shù)

之和。各真因子之和(不包括自

身)等于其本身的正整數(shù)稱為完

數(shù)。例如:6=1+2+3,6是完數(shù)。

#524

46

[1settalkoff

[1clear

nk=o

■forn=10to1000

ns=o

Elfori=1ton/2

3ifmod(n,i)=0

9s=s+i

[1endif

[1endfor

3ifs=n

[1k=k+n

[1endif

[1endfor

B?k

[1settalkon

[]return47

完備數(shù)

因已知24有8個正整數(shù)因子(即:

1,2,3,4,6,8,12,24),而24正好

能被其因子數(shù)8整除,求[10,

100]之間有多少個正整數(shù)能被

其因子的個數(shù)整除。#12

48

多因子完備數(shù)的概態(tài)

同若某整數(shù)N的所有因子之和等于

N的倍數(shù),則N稱為多因子完備

數(shù),如數(shù)28,其因子1、2、4、7、

14、28之和是56=2*28,28是多因

子完備數(shù)。

49

因求[1,200]之間有多少個多因子

完備數(shù)。#4

國基本算法:二重循環(huán)

外循環(huán):forx=1to200窮舉!

內(nèi)循環(huán)功能一:求x的因子之和

內(nèi)循環(huán)功能二:判斷處理

50

最大公約數(shù)

日求出583573和559399的最大公

約數(shù)。#79

國基本算法:單循環(huán)求出所有因子

51

最小公倍數(shù)

力求出9269和8671的最小公倍

數(shù)。#268801

Ua和b最大公約數(shù)d與最小公倍

數(shù)k具有關(guān)系:a*b=d*k

52

6、組合問題:不定方直象解

紀大、號、小學生?36人消皂,

每大4元,每中2元,每小1元,

共120元,問大、中、小學生人

數(shù)組合有多少種可能?(每類學

生學生的人數(shù)均不為0。)

?基本算法:三重(或二重循環(huán))

53

程序(三重循環(huán))

Rclear

紀n=0

紀forx=lto36

紀fory=lto36

紀forz=lto36

紀ifx+y+z=36and4*x+2*y+z=120

紀n=n+1

紀?x,y,z

紀endif

紀endfor

回endfor

紀endfor

紀?n

54

配求方程3x-7y=1在條件岡v100且

|y|<40下的整數(shù)解的個數(shù)。#26

0■基本算法:二重或單循環(huán)

55

W已知正整數(shù)A,B(假定A<B),滿

足A*B=5432,^S=A+B的最小

值。#153

■數(shù)學結(jié)論:A與B相差小其和就小

?基本算法:二重或單循環(huán)求因子

56

(勾、股、)弦教”

門勾、股、弦(正整數(shù))

a2+b2=c2(求組數(shù):a<b<c)

基本算法(多重循環(huán))

■(1)c:(有固定值或循環(huán)給出)

耿2)b:2?c-1

ffl(3)a:1?b-1

57

因求[121,140]之間的弦數(shù)的個

數(shù)。(如5是弦數(shù):

3A2+4A2=5八2)#8

58

Eclear

回forc=121to140

叵forb=2toc-1

叵fora=ltob-1

叵ifa*a+b*b=c*c

叵?a,b,c

£endif

Rendf

紀endf

Flendf

59

一個特殊考題

月今有5羊4犬3雞2兔值錢1496,4羊2

犬6雞3兔值錢H75,3羊1犬7雞5兔

值錢958,,2羊3犬5雞1兔值錢861。

求羊價。#177(、121、23、29)

U5x+4y+3z+2w=1496

[14x+2y+6z+3w=l175

[13x+y+7z+5w=958

32x+3y+5z+w=80l

7、高精度計算一面丟

圮令a=113,b=355,不考慮四舍五

入,求a/b的結(jié)果中:

(1)小數(shù)點后第30位數(shù)字是幾?

(2)小數(shù)點后前30位數(shù)字之和是

多少?

?答案:(1)4(2)160(算法見下頁)

U計算器可得32位小數(shù)!

61

由a、b求q、r使10*a=6*q+r

配基本算法

I■循環(huán):fori=lto30

■基本處理:模擬手工計算方法

EI每做一次除法,得一位商和余數(shù)

a=a*10

q=int(a/10)

a=mod(a,b)r就是下一次的a

62

程序

紀a=H3W*??str(q,1)

皎=355回s=s+q

配s=0Ra=mod(a,b)

Rfbri=lto30Rendfor

至a=a*10叵?q,s

紀q=int(a/b)^return

63

8、同構(gòu)數(shù)

覺所謂“同構(gòu)數(shù)”:一個數(shù),它

出現(xiàn)在它的平方數(shù)的右側(cè)。

I■記住10000以內(nèi)的:1、5、6、25、

76、376、625、9376

1朱點?mod(x*x,m)=x

Hm=10、100、1000

64

clear

n=0

forx=lto9999

docase

casex<10

m=10

casex<100

m=100

casex<1000

m=1000

casex<10000

m=10000

endcase

ifmod(x*x,m)=x

?x,x*x

n=n+l

endif

endfbr

?n

65

9、完全平方數(shù)

力完全平方數(shù)X(如144=122)

■y=int(sqrt(x))滿足條件:x=y*y

□1,4,9,25,...

日求1000以內(nèi)完全平方數(shù)個數(shù)。

31,4,9,16,...,961

66

紀clear

Kn=0

Rforx=1to1000

紀y=int(sqrt(x))

配ifx=y*y

目??x

紀n=n+1

?endif

Rendfbr

紀?n

67

10、數(shù)制轉(zhuǎn)換’

日求出將十進制整數(shù)98765432等

值轉(zhuǎn)換為二進制形式表示后,

其中數(shù)字1的個數(shù)。#13

■算法提示:單循環(huán)(2除取余法,

直到余數(shù)為0)

I循環(huán)處理:r=x%2,x=int(x/2)

計算器!

68

紀clear程序

紀x=98765432

紀p=2

紀n=0

紀dowhilex>0

紀r=mod(x,p)

紀ifr=l

紀n=n+1

紀endif

紀?p,xj

Rx=int(x/p)

紀enddo

紀?str(x,20)

紀?n

69

日求出將十進制小數(shù)0.5432等值轉(zhuǎn)

換為二進制形式表示后,其中小

數(shù)點后第15位數(shù)字。#1

■算法提示:單循環(huán)(2乘取整法)

■循環(huán)處理:r=int(2*x),x=x-r

計算器:0.5432*2A156二進制

70

程序

Eclear

紀x=0.5432

£p=2

E?x

紀forn=lto15

紀y=p*x

紀?y

紀z=int(y)

Rx=y-z

紀endfor

紀?z

71

11、素數(shù)(質(zhì)數(shù))問題

紀一般算法(略)

紀使用自定義函數(shù)

72

使用自定義內(nèi)部邏輯函數(shù)prime(x)

紀functionprimeRfbri=2tox-1

=

^parameters牢紀ifmod(x,i)0

紀privatei記Rreturn.f.

Rifx<2在紀endif

回return.f.Rendfor

Rreturn.t.

Rendif73

舉例

日求100以內(nèi)素數(shù)個數(shù)。#25

配求[100,999]內(nèi)素數(shù)和。#75067

配求[500,2500]內(nèi)第25個素數(shù)#659

力求[3,1000]內(nèi)最大的五個素數(shù)之

和。#4919

O(題1的程序見下頁)

74

clear

n=0

forx=lto100

ifprime(x)

??x

n=n+l

endif

endfor

?n

return

functionprime

parametersx

privatei

ifx<2

return.f.

endif

fori=2tox-1

ifmod(x,i)=0

return.f.

endif

endfor

return.t.

75

哥德巴赫猜測

院德國數(shù)學家哥德巴赫曾猜測:

任何大于4的偶數(shù)都可以分解成

兩個奇素數(shù)的和。

■有些偶數(shù)有多個分解式,如:

10=3+7,10=5+5。

76

紀試求6744可以分解成多少個不

同的分解式:6744=A+B

(A<=B)#144

ri基本算法:主程序用單循環(huán)

77

Rc=6744解答

紀n=0

Rfora=3toc/2step2

Rb=c-a

Eifprime(a)andprime(b)

£n=n+1

gendif

Kendfor

叵?n&&后接函數(shù)

78

雙胞胎素數(shù)

配若兩個素數(shù)之差為2,則稱

此兩數(shù)為雙胞胎數(shù)。求出

[200,1000]之間的最大一對

雙胞胎數(shù)的和。#1764

■基本算法:主程序用單循環(huán)

fbra=200to1000-2

79

Rfora=200to1000-2

Rifprime(a)andprime(a+2)

Rs=2*a+2

R?a,a+2,s

Rendif

Rnext

R?s&&后接函數(shù)

80

友素數(shù)

門若兩個連續(xù)的自然數(shù)的乘積減1

后是素數(shù),則稱此兩數(shù)為友數(shù)對

該素數(shù)稱為友素數(shù)。例如,由于

8*9-1=71,因此,8與9是友數(shù)

對,71是友素數(shù)。求[100,200]

之間的友數(shù)對的數(shù)目。#40

81

Qk=O

比forn=100to200-1

Rifprime(n*(n+l)-l)

Ek=k+l

比endif

Knext

R?k&&后接函數(shù)

82

第一類超級素

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論