网站大量收购独家精品文档,联系QQ:2885784924

ch04-程序及子程序设计第3部分.pptx

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第四章程序及子程序设计

第三部分;4.4多模块程序;2.子程序调用

格式:

do子程序名[with参数列表]

功能:调用指定子程序并运行。

with选项用于调用子程序时,主程序可以向子程序传递参数。

在调用时,主程序可以调用子程序,子程序还可以再调用其他子程序。

主程序调用子程序过程中,子程序可以引用主程序中的变量,在子程序中对主程序的变量的修改结果能返回到主程序中。;主程序main.prg;主程序main.prg;例20编写主程序调用子程序,从键盘输入一个整数求该数的阶乘。

分析:把程序分成2个部分,主程序输入一个整数n,建立一个变量s表示阶乘积,调用子程序jc,输出计算结果;子程序用forendfor循环计算乘积,引用变量n和s。

说明:子程序在调用时,会把相应的子程序从磁盘读入内存,并执行。如果子程序被多次调用,这样会影响程序的运行时间,从而降低运行效率。

输入5测试。;1)新建主程序文件为s20.prg,输入如下代码:

*主程序

input请输入一个正整数:ton

s=1

dojc

?阶乘值为:,s

return

2)新建子程序文件为jc.prg,输入如下代码:

*子程序jc

fori=1ton

s=s*i

endfor

return

3)在命令窗口,输入dos20。;4.4.2过程文件

在程序执行时,主程序可能调用很多子程序,需要将每个子程序调入内存,过多调用将造成系统运行效率降低。

因此,可将一个子程序或多个子程序合并成一个过程文件,执行时将过程文件打开,过程文件所包含过程将一次全部调入内存,提高运行效率。

1.过程文件的建立

一个过程就是一个具有特定功能的命令文件(.prg),它的建立、运行与一般程序相同,至少要有一条return返回语句。

过程文件的基本结构:

procedure过程名1

命令序列1

[return[tomaster]]

Endproc

…;procedure过程名n

命令序列n

[return[tomaster]]

endproc

说明:每一个过程均以procedure开始,以endproc结束。

每个过程实际上是一个独立的子程序。

endproc和return可以省略,如果省略,过程以下一个procedure开始或文件结尾表示结束。

过程名一般以字母开头,可包含字母、数字和下划线。

如果省略return命令,则在过程结束处自动执行一条隐含的return语句。

可以将过程放在单独的程序文件中,也可以放在主程序的结尾,但是不能放在主程序代码之前。;2.过程文件的建立

在过程文件被打开之前,过程文件所包含过程是不能被任何程序调用的,调用过程文件之前必须要打开过程文件,调用结束后要关闭过程文件。

1)过程文件的打开命令

格式:setprocedureto过程文件名1[,过程文件名2,…][additive]

说明:打开一个或多个过程文件

Additive是在打开过程文件时不关闭前面打开的过程文件,省略时会先关闭前面打开的过程文件,再打开指定的过程文件。过程文件被打开后,它所包括的过程便可被其他程序调用。

打开过程文件的命令在主程序中使用,一般就放在程序的前面、循环的外面,至少应放在调用过程文件中的过程命令之前。

也可以把主程序与过程合在一起,组成一个磁盘文件。但主程序必须在文件的开始位置,这样才能在主程序中直接调用过程。;2)过程文件的关闭命令

格式:

setprocedureto或closeprocedure

releaseprocedure过程文件名1[,过程文件名2,…]

说明:setprocedureto或closeprocedure是关闭所有打开的过程文件,而

releaseprocedure是只关闭指定的过程文件。

过程文件使用完后,要及时关闭,以释放其占用的内存空间。

3)过程文件的调用

格式:do过程名[in文件名][with参数列表]

说明:将多个过程存放在一个文件中形成过程文件。过程文件中的过程不能作为一个命令文件单独存盘或独立运行。

过程如果以return表达式作为结束语句,那么该过程既可用do过程名的形式执行,又可当作一个合法的自定义函数,可供随时调用。;例21从键盘上输入一个正整数n,求s=1+2+…n及p=1*2*…n的值(利用过程文件完成)。输入5测试。

分析:把求s及p的值的程序设计为过程,主程序输入n值,然后调用两个过程计算s及p的值,求累加和、阶乘的程序,分别放到过程中。

1)新建程序文件为s21.prg,输入如下代码:

*主程序

input请输入一个正整数ton

setproceduretogc

s=0

p=1

dojh

dojc

?累加和为:,s,阶乘为:,p

setp

文档评论(0)

yyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档