pascal的标准函数和过程

作者&投稿:止英 (若有异议请与网页底部的电邮联系)
关于pascal两个字符串标准函数和过程~

首先,一个字符也可以作为字符串,应为字符串的长度可以为1,所以pos可以直接使用字符

str(n,s)就是把数字n转换成字符串放入变量s的函数

而val(s,n)才是把字符串s转换成数值放入变量n的函数

如果a是字符串,而c是字符,那么直接比价 a=c 是合法的,并且当a的长度为1而a[1]=c时, a=c 为 true

同样的,a也可以直接赋值于c, 即,a:=c; 这个相当于把字符串的长度改成1,并且a[1]:=c;

一、数学函数:

Inc(i) 使I:=I+1;
Inc(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
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
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

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.14 ABS(6)=6 2 平方函数 SQR( ) 例:SQR(4)=16 SQR(-3)=9 3 开方函数 SQRT( ) 例:SQRT(9)=3 AQRT(2)=1.414 4 正弦函 SIN( ) 例:SIN(3.14)=0 SIN(3.14/2)=1.0 5 余弦函数 COS( ) 例:COS(3.14)=1.0 COS(3.14/2)=0 6 以e为底数的指数函数EXP() 例:EXP(3)=e3 7 自然对数函数 LN( ) 例:ln3=ln(3) 8 取整函数 TRUNC( ) ,其作用是将括号里的数的小数全部去掉 例:TRUNC(3.14)=3 TRUNC(4.79)=4 TRUNC(-2.8)=-2 9 四舍五入取整函数 ROUND(), 例:ROUND(3.14)=3.14 ROUND(4.8)=5 ROUND(-3.2)=-3 ROUND(-5.7)=-6 10 前导函数PRED( ),其作用是对括号中的整数求其前面一个整数,或者对括号中的字符根据ASCII码表中的次序求其前面的一个字符 例: PRED(3)=2 PRED(123)=122 PRED(‘C’)=’B’ PRED(‘Z’)=’Y’ 11 后继函数SUCC( ),其作用是对括号中的整数求其后面一个整数,或者对括号中的字符根据ASCII码表中的次序求其后面一个字符 例: SUCC(7)=8 SUCC(2)=3 SUCC(‘A’)=’B’ SUCC(‘Y’)=’Z’ 12 奇函数的判别函数 ODD( ) 其作用是对括号中的整数进行判断,如果为奇数,则结果为真,否则为假 例:ODD(7)=TRUE ODD(4)=FALSE 13 取字符函数 CHR() 其作用是将括号中的整数作为字符的序号,或称字符的ASCII码,并将与序号对应的字符作为结果写出来 例: CHR(65)=’A’ CHR(66)=’B’ CHR(97)=’a’ 14 取序号函数ORD() 该函数是CHR()的逆函数,是根据字母求出其ASCII码 例: ORD(’A’)=65 ORD('B')=66 ORD('a')=97 ORD(CHR(65))=65 CHR(ORD(‘A’))='A' ORD(FALSE)=0 ORD(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的对数(log ex ); (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
语法 Function Abs (r:Real):Real;
Function Abs (r:Integer):Integer;
Abs返回参数的绝对值。函数结果说明与参数类型(Real或Integer)相同。
Addr
语法 Function Addr(Var Variable);Pointer;
说明 Addr返回一变量,类型变量或过程的地址。
结果为指针类型
Append
语法 Procedure Append(Var F:Text);
说明 Append 打开一文本文件以便添加,并将指针定在文件尾
ArcTan
语法 Funtion ArcTan(R:Real):Real;
说明 ArcTan返回参数的正切值。
Assign
语法 Procedure Assign(Var F:File);
说明 Assign将文件名Name赋给文件变量F。
BlockRead
语法 Procedure BlockRead(Var F:File;
Var B :Type;
NumRecs :Integer;
Var RecsRead :Integer);
说明 BlockRead从无类型文件F中读出NumRecs个记录,放在缓冲区B。BlockRead表示了实际读出的记录数。注意,只有PC/MS—DOC版本支持BlockRead
BlockWrite
语法 Procedure BlockWrite (Var F:File;
Var B :Type;
NumRecs :Integer);
说明 BlockWrite从缓冲区B中读出NumRecs个记录写至无类型文件F中。
ChDir
语法 Procedure ChDir(S:string);
说明 ChDir将当前目录换为S所表示的目录。
Chr
语法 Function Chr(I: Integer);
说明 Chr返回出I序数值所对应的ASCII字符。
Close
语法 Procedure Close(Var F:File)
说明 Close为文件F清除缓冲区,并关闭该文件。Concat
语法 Function Concat(S1,S2,…Sn):String;
说明 Concat将任意多个字符串联在一起,返回所有字符串的联接,如果联接后的字符长度大于255,Turbo Pascal出现运行错误。
Copy
语法 Function Copy(S:string;
P,L:integer):String;
说明 Copy 返回字符串中第P个字符开始的L个字符。
Cos
语法 Function Cos(R:Real):Real;
说明 Cos返回R的余弦值。
Cseg
语法 Function Cseg:word;
说明 Cseg返回程序代码段的段地址。
Dec
语法 Procedure Dec(Var x:Scalar;
n:LongInt);
说明 Dec是变量x减去n。若省略n,则x减去1。
Delete
语法 Procedure Delete(S:String;
P,L:Integer);
说明 Delete 删除字符串S中从第P个字符开始的L个字符。
Dispose
语法 Procedure Dispose(P:Pointer);
说明 释放由指针变量设定的堆存贮区域,Dispose与命令New联合使用。
Dseg
语法 Function Dseg:Word;
说明 Dseg返回程序中数据段的地址。
Eof
语法 Function Eof(F:File):Boolean;
说明 当F文件指针到达文件尾时,Eof返回TRUE。
Eoln
语法 Function Eoln(F:File):Boollean;
说明 当F文件指针到达一行的尾(由回车符和换行符表示)或文件尾时,Eoln返回TURE.
Erase
语法 Procedure Erase(F:File);
说明 Erase删除磁盘文件,并从目录中删该目录项。
Exit
语法 Procedure Exit;
说明 Exit使程序从当前执行的块中退出。Exp
语法 Function Exp(R:Real):Real;
说明 Exp返回R的以e为底的幂。
FilePos
语法 Function FilePos(F:File);Integer;
说明 FilePos返回文件F指针所指向的记录号。
FileSize
语法 Function FileSize(F:File);Integer;
说明 FileSize返回F当前所含记录数。

pascal中procedure啥意思
答:procedure是过程的意思,是程序的一个部分,可以说是相当于子程序。它可在主程序中调用,也可自身调用,也就是可以用于递归的意思。相比函数(function)而言,它没有返回值。然后这个可以用一个通俗易懂的方式进行解释,过程就是你让电脑去干一件事,干完了就完了,如果是函数,那么就还会返回这件事...

pascal(3,2)是怎么求的?求详细过程。pascal(n,1)和pascal(n,2...
答:1、pascal这个函数最常用的调用方式是pascal(n),即求n阶Pascal矩阵。Pascal矩阵是从Pascal三角(国内称为杨辉三角或贾宪三角)提取出来的矩阵,其重要性质包括:对称;正定;而且其逆矩阵的元素也都是整数。2、pascal(n,1) 是n阶Pascal矩阵的下三角 Cholesky分解(但部分列的符号与 chol(P,'lower') ...

procedure 和function 在pascal里有什么区别
答:楼上说的都有点道理我总结一下其实 过程-procedure 和 函数-function本质差不多楼上说的返回值, 其实两种方法都有, function是直接返回, 而procedure是间接返回比如我定义一个函数 function add(a, b: Integer): Integer; //最后的Integer就是返回值在函数里面有专门的Result 来传递这个返回值而...

pascal 中的unit 如何使用?各unit的简介?
答:调用:uses 单元名 例如调用dos单元:uses dos;关于各单元的介绍:SYSTEM TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。DOS 具有日期、时间、目录查找、程序执行等功能 CRT 具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等 功能 PRINTER 支持打印输出操作。GRAPH 高级...

pascal学习
答:函数说明;procedure过程说明;begin语句;语句;……语句end. 2.2 Pascal字符与符号 1.保留字(关键字)所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,Turbo Pascal语言一共有51个。下面是Pascal语言的保留字(斜体是Turbo Pascal...

pascal函数的字符串
答: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...

谁有turbo pascal 7.0使用手册(软件内带的过程,函数使用详解),传个给...
答:..An-1这n个正整数,描述这n个基因。2.3 输出格式第一行包含一个整数,表示温和的进化的对数。2.4 样例输入输出evolve.in evolve.out4 61 3 5 122.5 数据规模和约定对于30% 的数据,1 <= n <=1000。对于100% 的数据,1 <= n <= 100000,0 <= m <= 2^30,1 <=A<=2^30。

pascal 过程定义
答:有两个错误 ①function要在括号后面说明类型 ②h那里 不能 这样子 可以这样改 但可以这样子 开头的var(即程序中的第一个var)前写 type hh=array[1..7]of integer;然后 function(……;h:hh):类型说明;……这个问题我曾经也碰到过,试了很多次,才改好 ...

试问freePascal与turboPascal的区别;请罗列要点即可?
答:(5)指针:Pascal 中的指针声明使用 ^ 符号,例如:type PMyInt = ^MyInt;。Pascal 提供了完善的内存管理机制,允许程序员直接操作指针。2. 标准库方面 Pascal 的标准库提供了大量的函数和过程,包括字符串处理、文件操作、数学计算、日期时间处理等方面的功能。不同的 Pascal 实现可能提供不同的标准...

pascal中有关栈的问题.
答:SYSTEM TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。 DOS 具有日期、时间、目录查找、程序执行等功能 CRT 具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等 功能 PRINTER 支持打印输出操作。 GRAPH 高级图形软件包,支持多种图形适配器。 GRAPH3 实现TP3.0的图形软件包。 TURBO3 ...