版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南省计算:机等级考试
辅导
2006年n月
计算机系一刘永逸
1
内容提要
院概括性指导
国重点结构、常用标准函数、自定
义函数、基本处理、逻辑表达式
日常用算法:穷举法、递推
更分类练习
Ci十多种常见类型
2
FoxPro程序的基本结构
配顺序结构
纪选择(分支)结构
■IF...ELSE...ENDIF
更多选择(分支)结构
3D0CASE...ENDCASE
3
圮循环结构
HDOWHILE...ENDDO
HFOR...ENDFOR/NEXT
纪嵌套
岛分支与分支
■循环与循环
■循环与分支
程序中可省代码
Rsettalkon
比clear&&此句一般保留
Rsettalkoff
Rreturn
5
配给出两种常用结构
比可作“模板”使用
纪学会填空!!!
配FOR...ENDFOR|NEXT结构
fbri=...to...step...
if...
(loop、exit)
endif
endfor计数循环!
7
RDOWHILE...ENDDO结构
s=...
i=...
dowhile...
enddo
?...一般的当型循环!
8
FoxPro程序中常用函数
W系统内部标准函数
岛取整:int(x)
U求余数:mod(a,b)
11求平方根:sqrt(x)
II绝对值:abs(x)
U其它…
9
W用户自定义函数
II逻辑函数判定:prime(x)
外部函数的方法(不讲)
内部函数的方法(程序的一部分)
见:有关素数程序设计部分
II注:二级必备!
10
程序中最基本的处斌
W计数
■初值:n=0或…
■循环处理:n=n+l
回连加
口初值:s=0或…
U循环处理:s=s+i或...
11
纪连乘
国初值:t=l或…
循环处理:t=t*i或…
12
最常用的判断
Ph被b整除(倍数、因子)
Hmod(a,b)=0
口a是整数
Mint(a)=a
・应用:求不定方程的整数解
13
多条件组合为逻辑表达式
PJx能被3整除但不能被4整除
■mod(x,3)=0andmod(x,4)#0
因x是能被3或5整除的偶数
Hmod(x,2)=0and(...or...)
14
精确与非精确编程思路
同精确编程:只输出所需结果。
纪非精确编程:输出相关的数据,
从中容易得出所需要的结果。
15
四例:设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、简单的求和问题
比数列求和
Hai=f(n),求Sn=ai+...+an,是数列
循环处理:a=f(i),s=s+a
或s=s+f(i)
和一定条件下的求和
19
配求1〜108所有整数的平方和。
#425754
配求s=l*2+2*3+...+100*101
配求s=l*3+3*5+...+99*101
W可在Excel中求解
20
比求1〜135的平方根的和。
#1051.31
国基本算法:循环、连加
可在Excel中求解
配求1〜135的和的平方根。
21
日求[351,432]之间所有既不能被3
整除,又不能被8整除的整数的和。
#18413
w求1至U1ooo之内能被7或n整除,
但不能同时被7和11整除的所有
整数的个数。#208
22
2、等比数列及求和“
配求2+4+8+16+32+...,当累加
数大于9000时,则终止计算并
输出结果。#16382
23
0已知Sl=l,S2=l+2,
S3=l+2+4,…,求
S=S1+S2+S3+S4+...+S20的值。
#2097130
24
比一球从100米高处落至平地并连
续反弹、落下。设每次反弹高度
按4/5倍递减,试求出最小的自
然数n,使得此球从开始下落至
第n次着地时在垂直方向所经过
的总路程超过800米。
0基本算法:循环、(连乘、)连加
25
3、递推问题(Excel时麻)
纪设有用26个表达式:a=l,
b=l/(a+l),c=l/(b+2),
z=1/(y+25),试泵出z的值。
#0.04
田基本算法:循环、单项递推
助1尸1,f(n尸1/(f(n-l)+n-l)
26
纪斐波那契数歹!J{f(i)}:1,1,2,3,5,8,…,
试输出前20项。
■基本算法:循环、递推
Bf(l>1,f(2)=l,f(n>f(n-2)+f(n-l)
27
回基本算法(使用数组)
[1定义数组:dimensionf(50)
国循环初值:f⑴=l,f(2尸1;
国循环处理: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
斐波那契数列{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内最大的#9227465
纪求10000000内的个数#35
30
斐波那契数列一相关问题(例1)
内求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
斐波那契数列一相关问题(例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
三项递推的数列
门一个数列,它的头三个数为0,
0,1,以后的每个数都是其前
三个数的和,求此数列的前30
项之和。#18947744
33
4、常见数字问题的处诬
m水仙花数:三位数,等于其各位
数字之立方和。
,记住10000以内:
153、370、371、407
,考试中,有四位水仙花数之说。
看清题意!
34
W水仙花数的算法是数字问题之
根本!
・算法一:单循环(x:100〜999)
由由数x得出数字abc???
熟练掌握一种从数中取数字的方法
国算法二:三重循环(a:l〜9b,c:0〜9)
由数字a、b、c组成数x(100〜999)
35
W设X是一个四位数,千位到个位
分别是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]内所有不含数字0
且各位数字之积被96整除的数之
和。#26640
Ua*b*c〈>0andmod(a*b*c,96)=0
40
配求[123,4321]内回文数的个数。
#120
■都看作四位数abed,两种情况
处理:
a=0andb=d
Sa<>0anda=dandb=c
41
clear&&回文数程序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&&回文数程序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、因子问题-因子个数、和
W问[100,200]之间有奇数个不同因
子的整数共有多少个?#5
国基本算法:二重循环
白外循环:forx=100to200穷举!
内循环模块一:求X之因子个数
内循环模块二:判断处理
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
完数
回求在[10,1000]之间的所有完数
之和。各真因子之和(不包括自
身)等于其本身的正整数称为完
数。例如:6=1+2+3,6是完数。
#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
完备数
因已知24有8个正整数因子(即:
1,2,3,4,6,8,12,24),而24正好
能被其因子数8整除,求[10,
100]之间有多少个正整数能被
其因子的个数整除。#12
48
多因子完备数的概态
同若某整数N的所有因子之和等于
N的倍数,则N称为多因子完备
数,如数28,其因子1、2、4、7、
14、28之和是56=2*28,28是多因
子完备数。
49
因求[1,200]之间有多少个多因子
完备数。#4
国基本算法:二重循环
外循环:forx=1to200穷举!
内循环功能一:求x的因子之和
内循环功能二:判断处理
50
最大公约数
日求出583573和559399的最大公
约数。#79
国基本算法:单循环求出所有因子
51
最小公倍数
力求出9269和8671的最小公倍
数。#268801
Ua和b最大公约数d与最小公倍
数k具有关系:a*b=d*k
52
6、组合问题:不定方直象解
纪大、号、小学生?36人消皂,
每大4元,每中2元,每小1元,
共120元,问大、中、小学生人
数组合有多少种可能?(每类学
生学生的人数均不为0。)
•基本算法:三重(或二重循环)
53
程序(三重循环)
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下的整数解的个数。#26
0■基本算法:二重或单循环
55
W已知正整数A,B(假定A<B),满
足A*B=5432,^S=A+B的最小
值。#153
■数学结论:A与B相差小其和就小
•基本算法:二重或单循环求因子
56
(勾、股、)弦教”
门勾、股、弦(正整数)
a2+b2=c2(求组数:a<b<c)
基本算法(多重循环)
■(1)c:(有固定值或循环给出)
耿2)b:2〜c-1
ffl(3)a:1〜b-1
57
因求[121,140]之间的弦数的个
数。(如5是弦数:
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的结果中:
(1)小数点后第30位数字是几?
(2)小数点后前30位数字之和是
多少?
・答案:(1)4(2)160(算法见下页)
U计算器可得32位小数!
61
由a、b求q、r使10*a=6*q+r
配基本算法
I■循环:fori=lto30
■基本处理:模拟手工计算方法
EI每做一次除法,得一位商和余数
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、同构数
觉所谓“同构数”:一个数,它
出现在它的平方数的右侧。
I■记住10000以内的: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、完全平方数
力完全平方数X(如144=122)
■y=int(sqrt(x))满足条件:x=y*y
□1,4,9,25,...
日求1000以内完全平方数个数。
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、数制转换’
日求出将十进制整数98765432等
值转换为二进制形式表示后,
其中数字1的个数。#13
■算法提示:单循环(2除取余法,
直到余数为0)
I循环处理: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
日求出将十进制小数0.5432等值转
换为二进制形式表示后,其中小
数点后第15位数字。#1
■算法提示:单循环(2乘取整法)
■循环处理: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、素数(质数)问题
纪一般算法(略)
纪使用自定义函数
72
使用自定义内部逻辑函数prime(x)
纪functionprimeRfbri=2tox-1
=
^parameters牢纪ifmod(x,i)0
纪privatei记Rreturn.f.
Rifx<2在纪endif
心
回return.f.Rendfor
Rreturn.t.
Rendif73
举例
日求100以内素数个数。#25
配求[100,999]内素数和。#75067
配求[500,2500]内第25个素数#659
力求[3,1000]内最大的五个素数之
和。#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
哥德巴赫猜测
院德国数学家哥德巴赫曾猜测:
任何大于4的偶数都可以分解成
两个奇素数的和。
■有些偶数有多个分解式,如:
10=3+7,10=5+5。
76
纪试求6744可以分解成多少个不
同的分解式:6744=A+B
(A<=B)#144
ri基本算法:主程序用单循环
77
Rc=6744解答
纪n=0
Rfora=3toc/2step2
Rb=c-a
Eifprime(a)andprime(b)
£n=n+1
gendif
Kendfor
叵?n&&后接函数
78
双胞胎素数
配若两个素数之差为2,则称
此两数为双胞胎数。求出
[200,1000]之间的最大一对
双胞胎数的和。#1764
■基本算法:主程序用单循环
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&&后接函数
80
友素数
门若两个连续的自然数的乘积减1
后是素数,则称此两数为友数对
该素数称为友素数。例如,由于
8*9-1=71,因此,8与9是友数
对,71是友素数。求[100,200]
之间的友数对的数目。#40
81
Qk=O
比forn=100to200-1
Rifprime(n*(n+l)-l)
Ek=k+l
比endif
Knext
R?k&&后接函数
82
第一类超级素
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业主和房东简单合同范本
- 基于物联网的二零二四年度智能农业解决方案购销合同
- 2024版房地产经纪咨询费合同
- 2024年度福州市二手房买卖合同全文3篇
- 2024年度工程市场调研居间合同3篇
- 麻醉相关课件
- 工程总承包中的联合体协议
- 个人投资简单的协议书范本
- 2024年度云计算服务合同:企业客户与云服务提供商的长期合作协议
- 2024年度租赁合同:办公场所租赁服务3篇
- 厨师营养培训课件
- GB/T 43570-2023民用无人驾驶航空器系统身份识别总体要求
- 人工智能在航空领域的应用
- 小学数学“大单元”教学的现状及改善对策
- 不同结构游戏材料与幼儿游戏行为的关系研究
- 北京市海淀区第二实验小学2022-2023学年度五年级上学期期末诊断数学试题
- 教科版五年级科学上册第三单元测试卷附答案
- 电梯高处施工方案
- 心理团体辅导的保密协议
- 高血压病教学查房教案
- 东方绿洲军训日记500字(八篇)
评论
0/150
提交评论