PASCAL标准函数与过程.docx
- 文档编号:6594125
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:11
- 大小:22.80KB
PASCAL标准函数与过程.docx
《PASCAL标准函数与过程.docx》由会员分享,可在线阅读,更多相关《PASCAL标准函数与过程.docx(11页珍藏版)》请在冰豆网上搜索。
PASCAL标准函数与过程
PASCAL中的函数又分为标准函数与自定义函数。
在这里只讲标准函数,标准函数是系统设置的函数,可以直接使用。
1.算术函数
函数标识符
自变量类型
意义
结果类型
abs
整型、实型
绝对值
同自变量
cos
整型、实型
余弦
实型
exp
整型、实型
指数
实型
int
整型、实型
整数部分
实型
ln
整型、实型
自然对数
实型
sin
整型、实型
正弦
实型
sqr
整型、实型
平方
同自变量
sqrt
整型、实型
平方根
实型
2.标量函数
函数标识符
自变量类型
意义
结果类型
odd
整型
判断奇数
布尔型
pred
离散类型
求前趋
同自变量
succ
离散类型
求后继
同自变量
3.转换函数
函数标识符
自变量类型
意义
结果类型
chr
byte型
自量对应的字符
字符型
ord
离散类型
自量对应的序号
longint
round
实型
四舍五入
longint
trunc
实型
截断取整
longint
1 绝对值函数ABS()例:
ABS(-3.14)=3.14ABS(6)=6
2 平方函数SQR()例:
SQR(4)=16SQR(-3)=9
3 开方函数SQRT()例:
SQRT(9)=3AQRT
(2)=1.414
4 正弦函SIN()例:
SIN(3.14)=0SIN(3.14/2)=1.0
5 余弦函数COS()例:
COS(3.14)=1.0COS(3.14/2)=0
6 以e为底数的指数函数EXP()例:
EXP(3)=e3
7 自然对数函数LN()例:
ln3=ln(3)
8 取整函数TRUNC(),其作用是将括号里的数的小数全部去掉
例:
TRUNC(3.14)=3TRUNC(4.79)=4TRUNC(-2.8)=-2
9 四舍五入取整函数ROUND(),
例:
ROUND(3.14)=3.14ROUND(4.8)=5ROUND(-3.2)=-3ROUND(-5.7)=-6
10 前导函数PRED(),其作用是对括号中的整数求其前面一个整数,或者对括号中的字符根据ASCII码表中的次序求其前面的一个字符例:
PRED(3)=2PRED(123)=122PRED(‘C’)=’B’PRED(‘Z’)=’Y’
11 后继函数SUCC(),其作用是对括号中的整数求其后面一个整数,或者对括号中的字符根据ASCII码表中的次序求其后面一个字符例:
SUCC(7)=8SUCC
(2)=3SUCC(‘A’)=’B’SUCC(‘Y’)=’Z’
12 奇函数的判别函数ODD()其作用是对括号中的整数进行判断,如果为奇数,则结果为真,否则为假
例:
ODD(7)=TRUEODD(4)=FALSE
13 取字符函数CHR()其作用是将括号中的整数作为字符的序号,或称字符的ASCII码,并将与序号对应的字符作为结果写出来例:
CHR(65)=’A’CHR(66)=’B’CHR(97)=’a’
14 取序号函数ORD()该函数是CHR()的逆函数,是根据字母求出其ASCII码例:
ORD(’A’)=65ORD('B')=66ORD('a')=97
ORD(CHR(65))=65CHR(ORD(‘A’))='A'
ORD(FALSE)=0ORD(TRUE)=1
4.杂类函数
Random
Random[n]{n是一个整型数,取值范围1~65535}
以上两个是随机函数,前者是产生随机小数,属实数型,产生0≤random<1的随机小数;后者是产生随机整数,属整数型,产生0≤random[n]≤n-1。
Randomize
是个随机化过程,在程序中它常用在随机函数之前,使之产生不同的系列的随机数。
如在随机函数之前不使用它,每次运行此程序将产生完全相同的系列的随机数。
***************************************
**************************************
Pascal常用的算术标准函数有19个:
(1)abs(x)求x的绝对值(|x|);
(2)exp(x)求ex的值;(e为无理数2.71828…)
(3)frac(x)求x的小数部分;
(4)int(x)求x的整数部分(不舍入,函数值为实型);
(5)ln(x)求以e为底的x的对数(logex);
(6)odd(x)判断x的奇偶数(当x为奇数时odd(x)值为true,否则为false);
(7)ord(x)求x的序号,结果为整型(x为有序类型量);
(8)piπ值(3.1415926535897932…);
(9)pred(x)求x(有序类型)的前趋值;
(10)succ(x)求x(有序类型)的后继值;
(11)random随机函数,产生0~1的随机值;
(12)random(n)产生0~n的随机数(n为word类型,先执行randomize,才能得到随机整数);
(13)round(x)求x的四舍五入整数;
(14)trunc(x)求x的整数部分(截掉小数部分,结果为整型);
(15)sqr(x)求x的平方值(x2);
(16)sqrt(x)求x的开平方根值();
(17)sin(x)求x的正弦函数(x为弧度);
(18)cox(x)求x的余弦函数(x为弧度);
(19)arctan(x)正切的反三角函数(x为数值);
Turbo Pascal过程与函数调用
下面是Turbo Pascal的标准过程。
Abs
语法 FunctionAbs(r:
Real):
Real;
FunctionAbs(r:
Integer):
Integer;
Abs返回参数的绝对值。
函数结果说明与参数类型(Real或Integer)相同。
Addr
语法 FunctionAddr(VarVariable);Pointer;
说明 Addr返回一变量,类型变量或过程的地址。
结果为指针类型
Append
语法 ProcedureAppend(VarF:
Text);
说明 Append打开一文本文件以便添加,并将指针定在文件尾
ArcTan
语法 FuntionArcTan(R:
Real):
Real;
说明 ArcTan返回参数的正切值。
Assign
语法 ProcedureAssign(VarF:
File);
说明 Assign将文件名Name赋给文件变量F。
BlockRead
语法 Procedure BlockRead(VarF:
File;
VarB :
Type;
NumRecs :
Integer;
VarRecsRead :
Integer);
说明 BlockRead从无类型文件F中读出NumRecs个记录,放在缓冲区B。
BlockRead表示了实际读出的记录数。
注意,只有PC/MS—DOC版本支持BlockRead
BlockWrite
语法 Procedure BlockWrite(VarF:
File;
VarB :
Type;
NumRecs:
Integer);
说明 BlockWrite从缓冲区B中读出NumRecs个记录写至无类型文件F中。
ChDir
语法 ProcedureChDir(S:
string);
说明 ChDir将当前目录换为S所表示的目录。
Chr
语法 Function Chr(I:
Integer);
说明 Chr返回出I序数值所对应的ASCII字符。
Close
语法 ProcedureClose(VarF:
File)
说明 Close为文件F清除缓冲区,并关闭该文件。
Concat
语法 FunctionConcat(S1,S2,…Sn):
String;
说明 Concat将任意多个字符串联在一起,返回所有字符串的联接,如果联接后的字符长度大于255,TurboPascal出现运行错误。
Copy
语法 FunctionCopy(S:
string;
P,L:
integer):
String;
说明 Copy返回字符串中第P个字符开始的L个字符。
Cos
语法 FunctionCos(R:
Real):
Real;
说明 Cos返回R的余弦值。
Cseg
语法 FunctionCseg:
word;
说明 Cseg返回程序代码段的段地址。
Dec
语法 ProcedureDec(Varx:
Scalar;
n:
LongInt);
说明 Dec是变量x减去n。
若省略n,则x减去1。
Delete
语法 ProcedureDelete(S:
String;
P,L:
Integer);
说明 Delete删除字符串S中从第P个字符开始的L个字符。
Dispose
语法 ProcedureDispose(P:
Pointer);
说明 释放由指针变量设定的堆存贮区域,Dispose与命令New联合使用。
Dseg
语法 FunctionDseg:
Word;
说明 Dseg返回程序中数据段的地址。
Eof
语法 FunctionEof(F:
File):
Boolean;
说明 当F文件指针到达文件尾时,Eof返回TRUE。
Eoln
语法 FunctionEoln(F:
File):
Boollean;
说明 当F文件指针到达一行的尾(由回车符和换行符表示)或文件尾时,Eoln返回TURE.
Erase
语法 ProcedureErase(F:
File);
说明 Erase删除磁盘文件,并从目录中删该目录项。
Exit
语法 ProcedureExit;
说明 Exit使程序从当前执行的块中退出。
Exp
语法 FunctionExp(R:
Real):
Real;
说明 Exp返回R的以e为底的幂。
FilePos
语法 FunctionFilePos(F:
File);Integer;
说明 FilePos返回文件F指针所指向的记录号。
FileSize
语法 FunctionFileSize(F:
File);Integer;
说明 FileSize返回F当前所含记录数。
FileChar
语法 ProcedureFillchar(Variable:
Type;
I,code:
Scalar);
说明 FileChar在以Variable为起始地址处用code写I个字节。
code可以是任意标量类型。
Flush
语法 ProcedureFlush(varF:
Text);
说明 Flush刷新用于输出文件F的全部磁盘缓冲区。
Frac
语法 FunctionFrac(R:
Real):
Real;
说明 Frac返回实数R的小数部分。
FreeMem
语法 ProcedureFreeMem(VarP:
Pointer;
I:
Integer);
说明 FreeMem释放与变量P相关的I个字节长度,并将释放的内存归还给堆,但该内存必须是已由Getmem设置过的。
GetMem
语法 ProcedureGetMem(VarP:
Pointer;I:
Integer);
说明 GetMem保留堆中I个字节,并贮存起始地址在变量P中。
Halt
语法 ProcedureHalt;
说明 Halt中断程序的执行。
Hi
语法 FunctionHi(I:
Integer):
Byte;
说明 Hi返回整数I的高位字节。
Inc
语法 ProcedureInc(Varx;n:
LongInt);
说明 Inc为变量x加上n的值(x+n)。
若参数表中缺省n,则x加1(x+1)。
Insert
语法 ProcedureInsert(Source:
string)
Var Target:
string;
Index:
Integer);
说明 Insert将字符串Source插入到字串Target的Index处。
Int
语法 FunctionInt(R:
Real):
Integer;
说明 Int返回实数R的整数部分。
IOresult
语法 FunctionIoresult:
word;
说明 IOresult报告执行当前输入输出操作的错误代码。
当Ioresult的值不为0时则表示有错误发生。
Length
语法 FunctionLength(S:
String):
Integer;
说明 Length返回字符串S的长度。
Ln
语法 FunctionLn(VarR:
Real):
Real;
说明 Ln返回实数R的自然对数。
Lo
语法 Lo(I:
Integer):
Byte;
说明 Lo返回整数I的低位字节。
Mark
语法 ProcedureMark(P:
Pointer);
说明 Mark贮存了当前堆顶端地址于指针P中。
MaxAvail
语法 FunctionMaxAvail:
LongInt;
说明 返回堆中自由空间的总长度。
MKDir
语法 ProcedureMKDir(S:
String);
说明 MKDir以字符串S命令建立一目录。
Move
语法 ProcedureMove(varv1,v2;
I:
Integer);
说明 Move可将变量V1中I个字节复制到变量V2中。
New
语法 ProcedureNew(VarP:
Pointer);
说明 New为指针P设置内存。
设置后,该变量可做为P引用。
Odd
语法 FunctionOdd(I:
Integer):
Boolean;
说明 当I为奇数时Odd返回TRUE,当I为偶数时返回为FALSE。
Ofs
语法 FunctionOfs(
Integer;
说明 Ofs返回任一变量,过程或函数的内存地址偏移量。
Ord
语法 FunctionOrd(S:
Scalar):
Integer;
说明 Ord返回任一有序变量的序值。
ParamCount
语法 FunctionParamCount:
word;
说明 ParamCount返回命令行的参数个数。
ParamStr
语法 FunctionParamStr(I:
word):
String;
说明 ParamStr返回命令行所指定的参数。
例如:
ParamStr
(1)返回第一个参数。
在DOS3.0以上版本中,ParamStr(0)返回执行文件的路径和文件名。
Pi
语法 FunctionPi:
Real;
说明 Pi返回数字常量。
设数据的精度依赖于是否用了8087。
Pos
语法 FunctionPos(Subs,S:
String):
Integer;
说明 Pos返回字串SubS在字符串S中的位置。
若S中未找到Subs,Pos返回值为0。
Pred
语法 FunctionPred(vars:
Scalar):
Integer;
说明 Pred返回任一有序变量的前继。
Ptr
语法 FunctionPtr(segment,Offset:
Integer):
Pointer;
说明 Ptr接受包含有段值和偏移量的一个整数,并将其变为—32位指针变量返回。
Random
语法 FunctionRandom(I:
word):
word;
FunctionRandom:
Real;
说明 Random返回TurboPascal产生的一个随机数。
若指定一个整数参数的话,Random返回一个大于或等于0,且小于该参数的整数,若不指定整数,Random返回一个大于或等于0,且小于1的实数。
Randomize
语法 FunctionRandomize;
说明 Randomize初始化随机数产生程序。
其基数存放在长整型变量Randseed中。
Read(Readln)
语法 ProcedureRead({VarF:
File,}Parameters);
ProcedureReadln({VarF:
File,}Parameters);
说明 Read从标准输入设备或F定义的文件中读出数据。
Readln只适用于文本文件,其读入形式与Read相同,但读完一次数据后,Readln将文件指针移至下一个回车符/换行符处。
Release
语法 ProcedureRelease(VarP:
Pointer);
说明 Release释放由Mark命令所设置的内存。
用Mark于贮存指针P的堆地址。
Rename
语法 ProcedureRename(VarF:
File;
S:
String);
说明 Rename将文件F的文件名变为字符串S。
Reset
语法 ProcedureReset(VarF:
File{;I:
Integer});
说明 Reset打开文件F以便读文件。
如果F是无类型文件,可用I值指定记录的大小。
Rewrite
语法 ProcedureRewrite(VarF:
File{;I:
Integer});
说明 Rewrite打开一个文件准备写。
若文件不存在,TurboPascal创建一个文件。
若文件已经存在,则清除文件内容。
若是无类型文件,可用整数I说明记录大小。
RmDir
语法 ProcedureRmDir(S:
String);
说明 RmDir删除目录S。
Round
语法 FunctionRound(R:
Real):
LongInt;
说明 Round将实数R四舍五入取整并返回。
RunError
语法 ProcedureRunError;
ProcedureRunError;(ErrorCode:
word);
说明 RunError停止程序执行并产生运行错误。
如果包含了ErrorCode,TurboPascal将按所出现的运行错误类型中断程序。
Seek
语法 ProcedureSeek(VarF:
File;P:
Integer);
说明 Seek将文件指针移至文件F的第P个记录的起点。
SeekEof
语法 FunctionSeekEof(VarF:
File):
Boolean;
说明 SeekEof,
SeekEoln
语法 FunctionSeekEoln(VarF:
File):
Boolean;
说明 SeekEoln与Eoln相似,只是在测试文件结束符前前者要跳过空格、制表符和文件结束。
结果类型为布尔型。
Seg
语法 Seg(VarVariable):
word;
FunctionSeg(
word;
说明 Seg返回变量、过程或函数的段地址。
SetTextBuf
语法 SetTextBuf(Varf:
Text;VarBuf);
ProcedureSetTextBuf(Varf:
Text;VarBuf;size:
word);
说明 SetTextBuf将文本文件赋以缓冲区buf。
若未指定缓冲区大小的话,缓冲区尺寸就是Buf。
Size可用做缓冲区尺寸缺省值。
Sin
语法 sin(R:
Real):
Real;
说明 Sin返回R的正弦值。
Sizeof
语法 FunctionSizeof(varVariable):
word;
说明 Sizeof返回一个变量或一个数据类型所需的字节数。
SPtr
语法 FunctionSPtr:
word
说明 SPtr返回堆栈指针寄存器(sp)的当前值。
Sqr
语法 FunctionSqr(R:
Real):
Real;
说明 Sqr返回R的平方值。
Sqrt
语法 FunctionSqrt(R:
Real):
Real;
说明 Sqrt返回R的平方根
Sseg
语法 FunctionSseg:
word
说明 Sseg返回堆栈段寄存器当前值。
Str
语法 Str(I:
Integer;[:
Length,]VarS:
String);
ProcedureStr(R:
Real;[:
length:
Decimals,])VarS:
String);
说明 Str将一个实数或一个整数转换为一个字符串。
Succ
语法 FunctionSucc(S:
scalar):
Integer;
说明 Succ将任一标量值后移一个。
Swap
语法 FunctionSwap(I:
Integer):
Integer;
说明 Swap将一个整数的高位字节和低位字节交换,例如:
如果I等于00FFh,Swap返回FF00h。
Trunc
语法 FunctionTrunc(R:
Real):
Integer;
说明 Trunc返回R的整数部分,结果必须在合法的整数范围内。
Truncate
语法 ProcedureTruncate(Varf);
说明 Truncate在当前文件指针处强行结束文件,文件指针后的内容丢失。
Upcase
语法 FunctionUpcase(C:
char):
char
说明 如果C为小写字母Upcase返回C的大写值。
Val
语法 ProcedureVal(S:
String;VarR:
Real;VarCode:
Integer);
ProcedureVal(S:
String;VarI:
IntegerVarCode:
Integer);
说明 Val将S转换为一个数字值(R或I)。
如果转换为成功TurboPascal置Code为0,如果失
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PASCAL 标准 函数 过程
![提示](https://static.bdocx.com/images/bang_tan.gif)