




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖南省計(jì)算機(jī)等級(jí)考試輔導(dǎo)2006年11月計(jì)算機(jī)系劉永逸1內(nèi)容提要概括性指導(dǎo)重點(diǎn)結(jié)構(gòu)、常用標(biāo)準(zhǔn)函數(shù)、自定義函數(shù)、基本處理、邏輯表達(dá)式常用算法:窮舉法、遞推分類(lèi)練習(xí)十多種常見(jiàn)類(lèi)型2FoxPro程序的基本結(jié)構(gòu)順序結(jié)構(gòu)選擇(分支)結(jié)構(gòu)IF.ELSE.ENDIF多選擇(分支)結(jié)構(gòu)DO CASE.ENDCASE3循環(huán)結(jié)構(gòu)DO WHILE.ENDDOFOR .ENDFOR / NEXT嵌套分支與分支循環(huán)與循環(huán)循環(huán)與分支4程序中可省代碼set talk onclear & 此句一般保留set talk offreturn5FoxPro程序設(shè)計(jì)重點(diǎn)結(jié)構(gòu)給出兩種常用結(jié)構(gòu)可作“模板”使用學(xué)會(huì)填空!6FOR . EN
2、DFOR | NEXT 結(jié)構(gòu) for i= to step if (loop、exit) endif endfor 計(jì)數(shù)循環(huán)!7DO WHILE . ENDDO結(jié)構(gòu) s=. i=. do while enddo ? . 一般的當(dāng)型循環(huán)!8FoxPro程序中常用函數(shù)系統(tǒng)內(nèi)部標(biāo)準(zhǔn)函數(shù)取整:int(x)求余數(shù):mod(a,b )求平方根:sqrt(x)絕對(duì)值:abs(x)其它.9用戶(hù)自定義函數(shù)邏輯函數(shù)判定:prime(x)外部函數(shù)的方法(不講)內(nèi)部函數(shù)的方法(程序的一部分)見(jiàn):有關(guān)素?cái)?shù)程序設(shè)計(jì)部分注:二級(jí)必備!10程序中最基本的處理計(jì)數(shù)初值:n=0 或 .循環(huán)處理:n=n+1連加初值:s=0 或 .
3、循環(huán)處理:s=s+i 或 .11連乘初值:t=1 或 .循環(huán)處理:t=t*i 或 .12最常用的判斷a被b整除(倍數(shù)、因子)mod(a,b)=0 a是整數(shù)int(a)=a應(yīng)用:求不定方程的整數(shù)解13多條件組合為邏輯表達(dá)式x能被3整除但不能被4整除mod(x,3)=0 and mod(x,4)#0 x是能被3或5整除的偶數(shù)mod(x,2)=0 and ( or )14精確與非精確編程思路精確編程:只輸出所需結(jié)果。非精確編程:輸出相關(guān)的數(shù)據(jù),從中容易得出所需要的結(jié)果。15例:設(shè)s=2+4+6+,求s的最大值,使s=1000。#992(下兩頁(yè)有程序) 16精確編程(不細(xì)講)clearn=0s=0do
4、 while s1000 n=n+2 s=s+n* ? n,senddo? s-n17非精確編程clears=0for n=2 to 100 step 2 s=s+n ? n,sendfor181、簡(jiǎn)單的求和問(wèn)題數(shù)列求和ai=f(n), 求 sn=a1+ an , 是數(shù)列循環(huán)處理:a=f(i) , s=s+a 或 s=s+f(i)一定條件下的求和19求1108所有整數(shù)的平方和。#425754求s=1*2+2*3+100*101求s=1*3+3*5+99*101可在Excel中求解20求1135的平方根的和。#1051.31基本算法:循環(huán)、連加可在Excel中求解求1135的和的平方根。21求3
5、51,432之間所有既不能被3整除,又不能被8整除的整數(shù)的和。#18413求1到1000之內(nèi)能被7或11整除,但不能同時(shí)被7和11整除的所有整數(shù)的個(gè)數(shù)。#208222、等比數(shù)列及求和求2+4+8+16+32+,當(dāng)累加數(shù)大于9000時(shí),則終止計(jì)算并輸出結(jié)果。#1638223已知S1=1, S2=1+2, S3=1+2+4, ,求S=S1+S2+S3+S4+S20的值。#209713024一球從100米高處落至平地并連續(xù)反彈、落下。設(shè)每次反彈高度按4/5倍遞減,試求出最小的自然數(shù)n,使得此球從開(kāi)始下落至第n次著地時(shí)在垂直方向所經(jīng)過(guò)的總路程超過(guò)800米。基本算法:循環(huán)、(連乘、)連加253、遞推問(wèn)題
6、(Excel可解)設(shè)有用26個(gè)表達(dá)式:a=1,b=1/(a+1),c=1/(b+2),z=1/(y+25),試求出z的值。#0.04基本算法:循環(huán)、單項(xiàng)遞推f(1)=1,f(n)=1/(f(n-1)+n-1)26斐波那契數(shù)列f(i):1,1,2,3,5,8, 試輸出前20項(xiàng)。基本算法:循環(huán)、遞推f(1)=1,f(2)=1,f(n)=f(n-2)+f(n-1)27基本算法(使用數(shù)組)定義數(shù)組:dimension f(50)循環(huán)初值:f(1)=1, f(2)=1; 循環(huán)處理:f(n)=f(n-2)+f(n-1) 28cleardime f(20)f(1)=1f(2)=1? f(1),f(2)for
7、 n=3 to 20 f(n)=f(n-2)+f(n-1) ? f(n)endfor29斐波那契數(shù)列f(i):1,1,2,3,5,8,求F(45)值。 #1134903170求F(1)+F(2)+F(50) #32951280098求F(1)+F(3) +F(49) #12586269025 求10000000內(nèi)最大的 #9227465 求10000000內(nèi)的個(gè)數(shù) #3530斐波那契數(shù)列相關(guān)問(wèn)題(例1)求S=1/2+2/3+3/5+5/8+的前30項(xiàng)的和。#18.46f(n):1,2,3,5,8,,31項(xiàng)S=1/2S=S+f(n-1)/f(n), n=3,4,.,3131斐波那契數(shù)列相關(guān)問(wèn)題(
8、例2)求S=1/2+3/5+8/13+21/34+的前30項(xiàng)的和。#18.40f(n):1,2,3,5,8,,60項(xiàng)S=1/2S=S+f(n-1)/f(n), n=4,6,8,.,6032三項(xiàng)遞推的數(shù)列一個(gè)數(shù)列,它的頭三個(gè)數(shù)為0,0,1,以后的每個(gè)數(shù)都是其前三個(gè)數(shù)的和,求此數(shù)列的前30項(xiàng)之和。常見(jiàn)數(shù)字問(wèn)題的處理水仙花數(shù):三位數(shù),等于其各位數(shù)字之立方和。記住10000以?xún)?nèi): 153、370、371、407考試中,有四位水仙花數(shù)之說(shuō)。看清題意!34水仙花數(shù)的算法是數(shù)字問(wèn)題之根本!算法一:?jiǎn)窝h(huán)(x:100999)由數(shù)x得出數(shù)字a b c ?熟練掌握一種從數(shù)中取數(shù)字的方法算
9、法二:三重循環(huán)(a:19 b,c:09)由數(shù)字a、b、c組成數(shù)x(100999)35設(shè)x是一個(gè)四位數(shù),千位到個(gè)位分別是a、b、c、d,則:a=int(x/1000)b=int(x-1000*a)/100)c=int(x-1000*a-100*b)/10)d=mod(x,10)(或見(jiàn)下頁(yè))36b=mod(int(x/100),10)c=mod(int(x/10),10)或b=int(mod(x,1000)/100)c=int(mod(x,100)/10)37clear & 水仙花程序1n=0for x=100 to 999 a=int(x/100) b=int(x-a*100)/10) c=mo
10、d(x,10) if x=a*a*a+b*b*b+c*c*c n=n+1 ? n,x endifendfor38clear & 水仙花程序2n=0for a=1 to 9for b=0 to 9for c=0 to 9 x=100*a+10*b+c if x=a*a*a+b*b*b+c*c*c ? x n=n+1 endifendforendforendfor? n39求在100,999內(nèi)所有不含數(shù)字0且各位數(shù)字之積被96整除的數(shù)之和。#26640a*b*c0 and mod(a*b*c,96)=040求123,4321內(nèi)回文數(shù)的個(gè)數(shù)。#120都看作四位數(shù)abcd,兩種情況處理:a=0 and
11、 b=da0 and a=d and b=c41clear &回文數(shù)程序1n=0for x=123 to 4321 a=int(x/1000) b=int(x-a*1000)/100) c=int(x-a*1000-b*100)/10) d=mod(x,10) if (a=0 and b=d) or (a0 and a=d and b=c) n=n+1 ? x endifendfor? n42clear & 回文數(shù)程序2n=0for a=0 to 4for b=0 to 9for c=0 to 9for d=0 to 9 x=1000*a+100*b+10*c+d if x=123 and x
12、=4321 and ( (a=0 and b=d) or (a0 and a=d and b=c) ? x n=n+1 endifendforendforendforendfor? n435、因子問(wèn)題-因子個(gè)數(shù)、和問(wèn)100,200之間有奇數(shù)個(gè)不同因子的整數(shù)共有多少個(gè)?#5 基本算法:二重循環(huán)外循環(huán):for x=100 to 200 窮舉!內(nèi)循環(huán)模塊一:求x之因子個(gè)數(shù)內(nèi)循環(huán)模塊二:判斷處理44clearn=0for x=100 to 200 k=0 for i=1 to x if mod(x,i)=0 k=k+1 endif endfor if mod(k,2)=1 ? x n=n+1 endi
13、fendfor? n45完數(shù)求在10,1000之間的所有完數(shù)之和。各真因子之和(不包括自身)等于其本身的正整數(shù)稱(chēng)為完數(shù)。例如:6=1+2+3,6是完數(shù)。#524 46set talk offcleark=0for n=10 to 1000 s=0 for i=1 to n/2 if mod(n,i)=0 s=s+i endif endfor if s=n k=k+n endifendfor? kset talk onreturn47完備數(shù)已知24有8個(gè)正整數(shù)因子(即:1,2,3,4,6,8,12,24),而24正好能被其因子數(shù)8整除,求 10,100之間有多少個(gè)正整數(shù)能被其因子的個(gè)數(shù)整除。#1
14、248多因子完備數(shù)的概念若某整數(shù)N的所有因子之和等于N的倍數(shù),則N稱(chēng)為多因子完備數(shù),如數(shù)28,其因子1、2、4、7、14、28之和是56=2*28,28是多因子完備數(shù)。49求1,200之間有多少個(gè)多因子完備數(shù)。#4 基本算法:二重循環(huán)外循環(huán):for x=1 to 200 窮舉!內(nèi)循環(huán)功能一:求x的因子之和內(nèi)循環(huán)功能二:判斷處理50最大公約數(shù)求出583573和559399的最大公約數(shù)。 #79 基本算法:?jiǎn)窝h(huán)求出所有因子51最小公倍數(shù)求出9269和8671的最小公倍數(shù)。 #268801a和b最大公約數(shù)d與最小公倍數(shù)k具有關(guān)系:a*b=d*k526、組合問(wèn)題:不定方程求解 大、中、小學(xué)生共36人
15、消費(fèi),每大4元,每中2元,每小1元,共120元,問(wèn)大、中、小學(xué)生人數(shù)組合有多少種可能?(每類(lèi)學(xué)生學(xué)生的人數(shù)均不為0。)基本算法:三重(或二重循環(huán))53程序(三重循環(huán))clearn=0for x=1 to 36 for y=1 to 36 for z=1 to 36 if x+y+z=36 and 4*x+2*y+z=120 n=n+1 ? x,y,z endif endfor endforendfor? n54求方程3x-7y=1在條件|x|100且|y|40下的整數(shù)解的個(gè)數(shù)。#26基本算法:二重或單循環(huán)55已知正整數(shù)A,B(假定AB),滿(mǎn)足A*B=5432,求S=A+B的最小值。#153 數(shù)
16、學(xué)結(jié)論:A與B相差小其和就小基本算法:二重或單循環(huán)求因子56(勾、股、)弦數(shù)勾、股、弦(正整數(shù)) a2+b2=c2 (求組數(shù):abc)基本算法(多重循環(huán))(1) c:(有固定值或循環(huán)給出)(2) b:2c-1 (3) a:1b-157求121,140 之間的弦數(shù)的個(gè)數(shù)。(如5是弦數(shù):32+42=52)#858clearfor c=121 to 140 for b=2 to c-1 for a=1 to b-1 if a*a+b*b=c*c ?a,b,c endif endf endfendf59一個(gè)特殊考題今有5羊4犬3雞2兔值錢(qián)1496,4羊2犬6雞3兔值錢(qián)1175,3羊1犬7雞5兔值錢(qián)95
17、8,,2羊3犬5雞1兔值錢(qián)861。求羊價(jià)。#177(、121、23、29 )5x+4y+3z+2w=14964x+2y+6z+3w=11753x+ y+7z+5w=9582x+3y+5z+ w=861607、高精度計(jì)算除法令a=113,b=355,不考慮四舍五入,求a/b的結(jié)果中: (1)小數(shù)點(diǎn)后第30位數(shù)字是幾? (2)小數(shù)點(diǎn)后前30位數(shù)字之和是多少?答案:(1) 4 (2) 160 (算法見(jiàn)下頁(yè))計(jì)算器可得32位小數(shù)!61由a、b求q、r使10*a=b*q+r基本算法循環(huán):for i=1 to 30基本處理:模擬手工計(jì)算方法每做一次除法,得一位商和余數(shù)a=a*10q=int(a/10) a
18、=mod(a,b) r就是下一次的a62程序a=113b=355s=0for i=1 to 30 a=a*10 q=int(a/b)* ? str(q,1) s=s+q a=mod(a,b)endfor? q, sreturn638、同構(gòu)數(shù)所謂“同構(gòu)數(shù)”:一個(gè)數(shù),它出現(xiàn)在它的平方數(shù)的右側(cè)。記住10000以?xún)?nèi)的:1、5、6、25、76、376、625、9376特點(diǎn):mod(x*x,m)=x m=10、100、100064clearn=0for x=1 to 9999 do case case x10 m=10 case x100 m=100 case x1000 m=1000 case x0 r
19、=mod(x,p) if r=1 n=n+1 endif ? p,x,r x=int(x/p)enddo? str(x,20)? n69求出將十進(jìn)制小數(shù)0.5432等值轉(zhuǎn)換為二進(jìn)制形式表示后,其中小數(shù)點(diǎn)后第15位數(shù)字。#1 算法提示:?jiǎn)窝h(huán)(2乘取整法)循環(huán)處理:r=int(2*x),x=x-r計(jì)算器: 0.5432*215二進(jìn)制70程序clearx=0.5432p=2? xfor n=1 to 15 y=p*x ? y z=int(y) x=y-zendfor? z7111、素?cái)?shù)(質(zhì)數(shù))問(wèn)題一般算法(略)使用自定義函數(shù)72使用自定義內(nèi)部邏輯函數(shù)prime(x)function primepa
20、rameters xprivate iif x2 return .f.endiffor i=2 to x-1 if mod(x,i)=0 return .f. endifendforreturn .t.牢記在心73舉例求100以?xún)?nèi)素?cái)?shù)個(gè)數(shù)。#25 求100, 999內(nèi)素?cái)?shù)和。#75067 求500, 2500內(nèi)第25個(gè)素?cái)?shù)#659 求3, 1000內(nèi)最大的五個(gè)素?cái)?shù)之和。#4919 (題1的程序見(jiàn)下頁(yè))74clearn=0for x=1 to 100 if prime(x) ? x n=n+1 endifendfor? nreturnfunction primeparameters xpriva
21、te iif x2 return .f.endiffor i=2 to x-1 if mod(x,i)=0 return .f. endifendforreturn .t.75哥德巴赫猜測(cè)德國(guó)數(shù)學(xué)家哥德巴赫曾猜測(cè):任何大于4的偶數(shù)都可以分解成兩個(gè)奇素?cái)?shù)的和。有些偶數(shù)有多個(gè)分解式,如: 10=3+7,10=5+5。76試求6744可以分解成多少個(gè)不同的分解式:6744=A+B(A=B)#144基本算法 :主程序用單循環(huán)77解答c= 6744n=0for a=3 to c/2 step 2 b=c-a if prime(a) and prime(b) n=n+1 endifendfor? n &
22、后接函數(shù)78雙胞胎素?cái)?shù)若兩個(gè)素?cái)?shù)之差為2,則稱(chēng)此兩數(shù)為雙胞胎數(shù)。求出200, 1000之間的最大一對(duì)雙胞胎數(shù)的和。#1764基本算法:主程序用單循環(huán)for a=200 to 1000-279for a=200 to 1000-2 if prime(a) and prime(a+2) s=2*a+2 ? a,a+2,s endifnext? s & 后接函數(shù)80友素?cái)?shù)若兩個(gè)連續(xù)的自然數(shù)的乘積減1后是素?cái)?shù),則稱(chēng)此兩數(shù)為友數(shù)對(duì),該素?cái)?shù)稱(chēng)為友素?cái)?shù)。例如,由于 8*9-1=71, 因此,8與9是友數(shù)對(duì),71是友素?cái)?shù)。求100,200之間的友數(shù)對(duì)的數(shù)目。#40 81k=0for n=100 to 200-1 if prime(n*(n+1)-1) k=k+1 endifnext? k & 后接函數(shù)82第一類(lèi)超級(jí)素?cái)?shù)(不含0的)素?cái)?shù),且去掉前面一位或多位后仍是素?cái)?shù)。如1223
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院康復(fù)患者管理制度
- 公路橋梁安全檢測(cè)方法試題及答案
- 公海客戶(hù)資源管理制度
- 安全現(xiàn)場(chǎng)分級(jí)管理制度
- 工地廚房獎(jiǎng)罰管理制度
- 公司清潔外包管理制度
- 行政組織協(xié)作機(jī)制考題及答案
- 數(shù)據(jù)的生命周期管理流程試題及答案
- 安全操作規(guī)定管理制度
- 學(xué)校防疫學(xué)生管理制度
- 教科版五年級(jí)下冊(cè)科學(xué)第三單元《環(huán)境與我們》單元測(cè)試卷(含答案)
- 酸奶工廠設(shè)計(jì)說(shuō)明書(shū)
- 小學(xué)一年級(jí)食品安全課件
- 《蛙泳腿部技術(shù)動(dòng)作》教學(xué)設(shè)計(jì)
- MOOC 材料成形技術(shù)基礎(chǔ)-西安交通大學(xué) 中國(guó)大學(xué)慕課答案
- 2023版《管理學(xué)》考試復(fù)習(xí)題庫(kù)500題(含答案)
- 掛牌上鎖控制程序全套
- 人教版七年級(jí)下學(xué)期期末考試數(shù)學(xué)試卷共五套(含答案解析)
- 中石化合規(guī)管理手冊(cè)
- 氣溶膠及其氣候效應(yīng)課件
- 工廠介紹文案
評(píng)論
0/150
提交評(píng)論