湖南省计算机等级考试辅导.ppt课件.ppt

上传人(卖家):三亚风情 文档编号:3020493 上传时间:2022-06-23 格式:PPT 页数:90 大小:213KB
下载 相关 举报
湖南省计算机等级考试辅导.ppt课件.ppt_第1页
第1页 / 共90页
湖南省计算机等级考试辅导.ppt课件.ppt_第2页
第2页 / 共90页
湖南省计算机等级考试辅导.ppt课件.ppt_第3页
第3页 / 共90页
湖南省计算机等级考试辅导.ppt课件.ppt_第4页
第4页 / 共90页
湖南省计算机等级考试辅导.ppt课件.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、1湖南省计算机等级考试辅导计算机系xx2内容提要概括性指导重点结构、常用标准函数、自定义函数、基本处理、逻辑表达式常用算法:穷举法、递推分类练习十多种常见类型3FoxPro程序的基本结构顺序结构选择(分支)结构IF.ELSE.ENDIF多选择(分支)结构DO CASE.ENDCASE4循环结构DO WHILE.ENDDOFOR .ENDFOR / NEXT嵌套分支与分支循环与循环循环与分支5程序中可省代码set talk onclear & 此句一般保留set talk offreturn6FoxPro程序设计重点结构给出两种常用结构可作“模板”使用学会填空!7FOR . ENDFOR | N

2、EXT 结构 for i= to step if (loop、exit) endif endfor 计数循环!8DO WHILE . ENDDO结构 s=. i=. do while enddo ? . 一般的当型循环!9FoxPro程序中常用函数系统内部标准函数取整:int(x)求余数:mod(a,b )求平方根:sqrt(x)绝对值:abs(x)其它.10用户自定义函数逻辑函数判定:prime(x)外部函数的方法(不讲)内部函数的方法(程序的一部分)见:有关素数程序设计部分注:二级必备!11程序中最基本的处理计数初值:n=0 或 .循环处理:n=n+1连加初值:s=0 或 .循环处理:s=

3、s+i 或 .12连乘初值:t=1 或 .循环处理:t=t*i 或 .13最常用的判断a被b整除(倍数、因子)mod(a,b)=0 a是整数int(a)=a应用:求不定方程的整数解14多条件组合为逻辑表达式x能被3整除但不能被4整除mod(x,3)=0 and mod(x,4)#0 x是能被3或5整除的偶数mod(x,2)=0 and ( or )15精确与非精确编程思路精确编程:只输出所需结果。非精确编程:输出相关的数据,从中容易得出所需要的结果。16例:设s=2+4+6+,求s的最大值,使s=1000。#992(下两页有程序) 17精确编程(不细讲)clearn=0s=0do while

4、s1000 n=n+2 s=s+n* ? n,senddo? s-n18非精确编程clears=0for n=2 to 100 step 2 s=s+n ? n,sendfor191、简单的求和问题数列求和ai=f(n), 求 sn=a1+ an , 是数列循环处理:a=f(i) , s=s+a 或 s=s+f(i)一定条件下的求和20求1108所有整数的平方和。#425754求s=1*2+2*3+100*101求s=1*3+3*5+99*101可在Excel中求解21求1135的平方根的和。#1051.31基本算法:循环、连加可在Excel中求解求1135的和的平方根。22求351,432之

5、间所有既不能被3整除,又不能被8整除的整数的和。#18413求1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数的个数。#208232、等比数列及求和求2+4+8+16+32+,当累加数大于9000时,则终止计算并输出结果。#1638224已知S1=1, S2=1+2, S3=1+2+4, ,求S=S1+S2+S3+S4+S20的值。#209713025一球从100米高处落至平地并连续反弹、落下。设每次反弹高度按4/5倍递减,试求出最小的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程超过800米。基本算法:循环、(连乘、)连加263、递推问题(Excel可

6、解)设有用26个表达式:a=1,b=1/(a+1),c=1/(b+2),z=1/(y+25),试求出z的值。#0.04基本算法:循环、单项递推f(1)=1,f(n)=1/(f(n-1)+n-1)27斐波那契数列f(i):1,1,2,3,5,8, 试输出前20项。基本算法:循环、递推f(1)=1,f(2)=1,f(n)=f(n-2)+f(n-1)28基本算法(使用数组)定义数组:dimension f(50)循环初值:f(1)=1, f(2)=1; 循环处理:f(n)=f(n-2)+f(n-1) 29cleardime f(20)f(1)=1f(2)=1? f(1),f(2)for n=3 to

