pascal语法讲义-第十讲.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pascal语法讲义-第十讲

百度Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第十讲 第十讲 子程序 所谓子程序(在Object Pascal 中也称为例程),其实是“过程式 程序设计”(又称结构化程序设计)的产物,子程序的作用,是为了 贯彻“自顶向下,逐步求精”这一编程基本原则以及程序的模块化。 一、过程 在子程序这一章,我们首先了解的是“过程”(procedure)。对 过程的简单理解,就是把主程序中的一段程序给拉出来,放到外面, 给他一个名字。普通的作用,是为了节省多写很多程序段的时间,同 时可以使程序的结构变得清晰,增强可读性。 首先,我想问各位读者一个很没质量的问题:如何交换两个变量 的值?最简单的,也是最常用的一个方法,就是找一个中间变量: program p1_5_1_1_1(input,output); var a,b,t:longint; begin readln(a,b); t:=a; a:=b; b:=t; writeln(a,’ ‘,b); end. 也就是上面程序段中的t。 第1 页,共51 页 百度Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第十讲 实际运用当中,如果一个程序需要很多次的交换变量,那么写这 么多次t:=a;a:=b;b:=t;是会把人给烦死的。(笔者曾经写过一个8K 的程 序,用了过程后程序代码立刻缩短至 7K)所以,我们的自定义过程 就派上用场啦。我们来看一看写自定义过程的格式: procedure 过程名(参数表);指令; {过程首部} 私有声明 begin {过程体} 语句 1..n; end; 如果用自定义过程的形式去替换主程序中某些具有相同的程序 段,可以节省不少的时间,并可以方便修改。 有读者会注意到一个问题,我上面都是用的“自定义过程”去 描述。其实,我们早在前几章已经使用过过程了,只不过它们是已经 Pascal 系统预说明的。比如 read,readln,write,writeln 等,都是 已经定义过的过程,称为标准过程。而我们自己写的这些过程,被称 为自定义过程。 下面我来具体说明一下自定义过程。自定义过程由“过程首部” (head)和“过程体”组成。过程首部的要点: I.procedure 保留字,说明以下程序段是一个过程。 II.过程名。过程名和变量名一样,是自己定义的一个标识符。 它和变量名一样,不能和保留字和已定义的过程、变量、函数冲突。 III.参数表。参数事实上包括了形参(形式参数)和实参(实在参 第2 页,共51 页 百度Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第十讲 数)两种,在这里,我们只着重讨论形参,实参的详细讨论参见第三 卷。形参是整个子程序中最难懂的一部分,很多的同学都在这个地方 遇到了瓶颈,希望读者们能够加以重视。 所谓形参,就是调用这个过程的程序段将这些参数传入这个过 程,它将会加入这个程序段。我们以一个计算 n 的阶乘的程序为例 (n=12): program p1_5_1_1_2_1(input,output); var n:longint; procedure fac(n:longint); var product,i:longint; begin product:=1; for i:=2 to n do product:=product*i; writeln(n,’ !=’,product); end; begin

文档评论(0)

liwenhua11 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档