Pascal语言基础知识二.docx
《Pascal语言基础知识二.docx》由会员分享,可在线阅读,更多相关《Pascal语言基础知识二.docx(7页珍藏版)》请在冰豆网上搜索。
Pascal语言基础知识二
Pascal语言基础知识
(二)
(二)变量
变量代表了一个存储单元,其中的值是可变的,故称为变量。
即在程序运行过程中,其值可以改变的量,称为变量。
一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量(存贮单元)取一个名(称为变量名),该变量(存贮单元)存放的值称为变量的值,变量中能够存放值的类型为变量的类型。
变量有三个要素是:
变量名、变量类型、变量值。
1.变量名
用一个合法的标识符代表一个变量。
如n,m,rot,total等都是合法变量名。
在程序中用到的变量必须在说明部分加以说明,变量名应遵循自定义标识符的命名规则,并注意"见名知义"的原则,即用一些有意义的单词作为变量名。
"自定义标识符"的命名规则为:
自定义标识符必须以字母(包含下划线"_")开头,后面的字符可以是字母或数字。
标识符长度不超过63个字符。
不能是保留字和标准标识符。
2.变量的类型
常量是有类型的数据,变量在某一固定时刻用来存放一个常量,因此也应有相应的类型。
整型(integer)、实型(real)、字符型(char)、布尔型(boolean)。
3.变量说明
在程序中若要使用变量,变量的名称及类型在程序的变量说明部分加以定义,变量的值则在程序的执行部分中才能赋给。
变量说明的一般格式:
VAR
<变量标识符>[,<变量标识符>]:
<类型>;
其中VAR是pascal保留字,表示开始一个变量说明段,每个变量标识符或由逗号隔开的多个变量标识,必须在它的冒号后面说明成同一类型。
一个程序中,可以说明许多不同类型的变量,每种类型变量之间用分号隔开,共用一个VAR符号。
例如:
var
age,day:
integer;
amount,average:
real;
其中,Integer(整型)、Real(实型)是标准标识符,它们是"类型标识符",代表了确定的类型,如age和day被定义为整型变量,amount和average被定义为实型变量。
一旦定义了变量,就确定了它的类型,也就是说,就确定了该变量的取值范围和对该变量所能进行的运算。
(三)标准函数
1.算术函数
函数标识符 自变量类型 意义 结果类型
abs 整型、实型 绝对值 同自变量
arctan 整型、实型 反正切 实型
cos 整型、实型 余弦 实型
exp 整型、实型 指数 实型
frac 整型、实型 小数部分 实型
int 整型、实型 整数部分 实型
ln 整型、实型 自然对数 实型
pi 无自变量 圆周率 实型
sin 整型、实型 正弦 实型
sqr 整型、实型 平方 同自变量
sqrt 整型、实型 平方根 实型
例:
abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0
sin(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71
int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2
2.标准函数
函数标识符 自变量类型 意义 结果类型
odd 整型 判断奇数 布尔型
pred 离散类型 求前趋 同自变量
succ 离散类型 求后继 同自变量
例:
odd(1000)=false pred(2000)=1999 succ(2000)=2001
odd(3)=true pred('x')='w succ('x')='y'
3.转换函数
函数标识符 自变量类型 意义 结果类型
chr byte 自变量对应的字符 字符型
ord 离散类型 自变量对应的序号 longint
round 实型 四舍五入 longint
trunc 实型 截断取整 longint
例:
chr(66)='B' ord('A')=65 round(-4.3)=-5 trunc(2.88)=2
注:
TRUNC是去掉小数部分,变为整数。
ROUND是将小数部分四舍五入后变为整数。
例:
TRUNC(1.2)=1ROUND(1.2)=1
TRUNC(1.7)=1ROUND(1.7)=2
TRUNC(-3.7)=-3ROUND(-3.7)=-4
4.杂类函数
函数标识符 自变量类型 意义 结果类型
random 无自变量 [0,1间的随机实数 real
random word [0,自变量间的随机整数) word
randomize 无自变量 初始化内部随机数产生器 longint
upcase 字符型 使小写英文字母变为大写 字符型
downcase 字符型 使小写英文字母变为大写 字符型
(四)运算符和表达式
1.运算符和优先级
(1)运算符
a.算术运算符
运算符 运算 运算对象 结果类型
+ 加 整型、实型 只要有一个运算对象是实型,结果就
- 减 整型、实型 是实型,如果全部的运算对象都是整
* 乘 整型、实型 型并且运算不是除法,则结果为整型,
/ 除 整型、实型 若运算是除法,则结果是实型。
div 整除 整型 整型
mod 取余 整型 整型
例如:
8DIV3=28MOD3=2
7DIV3=27MOD3=1
6DIV3=26MOD3=0
b.关系运算符
运算符 运算 运算对象 结果类型
= 等于 简单类型 布尔型
<> 不等于 简单类型 布尔型
< 小于 简单类型 布尔型
> 大于 简单类型 布尔型
<= 小于等于 简单类型 布尔型
>= 大于等于 简单类型 布尔型
c.逻辑运算符
运算符 运算 运算对象 结果类型
not 逻辑非 布尔型 布尔型
and 逻辑与 布尔型 布尔型
or 逻辑或 布尔型 布尔型
xor 逻辑异或 布尔型 布尔型
设有两个布尔变量a和b以上定义可以用下表给出:
A
B
NOTA
AANDB
AORB
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
xor
异或,二进制运算.可逆运算.1xor1=0,0xor0=0,1xor0=1,0xor1=1.
axorb的运算方法:
将a,b转化为2进制数,再进行对比,每个数位上的0或1如果相同,那么结果就取0,如果不同就取1,将得到的结果转化为原来进制的数,就是结果.一句话:
只有当两个不相等时才为真。
在oi中,常用于位运算
当逻辑运算的对象是数字时,应该先转化为2进制数,在进行运算。
1表示真,0表示假。
例如:
1、在Pascal语言中,表达式(23or2xor5)的值是()。
A.18B.1C.23D.32
2、在Pascal语言中,表达式(21xor2)的值是( )
A.441 B.42 C.23 D.24
(2)优先级
运算符 优先级
not 1(高)
*,/,div,mod,and 2
xor,+,-,or 3
in,=,<>,>=,<=,<> 4(低)
2.表达式
(1)算术表达式:
算术表达式是由算术运算符连接常量、变量、函数的式子。
算术表达式中各个运算符的次序为:
()-->函数-->*,/,div,mod-->+,1
(2)布尔表达式:
TurboPascal提供给布尔表达式以下基本操作:
逻辑运算和关系运算。
(3)数学上的表达式与pascal语言表达式的区别
数学表达式 PASCAL表达式 注意
2a 2*a *号不能省略
a÷b a/b 除号的写法
a≠b a<>b 不等号的写法
a≤b a<=b 小于等于号的写法
思考与练习:
1、熟记Pascal的保留字和标准标识符,明确自定义标识符的定义要点。
2、取整函数int与截断取整函数trunc有什么区别?
举例说明。
3、判断以下标识符的合法性:
a3 3a a17 abcd ex9.5 α β λ
4、将下列的数学表达式改写成PASCAL表达式:
b^2-4ac
5、求下列表达式的值:
20mod19 15mod9
7div8 19div3
(4>5) and (7<8)
(8>9) or (9<10)
(2>1) and ((3=3) or (3<7))
6、设A=true,B=false,C=false,D=true,以下逻辑运算表达式值为真的有()。
A.(A∧B)∨(C∧D)
B.((A∧B)∨C)∧D
C.A∧((B∨C)∨D)
D.(A∧(B∨C))∨D
E.(A∨B)∧(C∨D)
7、设A=B=D=true,C=E=false,以下逻辑运算表达式值为真的有()。
A.(A∧B)∨(C∧D)∨EB.(((A∧B)∨C)∧D∧E)
C.A∧(B∨C∨D∨E)D.(A∧(B∨C))∧D∧E
8、在pascal语言中,判断整数a等于0或b等于0或c等于0的正确的条件表达式是()
A.not((a<>0)or(b<>0)or(c<>0))
B.not((a<>0)and(b<>0)and(c<>0))
C.not((a=0)and(b=0))or(c<>0)
D.(a=0)and(b=0)and(c=0)
E.not((a=0)or(b=0)or(c=0))
9、填充:
若a:
=9.0,则spr(a)=sqr(-a)=
若a:
=9.0,则sprt(a)=sqrt(121)=
若a:
=3.1416/6,则sin(a)=cos(a)=
若a:
=9.123,则trunc(a)=trunc(-a)=
则int(a)=int(-a)=
若a:
=9.123,则round(a)=round(-a)=
若x=9,则pred(x)=succ(x+6)=
若x=10,则odd(x)=odd(xmod4)=