7、 20 f(n)=f(n-2)+f(n-1) ? f(n)endfor30斐波那契数列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内最大的 #9227465 求10000000内的个数 #3531斐波那契数列相关问题(例1)求S=1/2+2/3+3/5+5/8+的前30项的和。#18.46f(n):1,2,3,5,8,,31项S=1/2S=S+f(n-1)/f(n), n=3,4,.,3132斐波那契数列相关问题(例2)求S=1

8、/2+3/5+8/13+21/34+的前30项的和。#18.40f(n):1,2,3,5,8,,60项S=1/2S=S+f(n-1)/f(n), n=4,6,8,.,6033三项递推的数列一个数列,它的头三个数为0,0,1,以后的每个数都是其前三个数的和,求此数列的前30项之和。#18947744344、常见数字问题的处理水仙花数:三位数,等于其各位数字之立方和。记住10000以内: 153、370、371、407考试中,有四位水仙花数之说。看清题意!35水仙花数的算法是数字问题之根本!算法一:单循环(x:100999)由数x得出数字a b c ?熟练掌握一种从数中取数字的方法算法二:三重循环

9、(a:19 b,c:09)由数字a、b、c组成数x(100999)36设x是一个四位数,千位到个位分别是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)(或见下页)37b=mod(int(x/100),10)c=mod(int(x/10),10)或b=int(mod(x,1000)/100)c=int(mod(x,100)/10)38clear & 水仙花程序1n=0for x=100 to 999 a=int(x/100) b=int(x-a*100)/10) c=mod(x,10)

10、 if x=a*a*a+b*b*b+c*c*c n=n+1 ? n,x endifendfor39clear & 水仙花程序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? n40求在100,999内所有不含数字0且各位数字之积被96整除的数之和。#26640a*b*c0 and mod(a*b*c,96)=041求123,4321内回文数的个数。#120都看作四位数abcd,两种情况处理:a=0 and b=da0

11、and a=d and b=c42clear &回文数程序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? n43clear & 回文数程序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=4321 a

12、nd ( (a=0 and b=d) or (a0 and a=d and b=c) ? x n=n+1 endifendforendforendforendfor? n445、因子问题-因子个数、和问100,200之间有奇数个不同因子的整数共有多少个?#5 基本算法:二重循环外循环:for x=100 to 200 穷举!内循环模块一:求x之因子个数内循环模块二:判断处理45clearn=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 endifendfor

13、? n46完数求在10,1000之间的所有完数之和。各真因子之和(不包括自身)等于其本身的正整数称为完数。例如:6=1+2+3,6是完数。#524 47set 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 onreturn48完备数已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好能被其因子数8整除,求 10,100之间有多少个正整数能被其因子的个数整除。#1249多因子完

14、备数的概念若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子1、2、4、7、14、28之和是56=2*28,28是多因子完备数。50求1,200之间有多少个多因子完备数。#4 基本算法:二重循环外循环:for x=1 to 200 穷举!内循环功能一:求x的因子之和内循环功能二:判断处理51最大公约数求出583573和559399的最大公约数。 #79 基本算法:单循环求出所有因子52最小公倍数求出9269和8671的最小公倍数。 #268801a和b最大公约数d与最小公倍数k具有关系:a*b=d*k536、组合问题:不定方程求解 大、中、小学生共36人消费,每大4元

15、,每中2元,每小1元,共120元,问大、中、小学生人数组合有多少种可能?(每类学生学生的人数均不为0。)基本算法:三重(或二重循环)54程序(三重循环)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? n55求方程3x-7y=1在条件|x|100且|y|40下的整数解的个数。#26基本算法:二重或单循环56已知正整数A,B(假定AB),满足A*B=5432,求S=A+B的最小值。#153 数学结论:A与B

16、相差小其和就小基本算法:二重或单循环求因子57(勾、股、)弦数勾、股、弦(正整数) a2+b2=c2 (求组数:abc)基本算法(多重循环)(1) c:(有固定值或循环给出)(2) b:2c-1 (3) a:1b-158求121,140 之间的弦数的个数。(如5是弦数:32+42=52)#859clearfor 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 endfendf60一个特殊考题今有5羊4犬3鸡2兔值钱1496,4羊2犬6鸡3兔值钱1175,3羊1犬7鸡5兔值钱958,,2羊3犬

17、5鸡1兔值钱861。求羊价。#177(、121、23、29 )5x+4y+3z+2w=14964x+2y+6z+3w=11753x+ y+7z+5w=9582x+3y+5z+ w=861617、高精度计算除法令a=113,b=355,不考虑四舍五入,求a/b的结果中: (1)小数点后第30位数字是几? (2)小数点后前30位数字之和是多少?答案:(1) 4 (2) 160 (算法见下页)计算器可得32位小数!62由a、b求q、r使10*a=b*q+r基本算法循环:for i=1 to 30基本处理:模拟手工计算方法每做一次除法,得一位商和余数a=a*10q=int(a/10) a=mod(a,

18、b) r就是下一次的a63程序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, sreturn648、同构数所谓“同构数”:一个数,它出现在它的平方数的右侧。记住10000以内的:1、5、6、25、76、376、625、9376特点:mod(x*x,m)=x m=10、100、100065clearn=0for x=1 to 9999 do case case x10 m=10 case x100 m=100 case x1000 m=1000 case x0 r=mod(x,

19、p) if r=1 n=n+1 endif ? p,x,r x=int(x/p)enddo? str(x,20)? n70求出将十进制小数0.5432等值转换为二进制形式表示后,其中小数点后第15位数字。#1 算法提示:单循环(2乘取整法)循环处理:r=int(2*x),x=x-r计算器: 0.5432*215二进制71程序clearx=0.5432p=2? xfor n=1 to 15 y=p*x ? y z=int(y) x=y-zendfor? z7211、素数(质数)问题一般算法(略)使用自定义函数73使用自定义内部逻辑函数prime(x)function primeparameter

