- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]第九章过程和函数
第九章 过程和函数 河师大信息技术教研组 在程序设计过程中,一般来说程序都由若干个主要的任务构成,每个主要任务又可分成若干个子任务,这样逐层细分,一直细分到使每个子任务都只完成一个简单的基本功能为止。按这种原则编写的程序层次清晰,不仅易读而且易于修改。在程序中,子任务可以由子程序实现。程序中如果多处要执行相同的内容,把这部分相同的内容写成子程序,也会使程序更易维护。当程序规模较庞大时,使用子程序的优势更明显。 一般情况下,只要具有相对独立的一段程序都设计成子程序。 Pascal的子程序分为过程和函数两种。 第一节 过 程 给某语句序列组成的子程序赋于一个适当的名字。程序中凡需出现这个语句序列的地方,可简单地写上子程序名。这种子程序称为过程,子程序的定义称为过程说明。 过程说明由过程首部和过程体组成,其形式如下所示。 procedure 过程名[(形式参数表)];──过程首部 [说明部分] begin 语句1; 语句2; 执行部分 过程体 …… end; 其中以保留字procedure开始的那一行称为过程首部。方括号内为可选部分。在过程首部的过程名后若无形式参数表,此过程称为无参过程,否则称为带参过程。说明部分是可选的,说明本过程中使用的变量等。 执行部分是 以Begin 和End括起来的语句组成。 例9-1 输出5行*号。 本程序定义一个无参过程FiveLines,并在主程序中调用它。 Program ex9_1; Procedure FiveLines; 过程说明 var i:integer; begin for i:= 1 to 5 do writeln(’***********’) end; begin {main} 主程序 fiveLines {过程调用} end. {main} 例9-2 输出n行*号。 本程序定义过程NLines,含有一个参数,决定*号的行数。 Program ex9_2; Var lines:integer; Procedure Nlines(n:integer); Var i:integer; begin for i:= 1 to n do writeln(’***********’) end; begin {main} readln(lines); Nlines(lines) end. {main} 例9-3 无参过程WriteAlphabet用于输出英文大写字母表。 Procedure WriteAlphabet; Var letter:char; Begin for letter:= ’A’ to ’Z’ do write(letter:5); writeln; end; 例9-4 定义一个求三数中最大值的过程。 procedure largest (f1,f2,f3:integer; var ir: integer); var g:integer; procedure larger (n1,n2:integer; var r:integer); begin if n1n2 then r:=n1 else r:=n2; end; {larger} begin larger (f1,f2,g) ; {求出f1,f2中的最大值g} larger (g,f3,ir); {求出g,f3中的最大值Ir,作为f1,f2,f3中的最大值} end; {largest} 上面Largest的定义为过程说明,而Larger的定义为过程Largest的分程序部分的过程说明,即Larger为Largest的子程序说明。过程说明的第一行为过程首部,由保留字procedure开始,后接标识符为过程名,括号内为形式参数表。接下去是分程序部分,包括定义说明部分和一个由复合语句组成的过程体。 上述程序Largest有四个类型为整型的形式参数:f1,f2,f3和r, 前三个参数f1,f2,f3为调用者向被调用者传入的三个要求比较的整数,第四个参数Ir用来向调用者传送三数中最大值。调用过程Largest,就不再需要考虑它的实现细节, 只要
文档评论(0)