专升本计算机基础强化班教材Word下载.docx
- 文档编号:18939542
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:57
- 大小:169.93KB
专升本计算机基础强化班教材Word下载.docx
《专升本计算机基础强化班教材Word下载.docx》由会员分享,可在线阅读,更多相关《专升本计算机基础强化班教材Word下载.docx(57页珍藏版)》请在冰豆网上搜索。
代数式VFP表达式
六.函数
1.输出命令?
与?
?
格式:
?
表达式列表
?
说明:
表达式列表可以是一项或多项表达式,若是多项表达式,用逗号分开。
单个常量或变量可视作最简表达式
计算机执行?
表达式列表语句时,先换行,再输出各表达式的值
表达式列表语句时,直接在当前光标位置输出各表达式的值
如在命令框中输入:
“3+4=”,3+4
结果显示:
3+4=7
接着再输入命令:
“Right”
屏幕显示:
3+4=7Right
2.INT(18.7)
3.ROUND(3.456,2)
4.ABS(-7.8)
5.SQRT(25)
6.PI()
7.SIN
(2)
8.MOD(8,3)
9.MAX(1,-4,2,-3,6,3+1,2*3+1)
10.MIN(2.5,-3.6,0,8)
11.SPACE(5)
12.CHR(66)
13.ASC(‘b’)
14.LEN(“Followme!
”)
15.ALLTRIM(“ABCDEFG”)
16.SUBSTR(“ABCDEFG”,3,2)
17.VAL(“238”)
18.STR(365,5)
七.语句和程序结构
理论上已经证明,面向过程的程序设计,只要三种程序结构,就能解决任何问题。
这三种程序结构分别是顺序结构、选择结构(或称分支结构)和循环结构。
VFP提供了为数不多的三种结构的语句,现分述如下:
(1)顺序结构
1变量赋值和赋值语句
赋值语句格式:
变量=表达式
功能:
先将表达式的值计算出来,然后赋予赋值号左边的变量
A=1
A=A+1
A=3+INT(-5.8)
2INPUT“提示信息”TO变量
功能:
程序执行到INPUT语句时,首先显示“提示信息”中的内容,并等待用户从键盘输入数据,一旦数据输入后,变量得到相应的值,程序继续向下执行。
变量可以接受数值型或字符型值,键入字符型值时,必须带定界符。
“提示信息”可以缺省,通常带提示信息有利于数据输入。
3ACCEPT“提示信息”TO变量
同上。
变量只能接受字符型值,键入字符型值时,不带引号
4RETURN、CANCEL语句:
VFP程序的最后一条语句
5交换A,B两个变量的值
Memory
C=AA3,4
A=BB4,3
B=CC3
6计数N=N+1N的初始值为0
7累加S=S+XS的初始值为0
8累乘P=P*NP的初始值为1
9数组定义DIMENSIONA(5),B(2,4)
所谓程序是指为了解决某个实际问题而编写的一系列有序指令(语句)的集合。
一个程序必须包含“输入数据——处理数据——输出结果”三个部分。
程序中不能带有量纲,即不能带单位编程。
我们经常用流程图来描述语句的功能,如:
处理框
程序的流向
判断框
顺序结构程序举例
1.输入一个半径值,求圆周长、圆面积、球表面积和球体积
SETTALKOFF&
&
关闭VFP对话功能
CLEAR&
清屏
INPUT“输入半径”TOR
S=2*PI()*R
“圆周长:
”,S
“圆面积:
”,PI()*R*R
“球表面积”,4*3.14*R**2
“球体积:
”,4/3*3.14*R^3
SETTALKON&
打开VFP对话功能
CANCEL&
结束程序的执行
2.键盘输入一个摄氏温度,求其对应的华氏温度;
再输入一个华氏温度,求其对应的摄氏温度。
INPUT“输入摄氏温度”TOC
F=1.8*C+32
“等于华氏温度”,F
INPUT“输入华氏温度”TOF
C=(F-32)/1.8
“等于摄氏温度”,C
3.键盘输入三个数,求其中最大数和最小数,并输出之。
INPUT“输入第一个数”TOA
INPUT“输入第二个数”TOB
INPUT“输入第三个数”TOC
“其中最大数为:
”,MAX(A,B,C)
“其中最小数为:
”,MIN(A,B,C)
4.键盘输入五个数,去掉一个最高分,去掉一个最低分,求其余三个数的平均分。
INPUTTOA
INPUTTOB
INPUTTOC
INPUTTOD
INPUTTOE
BIG=MAX(A,B,C,D,E)
SMALL=MIN(A,B,C,D,E)
SUM=A+B+C+D+E
AVER=(SUM-BIG-SMALL)/3
“平均分为:
”,AVER
5.键盘输入三边之长,求所构成的三角形的面积。
S=(A+B+C)/2
AREA=SQRT(S*(S-A)*(S-B)*(S-C))
“三角形的面积为:
”,AREA
6.已知ΔABC的两条边和夹角:
A=3.0,B=4.0,∠C=600,求三角形的面积(小数点取二位)
A=3
B=4
C=60
AREA=A*B*SIN(C*PI()/180)/2
”,ROUND(AREA,2)
7.求两个电阻R1=3Ω,R2=6Ω的串联值和并联值
R1=3
R2=6
RS=R1+R2
RP=R1*R2/(R1+R2)
“串联值为”,RS,“欧姆”
“并联值为”,RP,“欧姆”
(2)选择(分支)结构
为了解决分支结构的程序,VFP提供了两条语句,分别是IF语句和DOCASE语句。
IF语句有三种形态,其语法结构和功能流程图分叙如下。
①IF条件
语句块
ENDIF
这里的“条件”系指条件表达式。
条件表达式在形式上有时与赋值语句相似,但本质不同:
一个是赋值号,一个是等号。
“语句块”系指一条或多条语句。
②IF条件
语句块A
ELSE
语句块B
ENDIF
③嵌套IF语句
IF条件1
IF条件2
语句块A
ELSE
语句块B
语句块C
或:
IF条件2
ENDIF
对于一入口二分支的问题,一定使用IF语句;
对于一入口三分支的问题,使用嵌套IF语句或DOCASE语句;
对于一入口四分支或更多分支的问题,一定使用DOCASE语句;
④DOCASE
CASE条件1
语句1
CASE条件2
语句2
.
CASE条件N-1
语句N-1
[OTHERWISE
语句N]
ENDCASE
选择(分支)结构程序举例
1.从键盘输入一个正整数,判断是偶数还是奇数
INPUT"
请输入一个正整数:
"
TOZS
IFMOD(ZS,2)=0
这是个偶数"
这是个奇数"
2.输入乘坐出租车的公里数,计算出乘车费。
(记费标准为:
2.5公里之内6元;
2.5公里以外,
每超过1公里增加1元2角)
请输入公里数:
TOX
若钱数四舍五入到元,则
PAY=ROUND(((X-2.5)*1.2+6),0)
IFX>
2.5
PAY=(X-2.5)*1.2+6
PAY=6
应付费"
PAY,"
元"
3.从键盘输入三个数,求其中最大的数
BIG=A
IFB>
BIG
BIG=B
IFC>
BIG=C
“三个数中最大的数是”,BIG
4.键盘输入一个年份,判断是平年还是闰年?
INPUT“Enterayear:
”TOY
IFMOD(Y,100)<
>
0ANDMOD(Y,4)=0ORMOD(Y,400)=0
Y,“isaleapyear.”
Y,“isacommonyear”
5.从键盘输入三个数,分别赋予A,B,C三个变量,
编程使A中存放最大数,C中存放最小数,
并按A,B,C的次序输出
IFA<
B
T=A
BIG=MAX(A,B,C)
SMALL=MIN(A,B,C)
SUM=A+B+C
A=BIG
C=SMALL
B=SUM-BIG-SMALL
A,B,C
A=B
B=T
C
A=C
C=T
IFB<
T=B
B=C
“最大数为:
”,A,“最小数为:
”,C
A,B,C
6.
编程求一元二次方程:
的实根(设a不等于0)
INPUT“ENTERANUMBER:
”TOA
”TOB
”TOC
D=B*B-4*A*C
DOCASE
CASED>
X1=(-B+SQRT(D))/(2*A)
X2=(-B-SQRT(D))/(2*A)
X1="
X1
X2="
X2
CASED=0
X=-B/(2*A)
X1=X2="
X
OTHERWISE
NOREALROOTS"
IFD>
X1=(-B+SQRT(D))/(2*A)
X2=(-B-SQRT(D))/(2*A)
“X1=”,X1
“X2=”,X2
IFD=0
“X1=X2=”,X
“NOREALROOTS”
7.输入一个x值,求y值:
”TOX
CASEX<
1
Y=X
10
Y=2*X-1
CASEX>
=10
Y=3*X-11
“Y=”,Y
8.完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值。
INPUT“输入X的值”TOX
Y=X*X
IFX=0
Y=0
Y=-X*X
9.输入一个字符,判断是否为英文字母。
ACCEPT“请输入一个字符:
”TOCH
IFASC(CH)>
=65ANDASC(CH)<
=90ORASC(CH)>
=97ANDASC(CH)<
=122
CH,“是英文字母”
CH,“不是英文字母”
10.键盘输入某学生的考试成绩,若95~100则输出优秀;
85~94则输出很好;
70~84则输出好;
60~69则输出一般;
60以下,输出不及格。
INPUT“ENTERASCORE:
”TOSCORE
CASESCORE>
=95
“EXCELLENT”
=85
“VERYGOOD”
=70
“GOOD”
=60
“WELL”
OTHERWISE
“FAIL”
11.输入两个数和一个运算符(加、减、乘、除),求其值。
例如,输入3和5以及*,则输出15
INPUT“输入一个数:
INPUT“输入另一个数:
ACCEPT“输入运算符:
”TOCH
CASECH=“+”
“两数之和为:
”,A+B
CASECH=”-“
“两数之差为:
”,A-B
CASECH=”*”
“两数之积为:
”,A*B
CASECH=“/”
“两数之商为:
”,A/B
“运算符出错!
”
(3)循环结构
●DOWHILE语句格式
DOWHILE条件
ENDDO
DOWHILE循环语句的流程图
①通常DOWHILE循环用于循环次数预先未知,只知道什么时候结束循环的场合
②DOWHILE中的条件总是与题意给出的结束条件相反
③为了防止死循环,在循环体中必须要有逐渐改变条件,最后使条件不成立的语句。
循环结构(DOWHILE语句)程序举例
1.求12+42+72+……一直加到超过1000为止,输出和数与项数。
i=1
s=0
n=0
dowhiles<
=1000
s=s+i^2
i=i+3
n=n+1
enddo
n,“items”
“sum=”,s
2.求π值,直到某项的绝对值小于0.000001为止。
SUM=0.0
S=1.0
N=1
T=S/N
DOWHILEABS(T)>
=1E-06
SUM=SUM+T
S=-S
N=N+2
PI=4*SUM
PI
3.输入一个正整数,分解出所有因子。
如18=1*2*3*3,23=1*23
输入一个正整数"
TON
N,"
=1"
I=2
DOWHILEI<
=N
IFMOD(N,I)=0
*"
+ALLTRIM(STR(I))
N=N/I
I=I+1
4.输入一个整数,求该数是几位数?
input"
输入一个整数"
tox
x=abs(x)
m=x/10
dowhilem>
x=int(M)
"
该整数是"
n,"
位数"
5.键盘输入两个整数,求它们的最大公约数和最小公倍数。
直接求最小公倍数参考程序如下:
tom
输入另一个正整数"
ton
fori=mtom*n
ifmod(i,n)=0andmod(i,m)=0
最小公倍数为"
i
exit
endif
endfor
Enteraninteger:
Enteranotherinteger:
m1=m
n1=n
t=mod(m,n)
dowhilet<
m=n
n=t
最大公约数为"
n
最小公倍数为"
m1*n1/n
●FOR循环语句格式
FOR循环变量=初值TO终值STEP步长
ENDFOR
1FOR循环用于循环次数已知的场合,即已知循环的初值、终值和步长的场合。
2步长为1时,可以省略STEP1
3步长可以为负。
此时,初值必须大于终值,否则循环体一次也不执行。
4循环变量可以在循环体中出现,参加相应的运算,同时起着控制循环次数的作用;
循环变量也可以不在循环体中出现,此时循环变量仅仅起着控制循环次数的作用。
5循环可以嵌套,构成多重循环,但要注意语句的配套使用。
FORI=1TO10STEP2
FORJ=8TO1STEP-2
语句块
ENDFOR
6在循环体中一旦执行到EXIT语句时,直接退出本层循环,继续向下执行。
7退出循环体后,循环变量的值可以被引用,它的值是第一次超过终值的那个值。
8FOR循环语句流程图如下所示:
循环结构(FOR循环语句)程序举例
6.求1-100之间所有奇数之和
SUM=0
FORI=1TO100STEP2
SUM=SUM+I
“SUM=”,SUM
7.输出100至200之间所有个位数为5且能被7整除的整数,并输出它们的和。
FORI=100TO200
IFMOD(I,10)=5ANDMOD(I,7)=0
I
“SUM=”,SUM
8.编程输出100~500之间能被7整除的奇数的个数。
N=0
FORI=101TO500STEP2
IFMOD(I,7)=0
N=N+1
“N=”,N
FORI=100TO500
IFI%7=0ANDI%2=1
9.求1/(1*2)+1/(3*4)+1/(5*6)+……+1/(99*100)
sum=0
fori=1to99step2
sum=sum+1/(i*(i+1))
sum="
sum
10.求N的阶乘。
(N的值由键盘输入,应小于20)
INPUT“输入N的值”TON
P=1
FORI=1TON
P=P*I
N,“!
=”,P
11.打印ASCII中所有可打印字符(要求一行打印10个字符,字符与字符之间有三个空格)
fori=33to126
ifmod(n,10)=0
space(3)+chr(i)
else
endif
12.一个数如果恰好等于它的因子之和,这个数就称为“完数”,如:
6=1+2+3,故6是完数。
编程判断从键盘输入一个正整数是否为完数。
INPUT“输入一个正整数”TON
S=0
FORI=1TON-1
IFMOD(N,I)=0
S=S+I
IFS=N
N,“是完数”
N,“不是完数”
13.输入一个大于等于2的整数,判断是否为素数?
一个正整数,若只能被1和本身整除,则该数称为素数或质数
INPUT“请输入一个大于2的整数”TON
FLAG=.T.
FORI=2TON-1
FLAG=.F.
EXIT
IFFLAG=.T.
N,“是素数”
N,“不是素数”
14.求如下级数前N项之和(X和N的值由键盘输入)
S=1
INPUTTOX
INPUTTON
S=S+X^I/I
“SUM=”,S
15.输入一个字符串,按其倒序输出。
Enterastring:
tost
l=len(st)
fori=lto1step-1
substr(st,i,1)
16.从键盘输入一个二进制数,将其转换成等值的十进制数。
ACCEPT“Enterabinarynumber:
”ton
L=len(n)
fori=1toL
s=s+val(substr(n,i,1))*2**(L-i)
“等值的十进制数为”,s
17.从键盘输入一个十进制数,将其转换成等值的二进制数。
Enteradecimalnumber:
bin=“”
ifn=0
bin=“0”
dowhilen>
R=mod(n,2)
bin=str(R,1)+bin
n=int(n/2)
“等值的二进制数为”,bin
18.有一分数序列如下,求前20项之和
A=1
B=2
TERM=B/A
FORI=1TO20
SUM=SUM+TERM
T=B
B=A+B
A=T
19.求Sn=a+aa+aaa+aaaa……,其中,a是一个数字,a的个数为n,a和n的值由键盘输入
INPUT“输入a的值:
”TOA
INPUT“输入项数n:
”TON
T=A
SUM=SUM+A
A=A*10+T
“数列之和为:
”,SUM
20.求ex的台劳级数展开式的前n项之和(运行时输入x=2.0,n=4)
INPUT“X=”TOX
INPUT“N=”TON
SUM=1
Q=1
Q=Q*X
SUM=SUM+Q/P
“SUM=”,SU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 基础 强化 教材