- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数与过程分析
函数和过程 1、计算机程序设计和问题求解的基本思想是将一个复杂问题分解成更小、更简单的容易处理的子问题。为此提出了结构化程序设计思想 。 子程序是实现结构化程序设计的主要手段之一。 2、子程序:是指本身不能单独执行,需要其他程序调用才能执行的程序。如Pascal提供的标准函数和过程等。与子程序相对应的是我们所设计的程序称为主程序。 程序是从主程序开始执行的,通过主程序去调用子程序。 一个完整的Pascal程序可以包含一个主程序和若干个子程序。 子程序常见的两种形式:函数和过程 一、函数(把完成某种计算的子程序定义为函数,每调用 一次产生一个结果) 2、自定义函数:只能在定义它的程序中被调用。 一般定义形式: function 函数名(形式参数表):类型标识符; [局部变量说明部分] begin 语句; …… 语句 end; 1、标准函数:直接输入函数名和参数进行调用即可。可用在不同的程序中。可随时进行调用。 函数首部 函数体 例1:设计一个求累加和的函数。输入一个正整数,然后计算从1到此数的累加和。 Function sum(n:integer):integer; Var s,I:integer; Begin s:=0; for I:=1 to n do s:=s+I; sum:=s; end; 函数首部和函数体的说明见教材P76和P77 /a/ptgw/ 例如:要调用上面的函数,主程序如下: Var x:integer; begin readln(x); write(sum(x)); End. 3、函数调用 函数名(实在参数表) 详细说明见教材P77下和P78上 例2:计算如图示多边形的面积 b1 b2 b3 b4 b5 b6 b7 分析: 求五边形的面积可以变成求3个三角形面积之和。在这个程序中要计算三次三角形面积,为程序简单起见,可将计算三角形面积定义为函数,然后在主程序中调用3次,并相加得到五边形的面积。 三角形的面积可用海伦公式计算。 Function area(a,b,c:real):real; Var p:real; Begin p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c)); End; Var b1,b2,b3,b4,b5,b6,b7,s:real; Begin readln(b1,b2,b3,b4,b5,b6,b7); s:=area(b1,b5,b6)+area(b2,b6,b7)+area(b3,b4,b7); Writeln(‘s=‘,s:8:2); End. 二、过程 2、自定义过程一般定义形式:课本P81 procedure 过程标识符[(形式参数表)]; [变量说明部分] begin [语句部分] end; 过程首部 过程体 方括号内为可选部分 在过程首部的过程标识符之后若无可选部分, 称为无参过程;否则称为带参过程。 过程与程序有相同的块结构形式。 在过程说明中的说明部分可以对过程内使用的常量、变量、行号、类型、过程 和函数进行说明,但它们的作用范围(辖域)只能在过程内,离开过程后,其 所占的内存释放。另外,过程可以通过(形式参数表)与主程序交换信息,即 调用时可以使用不同数据替换这些参数。 1、标准过程:如读语句read( );写语句write( )等 procedure fiveline; var i:integer; begin for i:=1 to 5 do writeln end; procedure nlines(n:integer); var i:integer; begin for i:=1 to n do writeln end; 无参过程,输出5个空行 带参过程,输出n个空行 过程调用 过程名[(实在参数表)] 实在参数若有,是用逗号隔开的变量或表达式,他们必须 与形式参数顺序一一对应,个数相同,类型一致,而实参的名 字与形参取名无关 如:procedure lowterm(var n,d:integer); lowterm(n,d); lowterm(n+d); lowterm(n,n/d); 实参只有一个 第二个实参是实型,而对应的形参是整型 过程调用是一个独立的语句,当执行到该语句时,则将实参中的信息传送 给相应的形参(若有的话),然后转去执行过程说明中的语句,执行完毕 后返回到调用位置
您可能关注的文档
- 出口退税类测试题(全)新50分析.doc
- 出口退税类试题(一)分析.doc
- 出国购物退税全攻略血拼党省钱必备分析.docx
- 出境人员人身意外伤害保险(2014版)(定稿)分析.doc
- 模块七车削圆锥面a分析.ppt
- 出版物鉴别课件分析.ppt
- 出奇制胜的实战赢销宝典分析.ppt
- 模块五品类管理实施与回顾分析.ppt
- 出租车计费系统设计分析.doc
- 出纳实操学习情境三分析.ppt
- 2025届湖北省武汉市新洲区中考历史最后一模试卷含解析.doc
- 辽宁省丹东市第十四中学2025届中考冲刺卷生物试题含解析.doc
- 方兴大道承台砼施工技术交底.docx
- 江苏省扬州市田家炳实验中学2025届中考历史全真模拟试卷含解析.doc
- 2025届黑龙江省杜尔伯特县中考二模化学试题含解析.doc
- 海南省海口九中学海甸分校2025届中考生物模拟试卷含解析.doc
- 江苏省春城中学2025届中考生物全真模拟试卷含解析.doc
- 广东省广州市番禺区广博校2025届中考猜题历史试卷含解析.doc
- 安徽省合肥市重点中学2025届中考四模历史试题含解析.doc
- 河北省衡水市故城县2025届中考生物押题试卷含解析.doc
文档评论(0)