20、s xprivate iif x2 return .f.endiffor i=2 to x-1 if mod(x,i)=0 return .f. endifendforreturn .t.牢记在心74举例求100以内素数个数。#25 求100, 999内素数和。#75067 求500, 2500内第25个素数#659 求3, 1000内最大的五个素数之和。#4919 (题1的程序见下页)75clearn=0for x=1 to 100 if prime(x) ? x n=n+1 endifendfor? nreturnfunction primeparameters xprivate iif

21、x2 return .f.endiffor i=2 to x-1 if mod(x,i)=0 return .f. endifendforreturn .t.76哥德巴赫猜测德国数学家哥德巴赫曾猜测:任何大于4的偶数都可以分解成两个奇素数的和。有些偶数有多个分解式,如: 10=3+7,10=5+5。77试求6744可以分解成多少个不同的分解式:6744=A+B(A=B)#144基本算法 :主程序用单循环78解答c= 6744n=0for a=3 to c/2 step 2 b=c-a if prime(a) and prime(b) n=n+1 endifendfor? n & 后接函数79双

22、胞胎素数若两个素数之差为2,则称此两数为双胞胎数。求出200, 1000之间的最大一对双胞胎数的和。#1764基本算法:主程序用单循环for a=200 to 1000-280for a=200 to 1000-2 if prime(a) and prime(a+2) s=2*a+2 ? a,a+2,s endifnext? s & 后接函数81友素数若两个连续的自然数的乘积减1后是素数,则称此两数为友数对,该素数称为友素数。例如,由于 8*9-1=71, 因此,8与9是友数对,71是友素数。求100,200之间的友数对的数目。#40 82k=0for n=100 to 200-1 if pr

23、ime(n*(n+1)-1) k=k+1 endifnext? k & 后接函数83第一类超级素数(不含0的)素数,且去掉前面一位或多位后仍是素数。如1223基本算法:单循环循环处理:求有关数、判断素数对三位数x:y=x-int(x/100)*100对四位数x:y=x-int(x/1000)*100084求100,9999内第一类超级素数个数。可分别求出100,999和1000,9999的个数下面求1000,9999内的个数。#99。85程序clearn=0for x=1000 to 9999 y=x-int(x/1000)*1000 z=x-int(x/100)*100 w=x-int(x/

24、10)*10 if not(0$str(x) and prime(x) and prime(y) and prime(z) and prime(w) ? x n=n+1 endifendf? n & 后接函数86第二类超级素数(不含0的)素数,且去掉后面一位或多位后仍是素数。如2333基本算法:单循环循环处理:求有关数、判断素数y=int(x/10)z=mod(y/10)87求100,9999内第二类超级素数个数。可分别求出100,999和1000,9999的个数下面求1000,9999内的个数。#1688程序clearn=0for x=1000 to 9999 y=int(x/10) z=int(y/10) w=int(z/10) if not(0$str(x) and prime(x) and prime(y) and prime(z) and prime(w) ? x n=n+1 endifendf? n & 后接函数8912、猴子选大王教材上例题(可耐心点,手工求)n个人围坐一圈,并顺序编号1n,从1号开始数,每数到m个就让其出局,重复.。求最后出局者的编号。当n=50,m=3时 ,答案为1190谢谢!祝考试顺利!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(湖南省计算机等级考试辅导.ppt课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|