Pascal常用的算术标准函数2009年12月05日 星期六 下午 07:11 一、数学函数: inc(i) 使i:=i+1; inc(i,b) 使i:=i+b; dec(i) 使i:=i-1; dec(i,b) 使i:=i-b; abs(x) 求x的绝对值 例:abs(-3)=3 chr(x) 求编号x对应的字符。例:chr(65)='a' chr(97)='a' chr(48)='0' ord(x) 求字符x对应的编号。例:ord(‘a')=65 ord(‘a')=97 另外:ord(false)=0 ord(true)=1 sqr(x) 求x的平方。 例:sqr(4)=16 sqrt(x) 求x的正根. 例:sqrt(16)=4 (ps:负数是不能进行运算的,如果需要就要先取绝对值:sqrt(-4)是错的,应该为sqrt(abs(-4)) round(x) 求x的四舍五入 例:round(4.5)=5 trunc(x) 求x的整数部分 例:trunc(5.6)=5 结果是integer型 int(x) 求x的整数部分 例int(5.6)=5.0 结果是real型 frac (x) 求x的小数部分 例 frac(5.6)=0.6 pred(x) 求x的前导 pred(‘b')='a' pred(5)=4 pred(true)=false succ(x) 求x的后继 succ(‘b')='c' succ(5)=6 succ(false)=true odd(x) 判断x是否为奇数。如果是值为true,反之值为false. odd(2)=false odd(5)=true power(a,n) 求a的n次方 power(2,3)=8 {只有在开启math库时才可以使用} random 取0~1之间的随机数(不能取到1) randomize 随机数的种子函数,在每次设置随机数时都要把这个函数放在最前面. fillchar(a,size(a),0) 数组初始化,即把数组a的值全部置为0 ;赋成布尔型变量也可以,但注意,赋成1或其他数字,计算机并不会把数组赋成你想要的值,却是其他的数字 shr: x shr n 把x换成二进制后向右移n位,相当于把x 除以 2^n shl: x shl n 把x换成二进制后向左移n位,相当于把x 乘以 2^n pascal标准函数2009-10-31 21:14 pascal标准函数
一、变量改变:
1、inc(i) 使用后I:=I+1; Inc(I,b)使用后I:=I+b;
2、Dec(i) ;使用后I:=I-1;dec(I,b)使用后I:=I-b;
3、求x的绝对值 Abs(x) 例:abs(-3)=3
二、数学计算方面:
1、求x的平方 Sqr(x) 例:sqr(4)=16
2、求x的开方 Sqrt(x) 例:sqrt(16)=4
3、求x的四舍五入round(x) 例:round(4.5)=5
4、求x的整数部分trunc(x) 例:trunc(5.6)=5 结果是integer型
5、求x的整数部分int(x) 例int(5.6)=5.0 结果是real型
6、求x的小数部分frac (x) 例 frac(5.6)=0.6
7、求a的n次方 power(a,n) 例power(2,3)=8
8、random 取0~1之间的随机数(不能取到1)
9、randomize 随机数的种子函数,在每次设置随机数时都要把这个函数放在最前面 ,randomize(4800)+200 可以取互200至5000之间的整数。
10、Fillchar(a,size(a),0) 数组初始化,即把数组a的值全部置为0
三、字符处理
1、求编号x对应的字符Chr(x) 例:Chr(65)=’A’ chr(97)=’a’ chr(48)=’0’
2、字符x对应的编号Ord(x) 例:ord(‘A’)=65 ord(‘a’)=97 另外:ord(false)=0 ord(true)=1
3、 pred(x) 求x的前趋 pred(‘b’)=’a’ pred(5)=4 pred(true)=false
4、succ(x) 求x的后继 succ(‘b’)=’c’ succ(5)=6 succ(false)=true
5、odd(x) 判断x是否为奇数。如果是值为true,反之值为false. Odd(2)=false odd(5)=true
6、SHR: x SHR n 把x换成二进制后向右移n位,相当于 把x 除以 2n
7、SHL: x SHL n把x换成二进制后向左移n位,相当于 把x 乘以 2n
四、字符串函数
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函数与运算符2009-12-07 19:38 一、 函数 1. ABS(x) 求x的绝对值 ABS(5)=5,ABS(-5)=5;ABS(0)=0 ABS(-10)= 10 ABS(10)= 10 ABS(98)=98 ABS(-100)=100 2. SQR(X)求X的平方 SQR(5)=25, SQR(9)=81; SQR(8)=64 SQR(100)=10000 SQR(-7)= 49 SQR(0)= 0 3. SQRT(X) 求X的平方根 SQRT(16)=4, SQRT(49)=7 SQRT(81)=9 SQRT(100)=10 SQRT(0)=0 4.PRED(X) 求X的前趋值 PRED(6)=5 PRED(‘D’)=’C’ PRED(9)=8 PRED(‘r’)=’q’ PRED(FALSE)=TRUE 假 真 5.SUCC(X)求X的后继值 SUCC(6)=7 SUCC(’E’)=’F’ SUCC(3)= 4 SUCC(‘P’)=’Q’ SUCC(TRUE)=FALSE 6.ORD(X)求X的序号 ORD(‘0’)=48 ORD(‘A’)=65 ORD(‘a’)=97 ORD(‘f’)=102 字符 ASCII值 0 48 1 49 A 65 B 66 a 97 b 98 7.CHR(X)求序号为X的字符 CHR(50)= ‘2’ CHR(68)=’D’ CHR(99)=’c’ 8.ODD(X) 奇函数, X为奇数时为TRUE, X为偶数时为FALSE; ODD(5)=TRUE, ODD(8)=FALSE; ODD(100)= FALSE ODD(91)= TRUE 二、 求出下列表达式的值 运算顺序(*、 /、 div 、 mod), ( +、 -) 乘、除、整除、 求余、 加、减 3*2=6 6/2=3 0/2=0 9 div 2=4 17 div 5=3 -19 div 5=-3 -19 div (-5)=3负负得正 19 div (-5)=-3 异号得负 8 mod 3=2 17 mod 9=8 9 mod 18=9 -9 mod 4=-1 9 mod (-4)= 1 (-9) mod (-4)=-1 余数的正负号与被除数的正负相同。 2 div 4= 0 4 div 2=2 10 DIV 3=3 10 MOD 3=1 1.17 div 3=5 2. 17 mod 3=2 3. 17/2=8.5 4. 5*6 div 3= 10 5. 10-8 mod 3*4= 2 6. 20+3*4=32 7. 13*6-8 div 3 =78-2=76 运算顺序:同一级别:*、\、DIV、MOD; 同一级别:+、- Pascal函数大全2009-11-17 18:53 Pascal函数大全 一、数学函数:
Inc(i) 使i:=i+1;
Inc(I,b) 使I:=I+b;
dec(i) 使i:=i-1;
dec(I,b) 使I:=I-b;
Abs(x) 求x的绝对值 例:abs(-3)=3
Chr(x) 求编号x对应的字符。例:Chr(65)=’A’ chr(97)=’a’ chr(48)=’0’
Ord(x) 求字符x对应的编号。例:ord(‘A’)=65 ord(‘a’)=97 另外:ord(false)=0 ord(true)=1
Sqr(x) 求x的平方。 例:sqr(4)=16
Sqrt(x)求x的正根. 例:sqrt(16)=4 (PS:负数是不能进行运算的,如果需要就要先取绝对值:sqrt(-4)是错的,应该为sqrt(abs(-4))
round(x) 求x的四舍五入 例:round(4.5)=5
trunc(x) 求x的整数部分 例:trunc(5.6)=5 结果是integer型
int(x) 求x的整数部分 例int(5.6)=5.0 结果是real型
frac (x)求x的小数部分 例 frac(5.6)=0.6
pred(x) 求x的前导 pred(‘b’)=’a’ pred(5)=4 pred(true)=false
succ(x) 求x的后继 succ(‘b’)=’c’ succ(5)=6 succ(false)=true
odd(x) 判断x是否为奇数。如果是值为true,反之值为false. Odd(2)=false odd(5)=true
power(a,n) 求a的n次方 power(2,3)=8 {只有在开启math库时才可以使用}
random 取0~1之间的随机数(不能取到1)
randomize 随机数的种子函数,在每次设置随机数时都要把这个函数放在最前面.
Fillchar(a,size(a),0) 数组初始化,即把数组a的值全部置为0 {赋成布尔型变量也可以}
SHR: x SHR n 把x换成二进制后向右移n位,相当于 把x 除以 2n
SHL: x SHL n把x换成二进制后向左移n位,相当于 把x 乘以 2n
二、字符串函数
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
三、标准函数
标准函数。Turbo Pascal语言提供了自变量为整型量的标准函数有顺序函数算术函数和转换函数等。
标准函数是Turbo Pascal语言预先定义的,它们实际上是能完成特定功能的称步子程序的程序段。每个标准函数都用一个标识符来标识,每个标准函数都能完成一个特定的功能,在程序中可以直接调用它们。Turbo Pascal语言中某些标准函数与数学中的函数有相似之处。
一、整数类型函数
整型是顺序类型,即所有的整型数都是按一定的顺序排列的。如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)函数值为X2,例如:
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 (32)=’ ’
二、实数类型函数
在下列算术函数中,X可以是实型或整型数的表达式。对于函数Abs和Sqr,其结果类型和变量X的类型相同,其他算术函数的结果类型都是实型。
绝对值函数Abs(x):函数值为x的绝对值
平方函数Sqr (x):函数值为x的平方
小数函数Frac (x):函数值为x的小数部分
整数函数Int (x):函数值为x的整数部分
正弦函数Sin (x):函数值为x的正弦,其申,的单位为弧度
余弦函数Cos (x):函数值为x的余弦,其中,的单位为弧度
指数函数Exp (x):函数值为了ex
对数函数Ln (X):函数值为x的自然对数
平方正根根函数的Sqrt (x):函数值为x的平方正根
反正切函数Arctan(x):函数值为x的反正切,单位为弧度
随机函数Random:无自变量时,函数值取(0,1)间的随机小数;有自变量且为Word类型时,函数值取(0,自变量)间的随机整数。
三、字符类型函数Turbo 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’
三、布尔类型函数
Turbo Pascal语言提供布尔型函数主要是几个字符型函数。
Ord (B) 例如:Ord (false)=0 Ord (true)=1
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
4.杂类函数
函数标识符 自变量类型 意义 结果类型
random 无自变量 [0,1间的随机实数 real
random word [0,自变量间的随机整数) word
randomize 无自变量 初始化内部随机数产生器 longint
upcase 字符型 使小写英文字母变为大写 字符型
downcase 字符型 使小写英文字母变为大写 字符型
SYSTEM TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。
DOS 具有日期、时间、目录查找、程序执行等功能
CRT 具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等 功能
PRINTER 支持打印输出操作。
GRAPH 高级图形软件包,支持多种图形适配器。
GRAPH3 实现TP3.0的图形软件包。
TURBO3 兼容TP3.0的源程序。
OVERLAY 实现高级覆盖管理
SYSTEM单元常用过程与函数
ABS(X) F 求变量的绝对值
ADDR(X) F 测变量地址
APPEND(F) P 打开一个存在的文本文件,并将文件指 针指向文件末尾准备添加元素
ARCTAN(X) F 反正切
ASSIGN(F,C) P 将字符串C所表示的外部文件名赋给文 件变量F
ASSIGNED(X) P 测试程序当中的指针或变量是否为空
BLOCKREAD(F,D,NUM) P 读类型文件。
BLOCKWRITE(F,D,NUM) P 写无类型文件
BREAK P 中止或结束循环
CHDIR(PATH) P 改变当前目录
CHR(X) F 求ASCII码值为X的字符
CLOSE(F) P 关闭文件
CONCAT(S1,S2...S3) F 字符串合并
CONTINUE P 继续循环
COPY(S,POS,LEN) F 返回一个字符串的子串
COS(X) F 余弦函数
CSEG F 返回CS寄存器的当前值
DEC(X) F X:=X-1
DELETE(S,POS,LEN) P 删除一个字符串的子串
DISPOSE(P) P 释放一个动态变量
DSEG F 返回DS寄存器的当前值
EOF(F) F 判断文件是否结束
EOLN(F) F 判断文件类型中的一行是否结束
ERASE(F) P 删除一个存在的外部文件。
EXIT P 过程中止
EXP(X) F 以E为底的指数函数
FILEPOS(F) F 文件记录的当前位置
FILESIZE(F) F 文件记录数
FILLCHAR(D,LEN,DATE) P 填充数值或字符
FLUSH(F) P 清空文件缓存区
FRAC(X) F 取实形变量的小数部分
FREEMEM(P,I) P 释放变长动态变量
GETDIR(DRV,PATH) P 取当前盘,当前目录
GETMEM(P,I) P 分配变长的动态变量,并把块地址存放在一个指针变量中
HALT P 立即中止程序执行,返回TP编辑器或DOS
HI(I) F 返回一个变量的高位字节
INSERT(S,D,POS) F 在一个字符串中某一位置开始插入一个子串
INT F 取整数部分
IORESULT F 返回最后一次输入/出操作的结果状态
LENGTH(S) F 取字符串的长度
LN(R) F 求自然对数
LO(I) F 返回一个变量的低位字节
MAXAVAIL F 返回最大内存空间
MEMAVAIL F 返回可用内存数目
MKDIR(PATH) P 建立一个子目录
MOVE(S,D,LEN) P 快传送
NEW(P) P 建立一个新的动态变量
ODD(X) F 判断一个变量的值是否为奇数
OFS(X) F 侧变量偏移地址
ORD(CH) F 求一个字符的ASCII码值
PARAMCOUNT F DOS参数串长度
PARAMSTR(N) F DOS参数串
PI F 圆周率的值
pos(str1,str2) f 测一个字符串中包含的另一个子串的开始位置
pred(x) f 求前驱
ptr(i) f 指针赋值
random f 返回0~1之间的随机实数
randomize p 初始化随机数发生器
read/readln(f,x) p 读入/输入数据
rename(f,str) p 给一个外部文件改名
reset(f) p 打开文件,并将文件指针指向开始,并准备读数据
rewrite(f) p 打开文件,并将文件指针指向开始,准备写资料
rmdir(path) p 删除一个子目录
round(x) f 求实数的近似数
runerror p 停止程序的运行
scrollto p 滚动显示窗口的某部分内容
seek(f,n) p 将文件指针定位于文件f的第n个文件成分上
seekrof(f) f 定位到文件尾
seekroln(f) f 定位到行尾
seg(n) f 测变量段地址
settextbuf(f) p 将输入/出缓冲区与一个文本文件建立关联
sin(x) f 正弦函数
sizeof(x) f 测变量大小
sptr f 返回sp寄存器的当前值
sqr(x) f 平方
sqrt(x) f 平方根
sseg f 返回ss寄存器的当前值
str(i,s) f 将一个整数转换成字符串
succ(X) f 后继函数
swap(x) f 交换一个变量的高位和低位字节
trunc(x) f 截去实数的小数部分
truncate(f) p 截去文件当前指针以后的内容
upcase(ch) f 将小写字母转换成大写字母
val(s,r,p) p 将一个字符串转换成数值
writeln(f,x) p 输出
dos单元常用过程与函数
getdate p 返回系统当前日期
detftime p 返回最后一次写入的日期和时间
gettime p 返回系统当前时间
packtime p 转换系统日期和时间,封装成4个字节的长整形格式
setdate p 设置系统当前日期
setftime p 写入新的系统日期和时间,覆盖系统最后一次写入的 系统日期和时间文件
settime p 设置系统当前时间
uppacktime p 将系统日期和时间转换成纪录格式
diskfree f 返回指定磁盘可用剩余空间
disksize f 返回指定磁盘的总容量
get/setverity p 返回/设置dos状态下的磁盘读写标记
fexpand f 返回函数名的全称
fsearch f 在一个目录中查找文件
fsplit f 将一个文件名分成目录、文件名、扩展名
findfirst p 在当前目录或指定目录下查找第一个与给定属性相匹 配的文件名 一般默认的过程没什么用,不列了~非原创~~
copy
length
pos
insert
dec
inc
str
val
upcase
lowercase
trunc
ln
sqrt
......