pascal常用函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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')=5
6. 搜索子串的位置(函数)pos(s1,s2) 如果s1是s2的子串,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0。
例:pos('ab','12abcd')=3
7. 字符的大写转换。
(函数)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;
Begin
Writeln(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次方乘以x
log10
原型: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):Integer
function Max(a:Int64;b:Int64):Int64
function Max(a:Extended;b:Extended):Extended
功能:返回a与b中较大的一个
Min
原型:function Min(a:Integer;b:Integer):Integer
function Min(a:Int64;b:Int64):Int64
function 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):Integer
function maxvalue(const data:PFloat;const N:Integer):float
function maxvalue(const data:PInteger;const N:Integer):Integer
功能:返回数组中的最大值
MinValue
原型:function minvalue(const data:Array[] of float):float
function minvalue(const data:Array[] of Integer):Integer
function minvalue(const data:PFloat;const N:Integer):float
function MinValue(const Data:PInteger;const N:Integer):Integer
功能:返回数组中的最小值
sum
原型:function sum(const data:Array[] of float):float
function 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中。