VF程序设计复习资料 1Word文档格式.docx
- 文档编号:21257776
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:51
- 大小:146.42KB
VF程序设计复习资料 1Word文档格式.docx
《VF程序设计复习资料 1Word文档格式.docx》由会员分享,可在线阅读,更多相关《VF程序设计复习资料 1Word文档格式.docx(51页珍藏版)》请在冰豆网上搜索。
10+3*4-152^3x^3/y+a%5
2)字符运算符:
完全连接“+”:
“Ihavea”+“Book”=“IhaveaBook”
包含运算“$”:
“abc”$“abcdef”=.t.
“ABC”$“abcdef”=.f.
3)关系运算符:
<
>
===<
=>
=<
>
关系表达式:
表达式>
<
关系运算符>
关系表达式相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。
1244.33>
=12结果:
.t.
10=20结果:
.f.
”A”<
”B”结果:
”ABC”>
”ABD”结果:
4)逻辑运算符:
!
NOT或.NOT.OR或.OR.AND或.AND.
逻辑表达式:
关系表达式>
逻辑运算符>
逻辑表达式也相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。
x>
5ORy<
10.T.或者.F.,取决于x,y的值
推导判断闰年的表达式:
闰年:
能被4整除,但是不能被100整除;
或者能被400整除。
(y%4=0andy%100<
0)ory%400=0
5.常用函数
1)取绝对值函数:
abs(数值表达式)
2)取整函数:
int(数值表达式)
功能:
取数值表达式的整数部分。
int(12.3)=12
int(56.78)=56
3)求平方根函数:
sqrt(数值表达式)
4)求字符串长度函数:
len(字符串表达式)
len("
hello"
)=5
你好"
)=4
说明:
一个汉字占两个字符的宽度。
5)取子串函数:
●Left(字符串表达式,长度)
●Right(字符串表达式,长度)
●substr(字符串表达式,起始位置,长度)
从指定表达式值的指始位置取指定长度的字符串作为函数值。
Substr(“hello”,2,3)结果:
ell
6)计算字串出现次数函数:
Occurs(字符串表达式1,字符串表达式2)
返回第一个字符串在第二个字符串中出现的次数。
Occurs(“a”,”abcaa”)结果:
3
7)大小写转换函数
Lower(字符串表达式):
Upper(字符串表达式):
8)生成空格字符函数:
space(数值表达式)
生成若干个空格,空格的个数由数值表达式确定。
Space(5)其作用是产生5个空格
9)数值转换成字符串函数:
str(数值表达式,长度,小数位数)
将数值表达式的值转换为字符串,转换时根据需要自动四舍五入。
转换后的理想长度应该是数值表达式值的整数部分位数加上小数位数值,再加上一位小数点。
Str(“123.567”,7,3)结果:
123.567
Str(“123.567”,6,2)结果:
123.57
10)随机函数:
rand()
功能:
系统随机产生一个0到1之间的纯小数
产生某个范围的随机整数:
Int(rand()*(终值-初值+1)+初值)
随机产生两位随机整数。
Int(rand()*(99-10+1)+10)
三程序设计基本语句:
1.变量的赋值:
=
格式:
变量=表达式
将“=”(赋值号)右边表达式的值赋予左边的变量。
2.输入命令
1)input命令
input“提示信息”to变量
在屏幕上显示“提示信息”,并等待用户从键盘上输入表达式,再把表达式的值赋给指定的变量。
2)Accept命令
accept“提示信息”to变量
在屏幕上显示[<
提示信息>
],等待用户从键盘上输入,再把输入内容作为字符串常量赋值给指定的变量。
3.输出命令?
|?
?
表达式1,[<
表达式2>
…]
将表达式的结果在当前光标的下一行输出;
表达式1,[<
将表达式的结果在当前光标位置输出;
四、VF程序基本结构
4.1顺序结构
顺序结构:
就是计算机要按照程序中语句出现的先后次序依次执行各条语句的结构。
顺序结构是程序设计中最常见、使用最多的结构。
顺序结构程序主要由赋值语句、输入语句和输出语句构成。
1求园的面积
input“r=”tor
s=3.14*r^2
s
return
2交换任意两个变量的值
input“x=”tox
input“y=”toy
t=x
x=y
y=t
“x=”,x
”y=”,y
3鸡兔同笼问题。
已知鸡兔的总头数为h,总脚数为f,求鸡兔各有多少只?
input"
h="
toh
f="
tof
x=(4*h-f)/2
y=(f-2*h)/2
”鸡的个数:
”,x
”兔的个数:
”,y
三、选择结构
1)IF语句格式:
IF条件表达式
语句序列1
ELSE
语句序列2
ENDIF
执行该语句时,如果条件表达式的值为.t.,则执行语句序列1,否则执行语句序列2,然后再执行endif之后的语句。
其中else可以省略,即如果语句序列2为空,则没有ELSE以及语句序列1。
程序
1.判断闰年。
从键盘任意输入一年份,判断其是否是闰年,是则输出“是“,不是则输出“否”。
Clear
Input“y=”toy
If(y%4=0andy%100<
0)ory%400=0
?
”是”
Else
”否”
endif
2.输出3个数中最大值
x="
tox
y="
toy
z="
toz
ifx>
=y
m=x
else
m=y
ifm<
zthen
m=z
m
3.判断一个数是否是水仙花数。
所谓水仙花数是指一个3位数,其每位数字的立方和等于它本身。
m="
tom
x=int(m/100)
y=int((m%100)/10)
z=m%10
ifx^3+y^3+z^3=m
"
是"
否"
2)多分支语句:
DOCASE
CASE逻辑达式1
命令序列1
[CASE逻辑表达式2
命令序列2
…
CASE逻辑表达式n
命令序列N]
[OTHERWISE
命令序列]
ENDCASE
1)从第一个逻辑表达式开始判断,当找到一个逻辑表达式的值为.T.时,就执行紧跟其后的命令序列,然后执行ENDCASE之后的语句。
2)在一个DOCASE结构中,最多只能执行一个CASE语句后面的语句序列。
如果case后的所有逻辑表达式的值均为.F.,则执行OTHERWISE后面的语句序列。
4.输入一个成绩,输出其等级。
CLEAR
INPUT“请输入学生成绩:
”TOn
CASEn>
=90andn<
=100
“优秀”
=80
“良好”
=70
“中等”
=60
“及格”
OTHERWISE
“不及格”
四、循环结构
1)dowhile循环
Dowhile条件
循环体
Enddo
提示:
级数求和问题从累加求和到最难的求和一鼓作气学完。
算法:
1.求1-100的累加和:
s=1+2+3…+100
i=1
Dowhilei<
i=i+1
s
2.求1-100奇数的和。
i=i+2
3.求1-100偶数的和。
i=2
2)For循环
For循环变量=初值TO终值STEP步长
Endfor
其中步长为1时,STEP1可以省略。
4.将1-3题用for语句实现
1)1-100所有整数的和
s=0
Fori=1to100
Return
2)1-100所有奇数的和
Fori=1to100step2
3)1-100所有偶数的和
Fori=2to100step2
强调:
当循环次数确定的时候尽量用for循环实现。
5.求s=1+1/2+1/3+1/4+....+1/100
s=s+1/i
s="
s
6.求s=1-1/2+1/3-1/4+....+1/100
s=s+1/i*(-1)^(i+1)
7.求s=1-1/2+1/3-1/4+....+1/n,n由键盘输入
input“n=”ton
fori=1ton
8.求N!
=1×
2×
3×
4…×
N,其中N由键盘输入。
Input“n=”ton
t=1
Fori=1ton
t=t*i
t
9.求s=1!
+2!
+……+n!
,n由键盘输入。
(即求阶乘之和)
n="
ton
t=1
s=s+t
10.s=1+(1*2)+(1*2*3)+...+(1*2*3*…*10)
此题相当于求:
s=1!
+……+10!
t=0
fori=1to10
t=t+i
s=s+t
endfor
11.s=1+(1+2)+(1+2+3)+...+(1+2+3+4+5+6+7+8+9+10)
12.s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+4+5+6+7+8+9+10)
s=s+1/t
13.计算s=1!
+1/2!
+1/3!
……+1/n!
,n由键盘输入(即求阶乘倒数之和)
s=s+1/t
14.计算s=1!
(要求1/n!
10-6为止)
dowhile1/t>
=10^(-6)
s=s+1/t
i=i+1
t=t*i
15.计算s=1!
-1/2!
-1/4!
……±
1/n!
s=s+1/t*(-1)^(i+1)
16.计算s=x/1!
+x2/2!
+x3/3!
……+xn/n!
,x由键盘输入。
(要求xn/n!
Input“x=”tox
dowhilex^i/t>
s=s+(x^i/t)
17.计算s=x/1!
-x2/2!
xn/n!
s=s+(x^i/t)*(-1)*(i+1)
18.ex=1+x+x2/2!
s=1
s=s+x^i/t
19.求s=2!
+4!
+6!
+8!
+10!
S=0
T=1
Fori=2to10step2
T=t*(i-1)*i
S=s+t
Endfor
20.求s=1/2!
+1/4!
+1/6!
+1/8!
+1/10!
S=s+1/t
21.求s=1/2!
-1/8!
d=1
S=s+1/t*d
d=-d
22.求s=1!
+3!
+5!
+7!
+9!
可以看成s=1+3!
令s=1,只需求出3!
即可
S=1
Fori=3to9step2
23.求s=1/1!
-1/3!
+1/5!
-1/7!
+1/9!
D=1
24.
25.cos(x)=1-x2/2!
+x4/4!
-x6/6!
(精度为10^(-8))
t=2
d=-1
=10^(-8)
s=s+x^i/t*d
d=-d
26.输出所有的水仙花数。
先判断某个数是否是水仙花数。
forn=100to999
x=int(n/100)
y=int((n%100)/10)
z=n%10
ifx^3+y^3+z^3=nthen
n
endif
27.从键盘任意输入一个整数,判断其是否是素数。
除了1和它本身之外不能被任何一个整数所整除的自然数叫质数,又称为素数。
例如3,5,17是素数,而4,6,8,9就不是素数。
特殊:
1既不是质数也不是合数,2是最小的质数。
fori=2ton-1
ifn%i=0
exit
endif
ifi=n
?
else
exit作用:
退出循环。
28.以5个为一组输出1-100的整数。
C=0
i
ifi%5=0
Endif
29.以5个为一组输出1-100能被3整除的数。
ifi%3=0
c=c+1
ifc%5=0
Endif
30.以5个为一组输出100-1000以内的所有素数,并计算这些素数之和。
(两重循环的应用)
分析:
1)先找出所有素数
2)以5个数据为一组显示
3)计算所有素数的和
c=0
form=100to1000
fori=2tom-1
ifm%i=0
exit
endfor
ifi=m
m
c=c+1
ifc%5=0
endif
s=s+m
endif
“素数的和:
”,s
31.百钱买百鸡问题。
公鸡5元一只,母鸡3元一只,小鸡3只一块钱,假设用100元买了100只鸡,问公鸡、母鸡、小鸡各有多少只?
穷举法:
所谓穷举法就是将各种组合的可能性全部一一测试一遍,对每一组合检查它是否符合给定的条件,将符合条件的解全部输出即可。
forx=1to19
fory=1to33
z=100-x-y
ifz%3=0and5*x+3*y+z/3=100
x,y,z
endfor
32.请显示如下图所示的九九乘法表。
fori=1to9
forj=1to9
str(i,1)+"
*"
+str(j,1)+"
="
+str(i*j,2)+space(3)
33.要求显示如下乘法表。
fori=1to4
forj=ito4
+str(i*j,2),space(3)
34.请显示如下图所示的九九乘法表。
forj=ito9
space(i*9)
35.设计1个程序,要求是:
(1)在键盘上输入1个不小于3的自然数N(例输入10),求出其不到第N个自然数中奇数之和,并输出结果
(2)输出1到第N自然数中所有质数的个数
ifn<
”请输入大于等于3的数!
”
fori=1ton-1step2
”奇数的和:
forj=2toi-1
ifi%j=0
ifj=I
c=c+1
”质数的个数”,c
Endif
36.求两个数的最大公约数。
算法(采用辗转相除法):
m除以n(m>
n),得余数r;
如果r不等于0,则将n赋予m,r赋予n,再用m除以n,得余数r;
依次类推,直到r=0为止,此时的n就是最大公约数。
30和20的最大公约数为10
采用辗转相除法(要求m>
n):
1)m除以n,得余数r;
2)如果r不等于0,则将n赋予m,r赋予n,再用m除以n,得余数r;
3)依次类推,直到r=0为止,此时的n就是最大公约数。
Clear
Input"
r=m%n
dowhiler<
m=n
n=r
r=m%n
enddo
n
37.求两个数的最小公倍数。
M和n的乘积除以最大公约数就是最小公倍数
30和20的最小公倍数为60
x=m
y=n
r=mod(m,n)
r=mod(m,n)
x*y/n
38.猴子摘桃问题。
已知猴子第一天摘了2个桃子,第二天摘的桃子是第一天的2倍多一个;
以此类推,第n天摘了多少个桃子?
(递推法)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VF程序设计复习资料 VF 程序设计 复习资料