VFP常见编程实例.docx
- 文档编号:8001117
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:10
- 大小:17.53KB
VFP常见编程实例.docx
《VFP常见编程实例.docx》由会员分享,可在线阅读,更多相关《VFP常见编程实例.docx(10页珍藏版)》请在冰豆网上搜索。
VFP常见编程实例
VFP常见编程实例
1、1-100的累加
**求1到100的累加值
CLEAR
s=0
i=1
DOWHILEi<=100
s=s+i
i=i+1
ENDDO
?
s
RETURN
2、阶乘
**求5的阶乘
CLEAR
j=1
i=1
DOWHILEi<=5
j=j*i
i=i+1
ENDDO
?
j
RETURN
3、求阶乘和
**求1至5的阶乘和
CLEAR
s=0
i=1
j=1
DOWHILEi<=5
j=j*i
s=s+j
i=i+1
ENDDO
?
s
RETURN
4、条件定位
**查询定位记录指针在赵伟上
CLEAR
USE学生
LOCATEFOR姓名="赵伟"
IFFOUND()
DISPLAY
ELSE
CANCEL
ENDIF
CONTINUE
5、用scan语句查询定位
**用scan语句查询定位记录在赵伟上
CLEAR
SCANFOR姓名="赵伟"
DISPLAY
ENDSCAN
RETURN
6、用scan语句扫描符合条件的记录,并显示出来
**把年龄小于30岁的人显示出来
CLEAR
SCANFOR年龄<30
DISPLAY
ENDSCAN
RETURN
7、查找男性职工
**查找男性职工
CLEAR
LOCATEFOR性别="男"
DOWHILEFOUND()
DISPLAY
CONTINUE
ENDDO
RETURN
**查找男性职工
CLEAR
LOCATEFOR性别="男"
DOWHILENOTEOF()
DISPLAY
CONTINUE
ENDDO
RETURN
**查找男性职工
CLEAR
USE职员基本信息表
LOCATEFOR性别="男"
DOWHILE.t.
IFFOUND()then
DISPLAY
ELSE
CANCEL
ENDIF
CONTINUE
ENDDO
8、新值换旧值
**有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?
clear
store1toa,b
i=3
dowhilei<=12
c=a+b
a=b
b=c
i=i+1
enddo
?
"一年共出生兔子:
",c
return
9、多位整数各个位数相加
**求多位整数各个位数之和
CLEAR
s=0
input"请输入一个多位整数:
"toa
DOWHILEa<>0
s=s+MOD(a,10) &&将a取余正好是个位上的数
a=INT(a/10) &&将a除10取整正好是除个位之后的数
ENDDO
?
"这个整数的各个位数之和是:
",s
RETURN
10、找100-999之间的“水仙花数”
CLEAR
FORi=100TO999
a=INT(i/100)
b=INT((i-100*a)/10)
c=i-INT(i/10)*10
IFi=a^3+b^3+c^3
?
i
ENDIF
ENDFOR
RETURN
11、判断一个大于3的数是否为素数
CLEAR
input"请输入一个数(>=3):
"tos
f=0
i=2
DOWHILEi<=INT(SQRT(s))
IFMOD(s,i)<>0
i=i+1
LOOP
ELSE
f=1
EXIT
ENDIF
ENDDO
IFf=0
?
str(s,3)+"是素数"
ELSEf=1
?
str(s,3)+"不是素数"
ENDIF
RETURN
12、求一个班级每个学生的平均成绩
**计算一个班级共三十名学生,每位学生5门功课的平均成绩
CLEAR &&清屏
DIMENSIONx(30,5) &&定义一个数组变量,r为学生数,i为功课数
r=1 &&给30个学生的计数变量r赋初值1
DOWHILEr<=30 &&循环30次,以计算出30个学生的平均成绩
s=0 &&为学生一门功课成绩赋初值0
i=1 &&为五门功课计数变量赋初值1
DOWHILEi<=5&&为一个学生的五门功课成绩累加5次
input"请输入学生的成绩"tox(r,i)
s=s+x(r,i) &&成绩累加
i=i+1 &&功课累加
ENDDO &&返回内循环
?
"这名学生的平均成绩是:
",s/5 &&显示平均成绩
r=r+1 &&学生累加
ENDDO &&返回外循环
13、计算圆的面积
*计算圆的面积程序
CLEAR
input"请输入半径的值"tor
input"请输入pi的值"to pi
s=pi*r^2
?
"圆的面积是",s
RETURN
14、将小写字母转换为大写字母
NOTE请将任意输入的一个小写字母转换成大写字母,也就是upper()函数的程序实现
CLEAR &&请屏
WAIT"请输入一个小写字母"tox &&交互式输入一个小写字母
k=ASC(x) &&将小写字母的ASC码赋值给变量K
IFk>=97ANDk<=122then &&97是小写字母a的ASC码值,122是小写字母z的ASC码值
?
x,"的大写字母是",CHR(k-32) &&输出大写字母.chr函数是ASC码所对应的字符
ELSE
WAIT"您输入的不是小写字母"WINDOWTIMEOUT5
cancel
ENDIF
RETURN &&返回到调用程序
15、找出最大数和最小数
CLEAR
input"请输入一个数:
"tox
STORExTOma,mi
FORi=2TO10 &&因为已经输入一个数X,所以循环次数只有9次
input"请输入一个数:
"tox
IFma ma=x ENDIF IFmi>x mi=x ENDIF ENDFOR ? "最大数是: ",ma ? "最小数是: ",mi RETURN 16、绝对值函数的实现 **绝对值函数的实现 CLEAR input"请输入一个数值"ton IFn>=0 ? n ELSE ? -n ENDIF CANCEL 17、绝对值函数实现的另一种方法 **绝对值函数和另一种实现方法 CLEAR input"请输入一个数值"ton ? IIF(n>=0,n,-n) CANCEL 18、输出成绩等级 **成绩等级判断语句 CLEAR input"请输入一个成绩"tocj DOcase CASEcj>=90 dj="优秀" CASEcj>=80 dj="良好" CASEcj>=60 dj="合格" OTHERWISE dj="不合格" ENDCASE ? dj RETURN 19、求一名学生的平均成绩 **求一个学生5门功课的平均成绩 CLEAR s=0 i=1 DOWHILEi<=5 input"请输入各门功课的成绩"tox s=s+x i=i+1 ENDDO ? s/5 20、用数组的方法,计算一个学生的平均成绩 **用数组保存一个学生五门功课的成绩,然后再计算机其平均成绩 CLEAR DIMENSIONx(5) s=0 i=1 DOWHILEi<=5 input"请输入各门功课的成绩"tox(i) s=s+x(i) i=i+1 ENDDO ? s/5 RETURN 21、用docase语句实现符号函数的功能 **请输入一个数,当这个数是负数,就返回-1,当这个数是零,就返回零,当这个数是正数,就返回1 CLEAR input"请输入一个数"ton DOCASE CASEn>0 s=1 CASEn=0 s=0 CASEn<0 s=-1 ENDCASE ? s RETURN 22、用一般选择语句实现符号函数的功能 **符号函数的实现 CLEAR input"请输入一个数"ton IFn>0 s=1 ELSE IFn=0 s=0 ELSE IFn<0 s=-1 ENDIF ENDIF ENDIF ? s 23、用简单选择语句实现符号函数功能 **符号函数的实现 CLEAR input"请输入一个数"ton IFn=0 s=0 ENDIF IFn>0 s=1 ENDIF IFn<0 s=-1 ENDIF ? s 24、打开数据库和数据表 SETtalkoff CLEAR accept"请输入数据库名"tox OPENDATABASE&x accept"请输入数据表名"toy USE&y LIST use SETtalkoff return 25、显示表中指定信息 SETTALKOFF CLEAR OPENDATABASE时代超越总公司职员信息数据库 USE职员基本信息表 WAIT"请输入待查职工的编号(1-3)"TOn IFVAL(n)<1.or.VAL(n)>3 WAIT"输入无效,结束程序运行! "WINDOWtimeout5 RETURN ELSE STORE"0"+nTOa LISTfor"职员编号"=a ENDIF CLOSEDATABASES SETTALKON return 26、询问后再由用户按(Y/N)键执行的程序实现 **求任意一个数的阶乘 CLEAR DOWHILE.t. input"请输入一个数"ton p=1 s=0 FORi=1TOn p=p*i s=s+p ENDFOR ? s WAIT"是否继续计算(Y/N)"TOynwindow IFUPPER(yn)="Y"THEN LOOP ELSE EXIT ENDIF ENDDO RETURN 27、根据exact的设置进行字符串匹配比较 **exact设置的变化对取值结果的影响 SETexactON &&exact为打开状态,字符精确匹配 s="in"+SPACE (2) IFs=="in" IFs="in" ? "a" ELSE ? "b" ENDIF ELSE IFs="in" ? "c" ELSE ? "d" ENDIF ENDIF RETURN 28、使一个多位正整数逆序排列 CLEAR input"请输入一个整数: "tox DOWHILEx>0 y=x%10 ? ? y x=INT(x/10) ENDDO RETURN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 常见 编程 实例