第一范文网 - 专业文章范例文档资料分享平台

6 Pascal语言基础

来源:用户分享 时间:2025/6/1 13:16:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

计算机奥赛课外小组活动教案: Pascal语言基础

Pascal语言中的运算符及其优先级

单目运算符 (最高优先级)

@ 取变量或函数的地址(返回一个指针) not 逻辑取反或按位取反

乘除及按位运算符

* 相乘或集合交集 / 浮点相除 div 整数相除

mod 取模 (整数相除的余数)

as 程序运行阶段类型转换 (RTTI运算符) and 逻辑或按位求和 shl 按位左移 shr 按位右移

加减运算符

+ 相加、集合并集、字符串连接或指针增加一个偏移量 - 相减、集合差集或指针减少一个偏移量 or 逻辑或按位或运算 xor 逻辑或按位异或运算

关系及比较运算符(最低优先级)

= 判断是否相等 <> 判断是否不相等 < 判断是否小于 > 判断是否大于

<= 判断是否小于或等于,或是否是一个集合的子集 >= 判断是否大于或等于,或是否是一个集合的父集 in 判断是否是集合成员

is 判断对象是否类型兼容 (又一个RTTI运算符)

具体优先顺序: ⑴括号内先算

- 9 -

计算机奥赛课外小组活动教案: Pascal语言基础

⑵函数

⑶运算符优先顺序

⑷同级运算按从左到右的次序。 注意:

1、与大多数编程语言相反,Pascal语言中and和or运算符的优先级比关系运算符高。因此,如果你的代码为a < b and c < d,编译器首先会编译and运算符,由此导致编译出错。为此你应该把每个 < 表达式用小括号括起来: (a < b) and (c < d)。 2、 同一种运算符用于不同数据类型时它的作用不同。例如,运算符 + 可以计算两个数字的和、连接两个字符串、求两个集合的并集、甚至给PChar 指针加一个偏移量。然而,你不能象在C语言中那样将两个字符相加。

3、 另一个特殊的运算符是 div。在Pascal 中,你能用 / 计算两个数字(实数或整数)的商,而且你总能得到一个实型结果。如果计算两个整数的商并想要一个整型结果,那么就需要用 div 运算符。

例如:把下列算式改写成 PASCAL表达式:

改写为 PASCAL表达式为: (x*x+3*y-5*(z-2))/(x-y*y) 从上例中可以看出:

? ? ? ? ? ?

运算符两端,除实型和整数型外不允许为两种不同的数据类型。 PASCAL表达式中没有分式,只能以除号“ /”来隔开; PASCAL表达式中的分子与分母应该用括号括开;

PASCAL表达式中只有小括号,不能有中括号或大括号,小括号可以有很多层; PASCAL表达式中没有乘幂,只能用乘法来表达;

PASCAL*表达式中任意两个常量、变量、数值、括号、函数之间都必须不能缺省运算符,即乘号必不可少;

这些要求希望大家记熟,这是我们编写 PASCAL程序的必要基础。

表达式的数据类型根据它的值来划分。(所以表达式分为算术表达式、字符表达式、布尔表达式) 6、标准函数的使用。

- 10 -

计算机奥赛课外小组活动教案: Pascal语言基础

PASCAL语言提供数量非常大的标准函数供我们使用,这些函数有些可以直接调用,有些放在另外的单元( UNIT)中。 PASCAL也提供了大量的标准过程,和标准函数一样供用户直接或间接调用。

如果一个函数或过程不在 SYSTEM(即默认调用的单元)中,而在其它单元中话,即在程序头部的第一行正式行中加上 USES 单元名;如,如果要使用 CLRSCR(清屏过程,在 DOS单元中)的话,就必须在程序头部加上: USES DOS;

函数的调用:如: A: =ABS( -34),即把 -34的绝对值赋给变量 A;(注意:函数只能出现在表达式中,即赋值语句中)。此时: A的数据类型与括号中的参数 -34是一致的。函数的语法中都会说明,这个函数的参数的类型及这个函数的值(结果)的类型。 过程的调用:过程即命令,如: CLRACR; 程序运行结果是清屏。 常用标准函数与过程很多,这里只列出最常用的几个。

标准函数 函数名 Abs Chr Copy Cos Exp Int Length Ln odd ord random round sin sqrt trunc 语法 说明 Abs 返回参数 R的绝对值,类型与参数相同 ( r:real/integer) :real/integer chr ( i: integer): char 返回参数所对应的 ASCII码值,类型为 CHAR Copy(s:string;n,m:integer):string 返回字串 S的第 N个字符开始的 M个字符 Cos(r:real):real Exp(r:real):real Int(r:real):real Length(s:string):integer Ln(r:real):real Odd(I:integer):boolean Ord(s:scalar):integer Random Round(r:real):longint Sin(r:real):real sqrt(r:real):real Trunc(r:real):integer 返回参数 R的余弦值 返回参数 R的以 e为底的幂 返回参数 R的整数部分,返回的值是实数类型 返回字串 S的长度 返回参数 R的自然对数 判断参数 I是否奇数,如是,则返回 TRUE 返回任意有序量的序值 返回 0至于间的任意一个小数(随机数) 返回参数 R的四舍五入取整值 返回参数 R的正弦值 返回参数 R的平方根 返回参数 R的整数部分,返回的值是整数类型 标准过程 过程名

语法 说明 - 11 -

计算机奥赛课外小组活动教案: Pascal语言基础

Delay (CRT 单元 ) Delete Exit Delay(ms:word) Delete(s:string;n,m:integer) Exit 延迟发声 MS毫秒 把串 S中的第 N个字符开始的 M个字符删除 从当前执行的程序中退出 把光标定位到第 X列 Y行处 中断程序的运行 关闭机器喇叭 让机器喇叭发出频率为 F的声音,直到 nosound 把数值 I转换为字符串 S 把字符串 S转换为数值 R,并返回错误代码 C Gotoxy (CRT 单Gotoxy(x,y:integer) 元 ) halt nosound Sound (CRT 单元 ) str val Halt Nosound Sound(f:word) Str(I:integer;var s:string) Val(s:string;var r:real;var c:word)

练习题:

一、判断以下标识符的合法性:

a3 3a a17 abcd ex9.5 α β λ 二、将下列的数学表达式改写成PASCAL表达式: b^2-4ac 三、求下列表达式的值:

20 mod 19 15 mod 9 7 div 8 19 div 3 (4>5) and (7<8) (8>9) or ( 9<10)

2 and ((3=3) or (3<7)) 31 div (5 mod 2) 31 div 5 mod 2 31 /5 div 2

四、把下列算式改写为 PASCAL表达式:

- 12 -

搜索更多关于: 6 Pascal语言基础 的文档
6 Pascal语言基础.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c73w1q7esyp8mqar1rx90_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top