版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一一常量:在程序执行过程中,其值不变的量。在常量:在程序执行过程中,其值不变的量。在 vfp 中有数值型、字符型和逻辑型等常量。中有数值型、字符型和逻辑型等常量。 整型:如整型:如 1212,-24-24,0 01、 数值型常量数值型常量 小数形式:如小数形式:如 2.3452.345,-3.1415-3.1415 实型实型 科学记数法:如科学记数法:如 -1.2345e12-1.2345e12,1.0e-61.0e-62 2、字符型常量:包含在一对定界符中间的所有字符。定界符可以是一对双引号、单引号或、字符型常量:包含在一对定界符中间的所有字符。定界符可以是一对双引号、单引号或方括号。如:方
2、括号。如: “hello“hello world!”world!” ii asked,“getasked,“get thethe picture?”picture?” sheshe said,“yousaid,“yourere mymy supersuper star.”star.”字符串的长度为定界符里所有字符的个数(不包括定界符本身)字符串的长度为定界符里所有字符的个数(不包括定界符本身)字符串原样照输出字符串原样照输出3 3、 逻辑型常量:如逻辑型常量:如 .t.t. 和和 .f.f.t.t. 表示真,即条件成立。如:表示真,即条件成立。如: 5353 的值为的值为 .t.t. , ,
3、5=-35=-3 的值为的值为 .t.t.f.f. 表示假,即条件不成立。如:表示假,即条件不成立。如:-3-5-3 = = = # 逻辑运算符逻辑运算符notand低低 or“ abcabc ”+”+ “def”“def”结果为结果为 “ abcabc def”def”“ abcabc ”-”- “def”“def”结果为结果为 “ abcdefabcdef ” 关系运算的结果为逻辑值。条件成立,结果为关系运算的结果为逻辑值。条件成立,结果为 .t.t. ;条件不成立,结果为;条件不成立,结果为 .f.f. 如如: : 3+153+15 结果为结果为 .f.f. 5=-3+75=-3+7 结
4、果为结果为 .t.t. notnot、andand、oror 的运算量必须是逻辑量,结果也是逻辑常量。的运算量必须是逻辑量,结果也是逻辑常量。 运算符有优先级的高低,具体如上图所示。同一行上的运算符,优先级相同。运算符有优先级的高低,具体如上图所示。同一行上的运算符,优先级相同。四四表达式:用运算符将常量、变量、函数等连接起来,组成有意义的式子。计算表达式值时要表达式:用运算符将常量、变量、函数等连接起来,组成有意义的式子。计算表达式值时要注意运算符的优先级高低问题。注意运算符的优先级高低问题。五五表达式的书写表达式的书写代数式代数式 vfp 表达式表达式16*4*425252)*2/()*4
5、*(24)/()(22222yyxxandyyxxyxxandxxacabbsqrtbaacbbbabababa的集合的表达式写出如下图中园环内点六六函数函数1 1 输出命令输出命令 ? 与与 ?格式:格式: ? ? 表达式列表表达式列表 ? 表达式列表表达式列表说明说明: : 表达式列表可以是一项或多项表达式,若是多项表达式,用逗号分开。表达式列表可以是一项或多项表达式,若是多项表达式,用逗号分开。单个常量或变量可视作最简表达式单个常量或变量可视作最简表达式计算机执行计算机执行 ? ? 表达式列表表达式列表 语句时,先换行,再输出各表达式的值语句时,先换行,再输出各表达式的值计算机执行计算机
6、执行 ? 表达式列表表达式列表 语句时,直接在当前光标位置输出各表达式的值语句时,直接在当前光标位置输出各表达式的值如在命令框中输入:如在命令框中输入:? ? “3+4=”,3+4“3+4=”,3+4结果显示结果显示: : 3+4=3+4= 7 7接着再输入命令:接着再输入命令: ? “right”“right”屏幕显示屏幕显示: : 3+4=3+4= 7right7right2 2 int(18.7)int(18.7)3 3 round(3.456,2)round(3.456,2)4.4. abs(-7.8)abs(-7.8)5.5. sqrt(25)sqrt(25)6.6. pi()pi(
7、)7.7. sin(2)sin(2) 8.8. mod(8,3)mod(8,3)9.9. max(1,-4,2,-3,6,3+1,2*3+1)max(1,-4,2,-3,6,3+1,2*3+1)10.10.min(2.5,-3.6,0,8)min(2.5,-3.6,0,8)11.11.space(5)space(5)12.12.chr(66)chr(66)13.13.asc(b)asc(b)14.14.len(“followlen(“follow me!”)me!”)15.15.alltrim(“alltrim(“ abcdefgabcdefg ”)”)16.16.substr(“abcdef
8、g”,3,2)substr(“abcdefg”,3,2)17.17.val(“238”)val(“238”)18.18.str(365,5)str(365,5)七七语句和程序结构语句和程序结构理论上已经证明,面向过程的程序设计,只要三种程序结构,就能解决任何问题。这三种程理论上已经证明,面向过程的程序设计,只要三种程序结构,就能解决任何问题。这三种程序结构分别是顺序结构、选择结构(或称分支结构)和循环结构。序结构分别是顺序结构、选择结构(或称分支结构)和循环结构。vfp 提供了为数不多的提供了为数不多的三种结构的语句,现分述如下:三种结构的语句,现分述如下:(1)顺序结构)顺序结构 变量赋值和
9、赋值语句变量赋值和赋值语句 赋值语句格式:赋值语句格式: 变量变量= =表达式表达式 功能:先将表达式的值计算出来,然后赋予赋值号左边的变量功能:先将表达式的值计算出来,然后赋予赋值号左边的变量如如: a=1a=1a=a+1a=a+1a=3+int(-5.8)a=3+int(-5.8) inputinput “提示信息提示信息” toto 变量变量功能:程序执行到功能:程序执行到 inputinput 语句时,首先显示语句时,首先显示“提示信息提示信息”中的内容,并等待用户从键中的内容,并等待用户从键盘输入数据,一旦数据输入后,变量得到相应的值,程序继续向下执行。盘输入数据,一旦数据输入后,变
10、量得到相应的值,程序继续向下执行。说明说明: : 变量可以接受数值型或字符型值,键入字符型值时,必须带定界符。变量可以接受数值型或字符型值,键入字符型值时,必须带定界符。 “提示信息提示信息”可以缺省,通常带提示信息有利于数据输入。可以缺省,通常带提示信息有利于数据输入。 acceptaccept “提示信息提示信息” toto 变量变量功能:同上。功能:同上。说明说明: : 变量只能接受字符型值,键入字符型值时,不带引号变量只能接受字符型值,键入字符型值时,不带引号returnreturn 、cancelcancel 语句:语句: vfpvfp 程序的最后一条语句程序的最后一条语句交换交换
11、a,b 两个变量的值两个变量的值memoryc=a a 3,4 a=b b 4,3b=c c 3 计数计数 n=n+1n=n+1 n n 的初始值为的初始值为 0 0累加累加 s=s+xs=s+x s s 的初始值为的初始值为 0 0累乘累乘 p=p*np=p*n p p 的初始值为的初始值为 1 1数组定义数组定义 dimension a(5), b(2,4) 所谓程序是指为了解决某个实际问题而编写的一系列有序指令(语句)的集合。一个程序必须包所谓程序是指为了解决某个实际问题而编写的一系列有序指令(语句)的集合。一个程序必须包含含“输入数据输入数据处理数据处理数据输出结果输出结果”三个部分。
12、程序中不能带有量纲,即不能带单位编程。三个部分。程序中不能带有量纲,即不能带单位编程。我们经常用流程图来描述语句的功能,如:我们经常用流程图来描述语句的功能,如:处理框处理框 程序的流向程序的流向 判断框判断框 顺序结构程序举例顺序结构程序举例1.1.输入一个半径值,求圆周长、圆面积、球表面积和球体积输入一个半径值,求圆周长、圆面积、球表面积和球体积setset talktalk offoff & 关闭关闭 vfpvfp 对话功能对话功能clearclear & 清屏清屏inputinput “输入半径输入半径” toto r rs=s=2*pi()*r2*pi()*r? ?“
13、圆周长圆周长:”,s:”,s? ?“圆面积圆面积:”,pi()*r*r:”,pi()*r*r? ?“球表面积球表面积”,4*3.14*r*2”,4*3.14*r*2? ?“球体积球体积:”,4/3*3.14*r3:”,4/3*3.14*r3setset talktalk onon & 打开打开 vfpvfp 对话功能对话功能cancelcancel & 结束程序的执行结束程序的执行2.2.键盘输入一个摄氏温度,求其对应的华氏温度;再输入一个华氏温度,求其对应的摄氏温度。键盘输入一个摄氏温度,求其对应的华氏温度;再输入一个华氏温度,求其对应的摄氏温度。inputinput “输入
14、摄氏温度输入摄氏温度” toto c cf=1.8*c+32f=1.8*c+32?“?“等于华氏温度等于华氏温度”,f”,finputinput “输入输入华华氏温度氏温度” toto f fc=(f-32)/1.8c=(f-32)/1.8?“?“等于摄氏温度等于摄氏温度”,c”,c3.3.键盘输入三个数,求其中最大数和最小数,并输出之。键盘输入三个数,求其中最大数和最小数,并输出之。inputinput “输入第一个数输入第一个数” toto a ainputinput “输入第二个数输入第二个数” toto b binputinput “输入第三个数输入第三个数” toto c c?“?“
15、其中最大数为其中最大数为:”,max(a,b,c):”,max(a,b,c)?“?“其中最小数为其中最小数为:”,min(a,b,c):”,min(a,b,c)4.4.键盘输入五个数,去掉一个最高分,去掉一个最低分,求其余三个数的平均分。键盘输入五个数,去掉一个最高分,去掉一个最低分,求其余三个数的平均分。inputinput toto a ainputinput toto b binputinput toto c cinputinput toto d dinputinput toto e ebig=max(a,b,c,d,e)big=max(a,b,c,d,e)small=min(a,b,c
16、,d,e)small=min(a,b,c,d,e)sum=a+b+c+d+esum=a+b+c+d+eaver=(sum-big-small)/3aver=(sum-big-small)/3?“?“平均分为平均分为:”,aver:”,aver5.5.键盘输入三边之长,求所构成的三角形的面积。键盘输入三边之长,求所构成的三角形的面积。inputinput toto a ainputinput toto b binputinput toto c cs=(a+b+c)/2s=(a+b+c)/2area=sqrt(s*(s-a)*(s-b)*(s-c)area=sqrt(s*(s-a)*(s-b)*(
17、s-c)?“?“三角形的面积为三角形的面积为:”,area:”,area6.6.已知已知 abcabc 的两条边和夹角:的两条边和夹角:a=3.0a=3.0 , , b=4.0,c=60b=4.0,c=600 0,求三角形的面积,求三角形的面积( (小数点取二位小数点取二位) )a=3a=3b=4b=4c=60c=60area=a*b*sin(c*pi()/180)/2area=a*b*sin(c*pi()/180)/2?“?“三角形的面积为三角形的面积为:”,round(area,2):”,round(area,2)7.7.求两个电阻求两个电阻 r1=3r1=3,r2=6r2=6 的串联值和
18、并联值的串联值和并联值r1=3r1=3r2=6r2=6rs=r1+r2rs=r1+r2rp=r1*r2/(r1+r2)rp=r1*r2/(r1+r2)? ? “串联值为串联值为”,rs,“”,rs,“欧姆欧姆”? ? “并联值为并联值为”,rp,“”,rp,“欧姆欧姆” (2)选择)选择(分支分支)结构结构 为了解决分支结构的程序,为了解决分支结构的程序,vfp 提供了两条语句,分别是提供了两条语句,分别是 if 语句和语句和 do case 语句。语句。if 语句有三种形态,其语法结构和功能流程图分叙如下。语句有三种形态,其语法结构和功能流程图分叙如下。 ifif 条件条件语句块语句块end
19、ifendif说明:这里的说明:这里的“条件条件”系指条件表达式。条件表达式在形式上有时与赋值语句相似,系指条件表达式。条件表达式在形式上有时与赋值语句相似,但本质不同:一个是赋值号,一个是等号。但本质不同:一个是赋值号,一个是等号。 “语句块语句块”系指一条或多条语句。系指一条或多条语句。 ifif 条件条件语句块语句块 a a elseelse语句块语句块 b b endifendif 嵌套嵌套 ifif 语句语句 ifif 条件条件 1 1ifif 条件条件 2 2 语句块语句块 a aelseelse 语句块语句块 b bendifendif elseelse语句块语句块 c c en
20、difendif或:或: ifif 条件条件 1 1 语句块语句块 a aelseelseifif 条件条件 2 2 语句块语句块 b b elseelse语句块语句块 c c endifendif endifendif if f t endif条件条件?语句块语句块 if f t else endif if f else if t f t t else endif endif 条件? 语句 a语句 b条件条件 1?条件条件 2?语句 a语句语句 b语句c说明:对于一入口二分支的问题,一定使用说明:对于一入口二分支的问题,一定使用 ifif 语句;语句;对于一入口三分支的问题,使用嵌套对于一入
21、口三分支的问题,使用嵌套 ifif 语句或语句或 dodo casecase 语句;语句;对于一入口四分支或更多分支的问题,一定使用对于一入口四分支或更多分支的问题,一定使用 dodo casecase 语句;语句; dodo casecase casecase 条件条件 1 1 语句语句 1 1 casecase 条件条件 2 2 语句语句 2 2 . . . . . . casecase 条件条件 n-1n-1 语句语句 n-1n-1 otherwiseotherwise 语句语句 n n endcaseendcase选择(分支)结构程序举例选择(分支)结构程序举例1.1.从键盘输入一个正
22、整数,判断是偶数还是奇数从键盘输入一个正整数,判断是偶数还是奇数inputinput 请输入一个正整数请输入一个正整数: toto zszsifif mod(zs,2)=0mod(zs,2)=0 ?这是个偶数这是个偶数 elseelse?这是个奇数这是个奇数 do casecase case case otherwise e1 e2 e n-1 e n endcase语句 1语句 2语句 n-1语句 nendifendif2.2. 输入乘坐出租车的公里数,计算出乘车费。输入乘坐出租车的公里数,计算出乘车费。(记费标准为:(记费标准为:2.52.5 公里之内公里之内 6 6 元;元;2.52.5
23、 公里以外,公里以外,每超过每超过 1 1 公里增加公里增加 1 1 元元 2 2 角)角)inputinput 请输入公里数请输入公里数: toto x xifif x2.5x2.5pay=pay= (x-2.5)*1.2+6(x-2.5)*1.2+6elseelsepay=6pay=6endifendif?应付费应付费, pay,pay,元元 3.3.从键盘输入三个数,求其中最大的数从键盘输入三个数,求其中最大的数inputinput “输入第一个数输入第一个数” toto a ainputinput “输入第二个数输入第二个数” toto b binputinput “输入第三个数输入第
24、三个数” toto c cbig=abig=aifif bbigbbig big=bbig=bendifendififif cbigcbig big=cbig=cendifendif? ? “三个数中最大的数是三个数中最大的数是”,big”,big4.4.键盘输入一个年份,判断是平年还是闰年?键盘输入一个年份,判断是平年还是闰年?inputinput “e“enternter a a yearyear:” toto y y ifif mod(y,100)0mod(y,100)0 andand mod(y,4)=0mod(y,4)=0 oror mod(y,400)=0mod(y,400)=0
25、?y,“?y,“isis a a leapleap year.year.”elseelse ?y,“?y,“isis a a commoncommon yearyear”endifendif5.5. 从键盘输入三个数,分别赋予从键盘输入三个数,分别赋予 a a,b b,c c 三个变量,三个变量,编程使编程使 a a 中存放最大数,中存放最大数,c c 中存放最小数,中存放最小数,并按并按 a a,b b,c c 的次序输出的次序输出inputinput toto a ainputinput toto b b若钱数四舍五入到元,则pay=round(x-2.5)*1.2+6),0)inputi
26、nput toto c cifif abab t=at=a a=ba=b b=tb=tendifendififif acac t=at=a a=ca=c c=tc=tendifendififif bcb0d0 x1=(-b+sqrt(d)/(2*a)x1=(-b+sqrt(d)/(2*a) x2=(-b-sqrt(d)/(2*a)x2=(-b-sqrt(d)/(2*a) ?“x1=”,x1?“x1=”,x1 ?“x2=”,x2?“x2=”,x2elseelse ifif d=0d=0 x=-b/(2*a)x=-b/(2*a) ?“x1=x2=”,x?“x1=x2=”,x elseelse ?“
27、no?“no realreal roots”roots”02cbxaxinput to ainput to binput to cbig=max(a,b,c)small=min(a,b,c)sum=a+b+ca=bigc=smallb=sum-big-small?a,b,cdo casecase d0x1=(-b+sqrt(d)/(2*a)x2=(-b-sqrt(d)/(2*a)?x1=,x1?x2=,x2case d=0 x=-b/(2*a) ?x1=x2=,xotherwise ?no real rootsendcase endifendifendifendif7.7.输入一个输入一个 x
28、 x 值,求值,求 y y 值:值: 10113101121xxxxxxyinputinput “enter“enter a a number:”number:” toto x xdodo casecase casecase x1x1 y=xy=x casecase x10x=10x=10 y=3*x-11y=3*x-11endcaseendcase?“y=”,y?“y=”,y8.8.完成下面分段函数的计算,程序运行时用户从键盘输入一个数值完成下面分段函数的计算,程序运行时用户从键盘输入一个数值 x x,在屏幕上输出,在屏幕上输出 y y 值。值。 000022xifxxifxifxyinpu
29、tinput “输入输入 x x 的值的值” toto x xifif x0x0 y=x*xy=x*xelseelse ifif x=0x=0y=0y=0 elseelse y=-x*xy=-x*x endifendifendifendif?“y=”,y?“y=”,y9.9.输入一个字符,判断是否为英文字母。输入一个字符,判断是否为英文字母。acceptaccept “请输入一个字符请输入一个字符:”:” toto chch ifif asc(ch)=65asc(ch)=65 andand asc(ch)=90asc(ch)=97asc(ch)=97 andand asc(ch)=122asc
30、(ch)=95score=95 ?“e?“excellentxcellent” casecase score=85score=85 ?“very?“very good”good” casecase score=70score=70 ?“good”?“good” casecase score=60score=60 ?“well”?“well” otherwiseotherwise ?“fail”?“fail”endcaseendcase11.11. 输入两个数和一个运算符输入两个数和一个运算符( (加、减、乘、除加、减、乘、除) ),求其值。例如,求其值。例如, ,输入输入 3 3 和和 5 5
31、 以及以及*,*,则输出则输出 1515inputinput “输入一个数输入一个数:”:” toto a ainputinput “输入另一个数输入另一个数:”:” toto b bacceptaccept “输入运算符输入运算符:”:” toto chchdodo casecasecasecase ch=“+”ch=“+”? ? “两数之和为两数之和为:”,a+b:”,a+bcasecase ch=”-“ch=”-“? ? “两数之差为两数之差为:”,a-b:”,a-bcasecase ch=”*”ch=”*”? ? “两数之积为两数之积为:”,a*b:”,a*bcasecase ch=“
32、/”ch=“/”? ? “两数之商为两数之商为:”,a/b:”,a/botherwiseotherwise? ? “运算符出错运算符出错!”!”endcaseendcase(3)循环结构)循环结构dodo whilewhile 语句格式语句格式dodo whilewhile 条件条件语句块语句块enddoenddododo whilewhile 循环语句的流程图循环语句的流程图说明说明: : 通常通常 dodo whilewhile 循环用于循环次数预先未知,只知道什么时候结束循环的场合循环用于循环次数预先未知,只知道什么时候结束循环的场合 dodo whilewhile 中的条件总是与题意给
33、出的结束条件相反中的条件总是与题意给出的结束条件相反 为了防止死循环,在循环体中必须要有逐渐改变条件,最后使条件不成立的语句。为了防止死循环,在循环体中必须要有逐渐改变条件,最后使条件不成立的语句。循环结构(循环结构(do while 语句)程序举例语句)程序举例1.1.求求 1 12 2 + + 4 42 2 + + 7 72 2 + + 一直加到超过一直加到超过 10001000 为止,输出和数与项数。为止,输出和数与项数。i=1i=1s=0s=0n=0n=0dodo whilewhile s=1000s=1e-06abs(t)=1e-06sum=sum+tsum=sum+ts=s= -s
34、-sn=n+2n=n+2t=s/nt=s/nenddoenddopi=pi= 4*sum4*sum?pi?pi3.3.输入一个正整数,分解出所有因子。如输入一个正整数,分解出所有因子。如 18=1*2*3*318=1*2*3*3,23=1*2323=1*23inputinput 输入一个正整数输入一个正整数 toto n n? n,=1n,=1i=2i=2dodo whilewhile i=ni0m0n=n+1n=n+1x=int(m)x=int(m)m=x/10m=x/10enddoenddo? ? 该整数是该整数是,n,n,位数位数 5.5.键盘输入两个整数,求它们的最大公约数和最小公倍数
35、。键盘输入两个整数,求它们的最大公约数和最小公倍数。inputinput eenternter anan integerinteger: toto m minputinput eenternter anotheranother integerinteger: toto n nm1=mm1=mn1=nn1=nt=mod(m,n)t=mod(m,n)dodo whilewhile t0t0m=nm=nn=tn=tt=mod(m,n)t=mod(m,n)enddoenddo? 最大公约数最大公约数为为,n,n? 最小公倍数最小公倍数为为,m1*n1/n,m1*n1/nforfor 循环语句格式循环语
36、句格式forfor 循环变量循环变量 = = 初值初值 toto 终值终值 stepstep 步长步长语句块语句块endforendfor说明:说明: forfor 循环用于循环次数已知的场合,即已知循环的初值、终值和步长的场合。循环用于循环次数已知的场合,即已知循环的初值、终值和步长的场合。 步长为步长为 1 1 时,可以省略时,可以省略 stepstep 1 1 步长可以为负。此时,初值必须大于终值,否则循环体一次也不执行。步长可以为负。此时,初值必须大于终值,否则循环体一次也不执行。 循环变量可以在循环体中出现,参加相应的运算,同时起着控制循环次数的作用;循环变循环变量可以在循环体中出现
37、,参加相应的运算,同时起着控制循环次数的作用;循环变量也可以不在循环体中出现,此时循环变量仅仅起着控制循环次数的作用。量也可以不在循环体中出现,此时循环变量仅仅起着控制循环次数的作用。 循环可以嵌套,构成多重循环,但要注意语句的配套使用。如:循环可以嵌套,构成多重循环,但要注意语句的配套使用。如: forfor i=1i=1 toto 1010 stepstep 2 2 forfor j=8j=8 toto 1 1 stepstep -2-2 语句块语句块直接求最小公倍数参考程序如下:input 输入一个正整数 to minput 输入另一个正整数 to nfor i=m to m*n if
38、mod(i,n)=0 and mod(i,m)=0 ?最小公倍数为,i exit endifendfor endforendfor endforendfor 在循环体中一旦执行到在循环体中一旦执行到 exitexit 语句时,直接退出本层循环,继续向下执行。语句时,直接退出本层循环,继续向下执行。 退出循环体后,循环变量的值可以被引用,它的值是第一次超过终值的那个值。退出循环体后,循环变量的值可以被引用,它的值是第一次超过终值的那个值。 forfor 循环语句流程图如下所示:循环语句流程图如下所示: 循环结构(循环结构(for 循环语句)程序举例循环语句)程序举例6.6.求求 1-1001-1
39、00 之间所有奇数之和之间所有奇数之和sum=0sum=0forfor i=1i=1 toto 100100 stepstep 2 2 sum=sum+isum=sum+iendforendfor? ? “sum=”,sum“sum=”,sum7.7.输出输出 100100 至至 200200 之间所有个位数为之间所有个位数为 5 5 且能被且能被 7 7 整除的整数,并输出它们的和。整除的整数,并输出它们的和。sum=0sum=0forfor i=100i=100 toto 200200ifif mod(i,10)=5mod(i,10)=5 andand mod(i,7)=0mod(i,7)
40、=0 sum=sum+isum=sum+i for t f endfori=初值i 超过终值?执行语句exiti=i+步长 ?i?iendifendifendforendfor?“sum=”,sum?“sum=”,sum8.8.编程输出编程输出 100100500500 之间能被之间能被 7 7 整除的奇数的个数。整除的奇数的个数。n=0n=0forfor i=100i=100 toto 500500ifif i%7=0i%7=0 andand i%2=1i%2=1 n=n+1n=n+1endifendifendforendfor? ? “n=”,n“n=”,n9.9.求求 1/(1/(1*2
41、)+1/(3*4)+1/(5*6)+1/(99*100)1*2)+1/(3*4)+1/(5*6)+1/(99*100)sum=0sum=0forfor i=1i=1 toto 9999 stepstep 2 2sum=sum+1/(i*(i+1)sum=sum+1/(i*(i+1)endforendfor?sum=,sum?sum=,sum10.10. 求求 n n 的阶乘。的阶乘。 (n n 的值由键盘输入,应小于的值由键盘输入,应小于 2020 )inputinput “输入输入 n n 的值的值” toto n np=1p=1forfor i=1i=1 toto n np=p*ip=p*
42、iendforendfor?n,“!=”,p?n,“!=”,p11.11. 打印打印 asciiascii 中所有可打印字符(要求一行打印中所有可打印字符(要求一行打印 1010 个字符,字符与字符之间有三个空格)个字符,字符与字符之间有三个空格)n=0n=0forfor i=33i=33 toto 126126ifif mod(n,10)=0mod(n,10)=0?space(3)+chr(i)?space(3)+chr(i)elseelse?space(3)+chr(i)?space(3)+chr(i)endifendifn=0for i=101 to 500 step 2if mod(i
43、,7)=0 n=n+1endifendfor? “n=”,nn=n+1n=n+1endforendfor12.12. 一个数如果恰好等于它的因子之和,这个数就称为一个数如果恰好等于它的因子之和,这个数就称为“完数完数” ,如:,如:6=1+2+36=1+2+3,故,故 6 6 是完数。编是完数。编程判断从键盘输入一个正整数是否为完数。程判断从键盘输入一个正整数是否为完数。inputinput “输入一个正整数输入一个正整数” toto n ns=0s=0forfor i=1i=1 toto n-1n-1ifif mod(n,i)=0mod(n,i)=0 s=s+is=s+i endifendi
44、fendforendforifif s=ns=n ?n,“?n,“是完数是完数”elseelse ?n,“?n,“不是完数不是完数”endifendif13.13. 输入一个大于等于输入一个大于等于 2 2 的整数的整数, ,判断是否为素数判断是否为素数? ?一个正整数,若只能被一个正整数,若只能被 1 1 和本身整除,则该数和本身整除,则该数称为素数或质数称为素数或质数inputinput “请输入一个大于请输入一个大于 2 2 的整数的整数” toto n nflag=.t.flag=.t.forfor i=2i=2 toto n-1n-1ifif mod(n,i)=0mod(n,i)=0
45、flag=.f.flag=.f.exitexitendifendifendforendforifif flag=.t.flag=.t.? ? n,“n,“是素数是素数”elseelse? ? n,“n,“不是素数不是素数”endifendif14.14. 求如下级数前求如下级数前 n n 项之和项之和(x(x 和和 n n 的值由键盘输入的值由键盘输入) )nxxxxxn 4321432s=1s=1inputinput toto x xinputinput toto n nforfor i=1i=1 toto n-1n-1s=s+xi/is=s+xi/iendforendfor?“sum=”,
46、s?“sum=”,s15.15. 输入一个字符串,按其倒序输出。输入一个字符串,按其倒序输出。inputinput enterenter a a string:string: toto ststl=len(st)l=len(st)forfor i=li=l toto 1 1 stepstep -1-1?substr(st,i,1)?substr(st,i,1)endforendfor? ?16.16. 从键盘输入一个二进制数,将其转换成等值的十进制数。从键盘输入一个二进制数,将其转换成等值的十进制数。s=0s=0acceptaccept “enter“enter a a binarybinar
47、y number:”number:” toto n nl=len(n)l=len(n)forfor i=1i=1 toto l ls=s+val(substr(n,i,1)*2*(l-i)s=s+val(substr(n,i,1)*2*(l-i)endforendfor?“?“等值的十进制数等值的十进制数为为”,s”,s17.17. 从键盘输入一个十进制数,将其转换成等值的二进制数。从键盘输入一个十进制数,将其转换成等值的二进制数。inputinput enterenter a a decimaldecimal number:number: toto n nbin=“”bin=“”ifif n
48、=0n=0bin=“0”bin=“0”endifendifdodo whilewhile n0n0r=mod(n,2)r=mod(n,2)bin=bin= str(r,1)+binstr(r,1)+binn=int(n/2)n=int(n/2)enddoenddo? ? “等值的二进制数为等值的二进制数为”,bin”,bin18.18. 有一分数序列如下,求前有一分数序列如下,求前 2020 项之和项之和.81358352312a=1a=1b=2b=2sum=0sum=0term=b/aterm=b/aforfor i=1i=1 toto 2020sum=sum+termsum=sum+ter
49、mt=bt=bb=a+bb=a+ba=ta=tterm=b/aterm=b/aendforendfor?“sum=”,sum?“sum=”,sum19.19. 求求 s sn=a+aa+aaa+aaaan=a+aa+aaa+aaaa,其中,其中,a a 是一个数字,是一个数字,a a 的个数为的个数为 n n,a a 和和 n n 的值由键盘输入的值由键盘输入inputinput “输入输入 a a 的值的值:”to:”to a ainputinput “输入项数输入项数 n:”n:” toto n nsum=0sum=0t=at=aforfor i=1i=1 toto n nsum=sum+
50、asum=sum+aa=a*10+ta=a*10+tendforendfor?“?“数列之和为数列之和为:”,sum:”,sum20.20. 求求e ex x的台劳级数展开式的前的台劳级数展开式的前 n n 项之和项之和( (运行时输入运行时输入 x=2.0,n=4)x=2.0,n=4)!1(! 3! 21132 nxxxxenxinputinput “x=”“x=” toto x xinputinput “n=”“n=” toto n nsum=1sum=1p=1p=1q=1q=1forfor i=1i=1 toto n-1n-1p=p*ip=p*iq=q*xq=q*xsum=sum+q/p
51、sum=sum+q/pendforendfor?“sum=”,sum?“sum=”,sum21.21. 统计字符的统计字符的 asciiascii 码连续的次数。如码连续的次数。如 2323,baba,?等等acceptaccept “输入一个字符串输入一个字符串” toto ststl=len(st)l=len(st)n=0n=0forfor i=1i=1 toto l-1l-1ifif abs(asc(substr(st,i,1)-asc(substr(st,i+1,1)=1abs(asc(substr(st,i,1)-asc(substr(st,i+1,1)=1 n=n+1n=n+1en
52、difendifendforendfor?“?“字符的字符的 asciiascii 码连续的次数为码连续的次数为”,n”,n22.22. 输入一个字符串,判断其中有多少个大写字母、小写字母、数字字符、空格字符以及其他特输入一个字符串,判断其中有多少个大写字母、小写字母、数字字符、空格字符以及其他特殊字符?殊字符?storestore 0 0 toto upper,lower,digit,space,specialupper,lower,digit,space,specialacceptaccept “输入一个字符串输入一个字符串” toto ststl=len(st)l=len(st)forf
53、or i=1i=1 toto l lch=subst(st,i,1)ch=subst(st,i,1)dodo casecasecasecase asc(ch)=65asc(ch)=65 andand asc(ch)=90asc(ch)=48asc(ch)=48 andand asc(ch)=57asc(ch)=97asc(ch)=97 andand asc(ch)=122asc(ch)=“0”ch=“0” andand ch=“9”chsqrt(n) and (n+10000)%37=0 ?n exit else n=n+1 endifenddo29.29. 100100 元钱买元钱买 100
54、100 只鸡,母鸡、公鸡和小鸡都要有。母鸡只鸡,母鸡、公鸡和小鸡都要有。母鸡 3 3 元一只,公鸡元一只,公鸡 2 2 元一只,小鸡一元元一只,小鸡一元2 2 只,问如何买鸡?只,问如何买鸡?forfor m=1m=1 toto 3232forfor g=1g=1 toto 4848forfor x=2x=2 toto 9898 stepstep 2 2ifif (m+g+x=100)(m+g+x=100) andand (m*3+g*2+x*0.5=100)(m*3+g*2+x*0.5=100)?chicken=,x,cock=,g,hen=,m?chicken=,x,cock=,g,hen
55、=,mendifendifendforendforendforendforendforendfor30.30. 输出输出 10001000 以内的水仙花数。一个大于以内的水仙花数。一个大于 0 0 的整数,如果它正好等于其每个数位的立方之和,的整数,如果它正好等于其每个数位的立方之和,这个数就叫水仙花数。例如这个数就叫水仙花数。例如 153153 就是水仙花数,因为就是水仙花数,因为forfor i=0i=0 toto 9 9forfor j=0j=0 toto 9 9forfor k=0k=0 toto 9 9m=i*100+j*10+km=i*100+j*10+kifif m=i3+j3+
56、k3m=i3+j3+k3 andand m0m0?m?mendifendifendforendforendforendforendforendfor31.31. 输出输出 123123789789 之间所有的水仙花数。之间所有的水仙花数。forfor i=123i=123 toto 789789b=int(i/100)b=int(i/100)s=int(i/10)%10s=int(i/10)%10g=i%10g=i%10ifif i=b3+s3+g3i=b3+s3+g3 ? ? i iendifendifendforendfor33335115332.32. 统计统计 100100999999
57、 之间能被之间能被 3737 整除且由三个不同数字构成的三位数的个数整除且由三个不同数字构成的三位数的个数, ,并输出这些数。并输出这些数。n=0n=0forfor b=1b=1 toto 9 9forfor s=0s=0 toto 9 9forfor g=0g=0 toto 9 9ifif bsbs andand sgsg andand gbgb andand (b*100+s*10+g)%37=0(b*100+s*10+g)%37=0 ? ? b*100+s*10+gb*100+s*10+g n=n+1n=n+1endifendifendforendforendforendforendfo
58、rendfor?“n=”,n?“n=”,n方法二方法二n=0n=0forfor i=100i=100 toto 999999 b=int(i/100)b=int(i/100) s=int(i/10)%10s=int(i/10)%10 g=i%100g=i%100ifif bsbs andand sgsg andand gbgb andand i%37=0i%37=0 ? ? i i n=n+1n=n+1endifendifendforendfor?n=,n?n=,n打印平面图形必须用二重循环,外循环确定打几行,内循环确定每行打几个字符。对于上一打印平面图形必须用二重循环,外循环确定打几行,内循
59、环确定每行打几个字符。对于上一行字符少,下一行字符多的图形,外循环的步长为正;对于上一行字符多,下一行字符少的图形,行字符少,下一行字符多的图形,外循环的步长为正;对于上一行字符多,下一行字符少的图形,外循环的步长为负。外循环的步长为负。33.33. 打印如下图形:打印如下图形:*forfor i=1i=1 toto 4 4forfor j=1j=1 toto 5 5? “*”“*”endforendfor? ?endforendfor34.34. 打印如下图形:打印如下图形:*forfor i=1i=1 toto 5 5forfor j=1j=1 toto i i?*?*endforendf
60、or? ?endforendfor35.35. 打印如下图形打印如下图形: :*forfor i=5i=5 toto 1 1 stepstep -1-1forfor j=1j=1 toto i i?“*”?“*”endforendfor? ?endforendfor36.36. 打印如下图形打印如下图形: :(要求图形向中央平移(要求图形向中央平移 1010 列)列)*forfor i=1i=1 toto 4 4 ?space(14-i)?space(14-i)forfor j=1j=1 toto 2*i-12*i-1?*?*endforendfor? ?endforendfor37.37. 打印如下图形打印如下图形: :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中医防治高血压知识讲座
- 资本充足率风险控制协议
- 线上数据标注兼职2026年波特五力服务协议
- 全脑开发教育机构项目投资协议2026
- 2026年社区育婴知识宣讲员能力培训
- 跨文化管理培训课程合作开发协议
- 2026年消防安全知识培训与演练记录
- 仓储行业仓储物流配送协议
- 科技馆展览内容合作开发与执行合同2026
- 内容创作2026年摄像合同协议
- 农村院子菜园设计
- Spark大数据技术与应用智慧树知到期末考试答案2024年
- 电加热供暖工程验收表
- 中医养生保健职业生涯发展规划
- 开封滨润新材料有限公司 20 万吨年聚合氯化铝项目环境影响报告
- 驾考三力测试模拟题含答案
- 技术创新成熟度评价标准及评价细则
- 小学美术-点线面 黑白灰教学课件设计
- 电力建设施工质量验收及评价规程强制性条文部分
- 力士乐-mtx micro简明安装调试手册v4updated
- 第六章光化学制氢转换技术
评论
0/150
提交评论