- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VFP实验9.
实验4-4 过程文件与自定义函数
一、实验目的
加强对过程文件与自定义函数概念的理解,掌握过程文件与自定义函数在程序设计中的运用,并掌握程序之间数据传递的方法。
二、实验准备
复习教材中有关子程序与自定义函数的内容,重点掌握子程序、过程与过程文件、自定义函数等概念,理解本节给出的实例。
三、实验内容
1.用过程文件的形式编写程序,求1!+ 3!+ 5!+?+ n!的值,n从键盘输入,阶乘计算用过程。
2.编写自定义函数,判断X是否是素数,返回结果为逻辑值.T. 或 .F.。
3.编写程序,要求利用参数传递和过程文件求解:(m! + n!)?((m - n)!+ m^n + m^m )的值。M,N从键盘上输入且MN,要求使用子程序和过程文件两种方式实现。
4.编制自定义函数,实现将任意一个正整数分解为其最小因子的连乘式。如:8=2*2*2。
5.编写程序,要求从键盘输入一个正整数M,自动判断并显示M中有哪些数可以分为两个相等的素数。如:若M=10,因为10中有4=2+2,6=3+3,10=5+5,所以共有三个数符合条件。
6.用自定义函数编制程序:实现将一个日期型表达式转换为中文大写形式。如:{^1999-02-15}或CTOD(“1999-02-15”) 转换为中文大写形式为:一九九九年二月十五日。
四、实验4-4报告
1.实验过程报告
(1)写出第1题的程序代码及n=7时的程序运行结果。
SET TALK OFF
CLEAR
input 请输入N的值: to N
S=0
FOR M=1 TO N STEP 2
MJ=M
DO JC_SUB WITH MJ
S=S+MJ
ENDFOR
?S=,ALLTRIM(STR(S,19,0))
PROCEDURE JC_SUB
PARAMETERS x
T=1
FOR I=1 TO x
T=T*I
ENDFOR
x=T
ENDPROC
输出结果是5167
(2)写出第2题的程序代码。
SET TALK OFF
CLEAR
INPUT 请输入一个整数: to N
IF SS(N)
?N,是素数
ELSE
?N,不是素数
ENDIF
FUNCTION SS
PARAMETERS x
FOR I=2 TO x-1
IF x%I=0
EXIT
ENDIF
ENDFOR
IF Ix-1
RETURN .T.
ELSE
RETURN .F.
ENDIF
ENDFUNC
(3)写出第5题的程序代码及程序运行结果(输入M=20)。
SET TALK OFF
CLEAR
input M= to M
FOR I=2 TO M/2
IF SS(I)
?ALLTRIM(STR(I*2,20))+=+ALLTRIM(STR(I,20))+++ALLTRIM(STR(I,20))
ENDIF
ENDFOR
FUNCTION SS
PARAMETERS X
FOR J=2 TO X-1
IF X%J=0
EXIT
ENDIF
ENDFOR
IF J=X
RETURN .T.
ELSE
RETURN .F.
ENDIF
ENDFUNC
输出结果为 4=2+2
6=3+3
10=5+5
14=7+7
2.简答题
(1)叙述子程序、过程、过程文件的概念。
子程序:相对于主程序而言的一个独立的程序文件。
过程:存放在过程文件中的子程序。
过程文件:存放若干个子程序的文件。
(2)过程文件打开的方法及过程调用的方法?
打开方法:SET PROCEDURE TO 过程文件名
调用:DO 过程名 [WITH 参数表达式列表]
(3)程序之间参数传递有哪几种方法?
一.利用内存变量作用域传递参数
二.利用带参调用命令DO…WITH 传递参数
(4)自定义函数应如何调用, 其数据是怎样传递的?
调用:像系统函数一样用输出语句(?、??)输出或出现在表达式中
传递:既可以用传值的方法,也可以用引用的方法,默认是传值的方法。
可以用命令SET UDFPARMS TO VALUE/REFERENCE改变参数的传递方法(VALUE是传值的方法,REFERENCE的引用的方法)。
也可以在参数变量前冠以@,将采用引用格式。
3.实验完成情况及存在问题
第三题:
SET TALK OFF
CLEAR
input 请输入M= to M
input
您可能关注的文档
最近下载
- 2025贵州省旅游产业发展集团有限公司招聘115人笔试模拟试题及答案解析.docx VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人备考试题及答案解析.docx VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人考试备考题库及答案解析.docx VIP
- (正式版)D-L∕T 806-2013 火力发电厂循环水用阻垢缓蚀剂.docx VIP
- 2025年贵州旅游投资控股集团有限责任公司人员招聘笔试备考试题及答案解析.docx VIP
- 教学设计竹竿舞.doc VIP
- 广西壮族自治区柳州市 2026 届新高三摸底考试化学试卷含答案.docx VIP
- 市政管网排查总结汇报.pptx
- (高清版)DB43∕T 1210-2016 烤烟集中专业分级和散叶收购管理规范.pdf VIP
- 竹竿舞课的教学设计 “竹竿舞”课的教学设计.doc VIP
文档评论(0)