- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012-07-13###########商#丘#师#范2学0院1计2算-机07科-学1系3#毕#永#青###2#0#12-07-13########
[摘 要]在 Pascal表达式的计算过程中,经常用到函数,函数的调用在表达式中优先级高,计算时是按表达式的优先次序完成,但也
有特殊情况,本文通过实例加以说明。
[关键词]Pascal程序设计 表达式 函数调用
Pascal程序设计中,表达式可以是简单的常数、常量、变量、函数或
5 13 4
4 6 3
12 8
若把 16 语句改为 a:=q(z)*q(2),则输出结果是
它们之间的算术运算、逻辑运算、关系运算等。在写 Pascal表达式时要
注意以下几点:
1)所有表达式必须以线性形式写出,因此分子、分母、指数、下标等
都必须写在同一行上。
5
4
18
13 4
6 3
10
2)只能使用合法的标识符。
3)乘号必须用符号“*”明确指出,不得省略。
4)函数的自变量可以是任意表达式。且函数的自变量一定要写在
从上述例子中可以看出,函数调用不是完全按照表达式规则进行
括号中。
的,特殊情况必须特殊对待,16 语句的调用,就是先计算 q(z),然后再计 算 q(2)的。
5)为了指定运算的次序可以利用括号,且只有一种括号—圆括
号。
例 2:
已知三角形的两边 a、b 及夹角 α,求对边 c 及面积 s。然后求 a+5,
b+10,α+15° 时的 c 及 s。
程序如下:
01 PR O G R A M exam 2(Input,O utput);
02 V A R
03 a ,b,alfa,c,s:real;
04 PR O CED U R E cs(a,b,alfa:real;V A R c,s:real);
6)表达式按下列运算优先规则计算: a)有圆括号的先计算,有多层括号的,最内层括号先计算。 b)在同一表达式中的运算符按下列次序计算:
①函数
②N O T
③A N D ,*,/,D IV ,M O D
④O R ,+,-
⑤,=,=,,=,
05
06
07
08
09
BEG IN
A lfa:=alfa*3.14159/180;
C:=sqrt(a*a+b*b-2*a*b*cos(alfa));
S:=0.5*a*b*sin(alfa)
EN D ;
c)在同一子表达式中,同一优先级的运算按从左到右的次序进行。
下面通过实例说明在表达式中函数调用的特例。为了方便说明,在
每一行语句前都加上了行号:
例 1:
01 PR O G R A M exam (Input,O utput);
02 V A R a,x,y,z:Integer;
03 PR O CED U R E p(x,y:integer;V A R z:Integer);
10 BEG IN
11
12
13
14
15
16
17
R ead(a,b,alfa);
W riteln‘( a=’,a,’b=’,b’alfa=’,alfa);
Cs(a,b,alfa,c,s);
W riteln‘( c=’,c,’s=’,s);
Cs(a+5,b+10,alfa+15,c,s);
W riteln‘( a=’,a+5,’b=’,b+10,’alfa=’,alfa+15);
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
BEG IN Z:=y-x-z;
W riteln(x:3,y:3,z:3)
EN D ;
FU N CTIO N q(m :Integer):Integer;
BEG IN
Z:=z+m ;
Q :=Succ(m )
EN D ;
BEG IN
X :=4;y:=6;z:=3;p(5,x+y+z,x);
W riteln(x:3,y:3,z:3);
a:=q(2)*q(z);
W riteln(a:3,z:3)
EN D .
W riteln‘( c=’,c’s=’,s)
18 EN D .
本例程序同样是调用,但在这里用了过程,情况就不一样了,不妨
把过程定义为函数,结果就与例 1 相同了。
综上所述,在 Pascal表达式的计算过程中,函数调用有特殊情况。
参考文献
[1]陶龙芳等.全国计算机等级考试二级教程——Pascal语言程序 设计.高等教育出版社,1998 年 8 月.
[2]郑启华.PA SC A L 程序设计(第二版).清华大学出版社,2001 年
9 月.
[3]李光琳.PA SC A L 程序设计方法.四川大学出版社,1994 年 12 月.
该程序执行后,输出结果是
(上接第 251 页)
进入系统登录界面,根据身份的不同可以登录相应
为选择题、判断题、填空题,不同类型的试题在不同的选项卡中显
您可能关注的文档
最近下载
- 《七律二首 送瘟神》-中职语文高二同步课件精选(高教版2023·职业模块).pptx VIP
- 高考蓝皮书·物理试题分析2025.docx VIP
- 综合实践活动 开学第一课 2024-2025学年综合实践活动开学第一课课件.pptx VIP
- 高标准农田监理大纲方案投标文件(技术方案).doc
- 小儿过敏性休克抢救流程.pptx VIP
- 液压与气压传动技术完整整套教学课件.pdf VIP
- 技术标投标文件监理大纲.doc VIP
- 2025 年成都市三年级数学秋季开学摸底考 - 冲刺卷及答案(北师大版).docx VIP
- 最新2025年《初中初三开学第一课》全文.pptx VIP
- 姓氏的由来演讲课件(张姓).pptx VIP
文档评论(0)