Pascal常用函数PASCAL内自带的函数,通常可以直接调用,特殊的需要调用数据库,如:used math一、标准函数二、数学函数与过程三、字符类型函数四、字符串函数与过程五、布尔类型函数六、math单元的函数与过程一、标准函数标准函数。
Turbo Pascal语言提供了自变量为整型量的标准函数有顺序函数算术函数和转换函数等。
标准函数是Turbo Pascal语言预先定义的,它们实际上是能完成特定功能的称步子程序的程序段。
每个标准函数都用一个标识符来标识,每个标准函数都能完成一个特定的功能,在程序中可以直接调用它们。
Turbo Pascal语言中某些标准函数与数学中的函数有相似之处。
1、整数类型函数整型是顺序类型,即所有的整型数都是按一定的顺序排列的。
如3的后序数是4,350的后序数是351。
以后介绍的布尔型、字符型、枚举类型和子界类型等都是顺序类型。
顺序函数可以对顺序类型数据进行操作,但要注意它们自变量的取值范围。
①前趋函数:Pred(x)函数值为x-l,例如:Pred (6)=5 Pred (-21)=-22②后继函数:Succ (x)函数值为x+l,例如:Succ (l5)=16 Succ (-114)= -113③绝对值函数:Abs (x)函数值为|X|,例如:Abs (-119)=119 Abs (101)=101④平方函数:Sqr (x)函数值为X*X,例如:Sqr (-5)=25 Sqr (l0)= 100以上四个函数的结果仍是整型数。
⑤奇函数:Odd (x),函数的结果为布尔型。
当X为奇数时,函数值为true;当X为偶数时,函数值为false,例如:Odd (13)= True Odd (16)= False⑥字符函数:Chr (X),函数值是序号的ASCII字符,属字符型,例如:Chr (65)=‟A‟ Chr (66)=‟B‟2、实数类型函数在下列算术函数中,X可以是实型或整型数的表达式。
对于函数Abs和Sqr,其结果类型和变量X的类型相同,其他算术函数的结果类型都是实型。
绝对值函数Abs(x):函数值为x的绝对值。
平方函数Sqr (x):函数值为x的平方。
小数函数Frac (x):函数值为x的小数部分。
整数函数Int (x):函数值为x的整数部分。
正弦函数Sin (x):函数值为x的正弦,其中,的单位为弧度。
余弦函数Cos (x):函数值为x的余弦,其中,的单位为弧度。
指数函数Exp (x):函数值为e^x。
对数函数Ln (X):函数值为x的自然对数。
平方正根根函数的Sqrt (x):函数值为x的平方正根。
注意:sqrt的值参x即使是整数,返回值也是实数。
如果要取整,要用函数trunc(在“数学函数与过程”里已经说明,这里不再说明)反正切函数Arctan(x):函数值为x的反正切,单位为弧度。
随机函数Random:无自变量时,函数值取(0,1)间的随机小数;有自变量且为Word类型时,函数值取(0,自变量)间的随机整数。
二、数学函数与过程过程:inc(i) 使i:=i+1;inc(i,b) 使i:=i+b;dec(i) 使i:=i-1;dec(i,b) 使i:=i-b;randomize 随机数的种子函数,在每次设置随机数时都要把这个函数放在最前面。
函数:abs(x) 求x的绝对值。
例:abs(-3)=3 x为整数chr(x) 求编号x对应的字符。
例:chr(65)='A' chr(97)='a' chr(48)='0' x为非负整数ord(x) 求字符x对应的编号。
例:ord(…A')=65 ord(…a')=97 另外:ord(false)=0 ord(true)=1 x为字符或数字或布尔量sqr(x) 求x的平方。
例:sqr(4)=16 x为整数sqrt(x) 求x的正根。
例:sqrt(16)=4 (ps:负数是不能进行运算的,如果需要就要先取绝对值:sqrt(-4)是错的,应该为sqrt(abs(-4))结果为实数round(x) 求x的四舍五入。
例:round(4.5)=5 x实数trunc(x) 求x的整数部分。
例:trunc(5.6)=5 结果是integer型x为实数int(x) 求x的整数部分。
例:int(5.6)=5.0 结果是real型x为实数frac (x) 求x的小数部分。
例:frac(5.6)=0.6 x为实数pred(x) 求x的前导。
例:pred(…b')='a' pred(5)=4 pred(true)=false x为字符或数字或布尔量succ(x) 求x的后继。
例:succ(…b')='c' succ(5)=6 succ(false)=true x为字符或数字或布尔量odd(x) 判断x是否为奇数。
如果是值为true,反之值为false。
例:odd(2)=false odd(5)=true x 为整数power(a,n) 求a的n次方。
例:power(2,3)=8 {只有在开启math库时才可以使用}a,n为整数,但是不能求高精度数random(n) 取0~n-1之间的随机数(不能取到n) 。
n为整数max(x,y):返回x和y中的较大值。
x,y整数min(x,y):返回x和y中的较小值。
x,y整数三、字符类型函数Pascal语言提供如下自变量为字符型的标准函数,其中Chr为字符型。
后继函数Succ (ch):例如,Succ (‟8‟)='9‟ Succ (‟E‟)='F‟对字符集的最后一个字符,Succ函数无意义。
前趋函数Pred (ch):例如,Pred (‟7‟)='6‟ Pred (‟B‟)=' A‟序数函数Ord (ch)::给出字符ch在ASCII字符集中的序号,结果为整型。
注意:Ord (‟7‟)<>7,正确的是:Ord (‟7‟)=Ord(‟0‟)+7=48+7=55若ch是数字字符,则Ord (ch)-Ord ('0')是该数字字符的数值,例如:Ord (‟7‟)-Ord(‟0‟)=7 前面介绍的字符函数Chr (i)是Ord (ch)的逆函数,例如:Chr (55)= ‟7‟ Chr (Ord(‟A‟))='A‟四、字符串函数与过程1. 连接运算(函数)concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn。
例:concat('11','aa')='11aa';2. 求子串。
(函数)Copy(s,I,L) 从字符串s中截取第I个字符开始,长度为L的子串。
例:copy('abdag',2,3)='bda'3. 删除子串。
(过程)Delete(s,I,l) 从字符串s中删除第I个字符开始,长度为l的子串。
例:s:='abcde';delete(s,2,3);结果s:='ae'4. 插入子串。
(过程)Insert(s1,s2,I) 把s1插入到s2的第I个位置。
例:s:='abc';insert('12',s,2);结果s:='a12bc'5. 求字符串长度(函数)length(s) 。
例:length('12abc')=56. 搜索子串的位置(函数)pos(s1,s2) 如果s1是s2的子串,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0。
例:pos('ab','12abcd')=37. 字符的大写转换。
(函数)Upcase(ch) 求字符ch的大写体。
例:upcase('a')='A'8. 数值转换为数串。
(过程)Str(x,s) 把数值x化为数串s。
例:str(12345,s); 结果s='12345'9. 数串转换为数值。
(过程)val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数。
例:val('1234',x,I);结果x:=1234五、布尔类型函数Pascal语言提供布尔型函数主要是几个字符型函数。
Ord (B) 例如:Ord (false)=0 Ord (true)=1。
六.math库单元在FP中,Math库为我们提供了丰富的数学函数。
以下介绍在OI中可能会用到的Math库中一些函数、过程。
使用方法:在程序头用Uses语句加载Math库例子:Program Ex_Math;Uses Math;BeginWriteln(hypot(3,4));End.函数介绍:hypot原型:function hypot(x:float;y:float):float功能:返回直角三角形中较长边的长度,也就是sqrt(sqr(x)+sqr(y)) ceil原型:function ceil(x:float):Integer功能:返回比参数大的最小整数引发错误:在x超出Integer的范围时会引发溢出错误floor原型:function floor(x:float):Integer功能:返回参数小的最大整数引发错误:在x超出Integer的范围时会引发溢出错误power原型:function power(base:float;exponent:float):float功能:返回base的exponent次方引发错误:在base为负数且exponent为小数时intpower原型:function intpower(base:float;const exponent:Integer):float功能:返回base的exponent次方ldexp原型:function ldexp(x:float;const p:Integer):float功能:返回2的p次方乘以xlog10原型:function log10(x:float):float功能:返回x的常用对数log2原型:function log2(x:float):float功能:返回x以2为底的对数logn原型:function logn(n:float;x:float):float功能:返回x以n为底的对数Max原型:function Max(a:Integer;b:Integer):Integerfunction Max(a:Int64;b:Int64):Int64function Max(a:Extended;b:Extended):Extended功能:返回a与b中较大的一个Min原型:function Min(a:Integer;b:Integer):Integerfunction Min(a:Int64;b:Int64):Int64function Min(a:Extended;b:Extended):Extended功能:返回a与b中较小的一个arcsin原型:function arcsin(x:float):float功能:返回x的反正弦值,返回的是弧度指单位arccon原型:function arccon(x:float):float功能:返回x的反余弦值,返回的是弧度指单位tan原型:function tan(x:float):float功能:返回x的正切值,x以弧度为单位cotan原型:function cotan(x:float):float功能:返回x的余切值,x以弧度为单位arcsinh原型:function arcsinh(x:float):float功能:返回双曲线的反正弦arccosh原型:function arccosh(x:float):float功能:返回双曲线的反余弦arctanh原型:function arctanh(x:float):float功能:返回双曲线的反正切sinh原型:function sinh(x:float):float功能:返回双曲线的正弦cosh原型:function sinh(x:float):float功能:返回双曲线的正弦tanh原型:function sinh(x:float):float功能:返回双曲线的正切cycletorad原型:function cycletorad(cycle:float):float功能:返回圆的份数转换成弧度之后的值degtorad原型:function degtorad(deg:float):float功能:返回角度转换成弧度之后的值radtocycle原型:function radtocycle(rad:float):float功能:返回弧度转换成圆的份数之后的值radtodeg原型:function radtodeg(rad:float):float功能:返回弧度转换成角度之后的值MaxValue原型:function maxvalue(const data:Array[] of float):float function maxvalue(const data:Array[] of Integer):Integerfunction maxvalue(const data:PFloat;const N:Integer):floatfunction maxvalue(const data:PInteger;const N:Integer):Integer功能:返回数组中的最大值MinValue原型:function minvalue(const data:Array[] of float):floatfunction minvalue(const data:Array[] of Integer):Integerfunction minvalue(const data:PFloat;const N:Integer):floatfunction MinValue(const Data:PInteger;const N:Integer):Integer功能:返回数组中的最小值sum原型:function sum(const data:Array[] of float):floatfunction sum(const data:PFloat;const N:LongInt):float功能:求数组中所有数之和sumsandsquares原型:procedure sumsandsquares(const data:Array[] of float;var sum:float; var sumofsquares:float)procedure sumsandsquares(const data:PFloat;const N:Integer;var sum:float;var sumofsquares:float)功能:将数组中的数求和方如num中,求平方和放入sumofsquares中。