版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)金贖樓服務(wù)合同還款時間及費用說明
- 旅游活動贊助商合同
- 商業(yè)印刷品購買協(xié)議
- 私人借款協(xié)議范本在線
- 裝飾合同補充細則
- 借款協(xié)議與擔保合同
- 倉儲物流信息管理系統(tǒng)合作協(xié)議
- 設(shè)計合作終止協(xié)議解除合同條件
- 現(xiàn)房車庫買賣合同范本
- 租房質(zhì)量承諾
- 揭開人際吸引的奧秘 心理健康七年級全一冊
- 景觀生態(tài)學基礎(chǔ)智慧樹知到期末考試答案2024年
- 項目用地報批知識講座
- 2025屆高三英語一輪復習讀后續(xù)寫微技能之無靈主語
- 9.刷牙洗臉(課件)-一年級勞動教育“小農(nóng)莊”(校本課程)
- 草本霧化行業(yè)分析
- 2023年《鐵道概論》考試復習題庫附答案(含各題型)
- (電焊工)勞務(wù)分包合同
- 港口協(xié)會工作總結(jié)及計劃
- 質(zhì)量管理中的流程改進與優(yōu)化
- 兒童健康管理服務(wù)總結(jié)分析報告
評論
0/150
提交評論