分享到新浪微博 分享到QQ空间 打印

[灌水] pascal函数和过程速查手册

pascal函数和过程速查手册

函数与过程的区别:
  函数不能做为语句单独使用,多出现在条件和:=(赋值号)的右边位置;
  过程无返回值,必须做为语句单独使用。
例如:
ABS(-5);             错
A:=ABS(-5);             对
FILLCHAR(W,SIXZEOF(W),0);      对
W:=FILLCHAR(W,SIXZEOF(W),0);    错
  Pascal把常用的一些运算定义为系统标准函数,简称为标准函数;标准函数的名字都是预定义标识符;引用一个函数就称为函数调用,调用时只要在程序中写出某一函数名以及函数所需要的参数,系统就会自动运算并得出结果,例如:abs(-123)将返回123。
  Pascal的标准函数共有17个,可分为四类:算术函数、转换函数、顺序函数及逻辑判断函数。
一、算术函数
(1)、函数名:ABS是英文单词absolute(绝对)的缩写,ABS(x)表示求x的绝对值
例如:PROGRAM EX;
   Var a:integer;b:real;
   BEGIN
    a=-34.5;
    b=234.5;
    write(abs(a):5:1,' ',abs(b):5:1); {将输出 34.5 234.5}
    readln;
   END.
(2)、反正切函数-ARCTAN:ARCTAN(x)表示求x的反正切函数值,返回值为real型
例如:PROGRAM EX;
   Var a:integer;b:real;
   BEGIN
    a=1;
    b=1.0;
    write(abs(a):6:4,' ',abs(b):6:4); {将输出 0.7854 0.7854}
    readln;  
   END.
(3)、余弦函数-COS、正弦函数-SIN:COS(x)表示求x的余弦值;SIN(x)表示求x的余弦值。
注:这里的x必须为弧度,不能直接使用角度单位的量。如果x为角度数,可以用后面的方式转换:x*3.14/180
(4)、指数函数-EXP、自然对数函数 -LN:EXP是英文单词exponent(指数)的缩写,EXP(x)表示求以e为底x为指数的函数值,即EX;LN是英文单词logarithrm(自然对数)的缩写,LN(x)表示求x的自然对数,即LOGeX
(5)、平方函数-SQR、正平方根函数-SQRT:SQR是英文单词square(平方)的缩写;SQRT是英文单词square root(平方根)的缩写
几点说明:Pascal中无幂运算,要求XY可以用后面的公式:XY=eYLNX  (X>0)
     求常用对数可用公式:logX=lnX/ln10。
     e≈2.71828
如:求三次根号下X,可以表示为EXP(1/3*LN(X))
二、类型转换函数
(1)、取整数函数-TRUNC:如TRUNC(7.8)的值为7,TRUNC(-6.1)的值为-6
(2)、四舍五入函数-ROUND:如ROUND(7.8)的值为8,ROUND(-6.1)的值为-6
(3)、序号函数-ORD:返回参数的对应的序号;若参数为字符,则返回其ASCII码(A的ASCII码为,a的ASCII码为97)值,如ORD('B')的值为66;若参数为BOOLEAN,则ORD(TRUE)的值为1,ORD(FALSE)的值为0
(4)、字符函数-CHR:返回序号所对应的字符,与ORD互为反函数;如CHR(66)的值为'B'
 注意TRUNC与ROUND的区别
三、顺序函数
(1)、前趋函数-PRED:返回参数的前一个数据,若参数为第一项,则函数无意义
(2)、后继函数-SUCC:返回参数的后一个数据,若参数为最后一项,则函数无意义
四、逻辑判断函数
(1)奇偶判断函数-ODD:判断参数的奇偶性,当参数为偶数时,函数值为FALSE;当参数为奇数时,函数值为TRUE
(2)、文件尾函数-EOF:判断文件位置指针是否指向文件结束符,是则为TRUE,反之为FALSE
(3)、行结束函数-EOLN:判断文件位置指针是否指向换行符符,是则为TRUE,反之为FALSE
五、与字符串相关的函数和过程
函数和过程名
功 能
说 明
CONCAL(ST1,...,STN)
将N个字符串连接起来
等效于ST1+...+ST2,是函数
COPY(S,M,N)
取S中第M个字符开始的N个字符
若M大于S的长度,则返回空串;否则,若M+N大于s的长度,则截断,是函数
LENGTH(S)
求s的动态的长度
返回值为整数,是函数
POS(SUB,S)
在S中找子串SUB
返回值为SUB在S中的位置,为byte型,是函数
UPCASE(CH)
将字母CH转换成大写字母
若CH不为小写字母,则不转换,是函数
INSERT(SOUR,S,M)
在S的第M个字符位置处插入子串SOUR
若返回串超过255,则截断,是过程
DELETE(S,M,N)
删除S中第M个字符开始的N个字符串
若M大于S的长度,则不删除;否则,若M+N大于S的长度,则删除到结尾,是过程
STR(X[:W[:D]],S)
将整数或实数X转换成字符串S
W和D是整型表达式,意义同带字宽的write语句,是过程
VAL(S,X,CODE)
将字符串S转换成整数或实数X
若S中有非法字符,则CODE存放非法字符在S中的下标;否则,CODE为零,CODE为整型,是过程
FILLCHAR(S,N,CH)
给S填充N个相同的CH
用于初始化数组或字符串,N常用SIZEOF(S)代替,是过程
注:关于字符串的几点说明
① 空串表示为'',其长度为0,不等于含有一个空格的串' ',它的长度为1;如:A:='';就是将A字符串置空
② fillchar可以用于字符串变量和任何类型数组变量的初始化,比如:
 fillchar(a,sizeof(a),0)  将整型数组a全置0
 fillchar(b,sizeof(b),true)  将布尔型数组b全置0
 fillchar(c,sizeof(c),'a')  将整型字符串c全置'a'
  其中sizeof是返回变量的空间,以变量的基类型为单位
谁不怀念苏联,谁就没有良心;谁想回到苏联,谁就没有头脑.

Woodu.ME--从零开始的博客生活

TOP