pascal 常用函数及实例
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函数与过程的区别
函数有一个返回值,过程可以没有返回值
什么叫返回值呢?返回值就是函数经过运算后得到的值,就可以理解为是一个数值,它不能单独用,就比如说有一个函数aaa和一个过程bbb,
过程的用法就是用一个单独的语句去调用它,如:
bbb(n); //n是前面定义过的变量,在过程里,就执行了一些语句,在过程中,可能有一些变量产生了变化。
而函数是有返回值的,就不能像过程一样用一个单独的语句去调用它,常用的方法有:
1、n:=aaa(n); //把aaa(n)的值赋值给n,就是把aaa(n)的返回值赋值给n
2、if aaa(n) mod 2=0 then ...... //或者是把它当成一个条件使用,等等。
谁能跟我讲一下pascal的function的意思啊?还有中间那个东西是什么意思啊?
function是PASCAL中自定义的函数
函数是子程序的另一种形式,也是编制程序时定义的一个语句序列.与过程不同的是函数不以实现某种操作为目的,而仅是为了获得一个计算结果值.这个结果值最终是通过函数名返回给调用者的,因此函数名具有值的类型.PASCAL语言规定一个函数只能求出一个简单值,所以确切地说函数名的类型只能是简单类型.函数的说明也是由函数首部和分程序(说明部分和函数体)组成,其定义语法如下:
函数定义:
function
函数标识符
形式参数表:函数类型标识符;分程序;
函数调用:
与标准函数的使用方法一样,例:
Function
mj(a,b:longint):longint;
begin
mj:=a*b;
end;
当在主程序中有如下的语句时,只要输入一个长方形的长和宽,就可以很方便地计算它的面积:
var
x,y:integer;
Function
mj(a,b:longint):longint;
begin
mj:=a*b;
end;
begin
readln(x,y);
{读入长和宽}
writeln(mj(x,y);
{输出长方形面积}
end.
所问的“之中的(n:longint)”被
称为“形式参数”,就是我们在函数中需要使用的有所变化的量,就从这里传递给函数,并由此计算出不同的答案。
怎么使用pascal~~
你用的是Free Pascal还是Turbo Pascal?Free Pascal 与 Turbo Pascal 的区别 虽然Free Pascal尽量设计得和Turbo Pascal接近,但是由于以下的两个原因,两者之间还是有一些区别的:
1. Free Pascal是一个32位的编译器,而Turbo Pascal只是16位编译器;
2. Free Pascal是一个跨平台的编译器,而Turbo Pascal只在windows和DOS上使用。
如果你的代码是遵守ANSI Pascal的,那么代码从Turbo Pascal移植到Free Pascal是没有问题的。
下面是在Turbo Pascal上可以使用,但是在Free Pascal就不能使用的一些语言特性:
1. 函数和过程在使用时,参数的类型必须和定义时完全一致。原因是在Free Pascal中添加了函数,EXCEPT,RAISE成为了关键字,因此不能作为函数和过程的名字。
3. FAR,NEAR不再是关键字了。原因是Free Pascal是32位系统,不再需要这些关键字。
4. 布尔表达式不一定要全部进行计算。只要最终结果已经能够确定,就不再计算其它还没有计算的部分了。比如布尔表达式exp1 AND exp2 AND exp3,如果已知exp1的结果是false,那么怎么表达式的结果肯定是false,exp2和exp3就不用进行计算了。
5. 在Free Pascal中,集合中的元素都是4个字节长的。
6. 表达式执行的顺序是不确定的。比如对于表达式a:=g(2)+f(3); 不保证g(2)一定在f(3)之前执行。
7. 如果用Rewrite打开文件,那么文件就只能被写入了。如果需要读取这个文件,要对文件执行Reset。
8. Free Pascal在程序结束之前一定要关闭输出文件,否则输出文件可能不能被正确的写入。
9. Free Pascal理论上可以使用256m的内存,因此实际上几乎可以使用系统中的所有剩余内存(除非赛题中有内存限制)。这是Free Pascal由于32位的编译器。但是对于Turbo Pascal来说,由于是16位的编译器,因此不能定义大小超过64KB的数据类型和变量,并且在DOS实模式下可以使用的内存总数只有640KB。 PASCAL程序设计介绍 PASCAL语言介绍
PASCAL语言是由瑞士的沃斯(N.Wirth)教授于1971年提出来的。它的命名是为了纪念法国数学家Pascal。它是世界上第一个结构化的高级程序设计语言。结构化程序设计主要由三种基本结构(顺序结构、选择结构、循环结构)组成。后来有人把函数和过程作为第四种基本结构。这四种结构对外看都只有一个入口和一个出口,结构清晰,避免了由GOTO语句所引起的混乱。另外在程序设计方法方面,主张采用自顶向下,逐步求精的方法。即将一个大的复杂问题,划分成若干少的易解决的问题。每个小问题,又可划分成一些更小的更易解决的问题。这样,只要把每个小问题都解决了,整个大问题也就解决了。这种方法也为多个人合作编程提供方便。
由于PASCAL语言具有良好的结构程序设计特性,适合于教学,特别是适合于培养学生掌握自顶向下逐步求精的结构化程序设计思想和方法,并养成良好的程序设计风格和习惯,因此,国内外许多大学都将PASCAL作为一门程序设计教学语言。 PASCAL程序的结构初步认识
例1-1:输入半径求园的周长和面积?
program circle(input,output);
const
Pi=3.14;
var
r,L,s:real;
begin
write('r=');
readln(r);
L:=2*pi*r;
s:=pi*r*r;
writeln('R=',r:8:2,' L=',L:8:2,' S=',s:8:2);
end . 集成环境、编辑程序、保存程序
1. 请确定Turbo.exe文件所在磁盘目录。假如它是放在F:盘的TP7文件夹(又称子目录)中。
2. 把您要保存程序文件的盘设为当前盘,并保存文件于当前盘的当前目录中。假如您的程序文件要存在H:盘的当前目录,则在DOS方式提示符“>”后输入下面命令。
> h:←┘
3.调入并执行Turbo.exe,进入Turbo Pascal集成环境。
> f:\tp7\turbo.exe←┘
4.在程序编辑窗口中,输入例1-1程序。注意一个编辑窗口只能编辑一个程序文件。常用的编辑键有:
← ↑ → ↓ :光标移动键。
Delete :删除光标所在字符。
←┘ :回车键,用于换行或在光标处插入一行之用。
5.程序编辑完后,按F10 键,执行主菜单[File]中的[Save]项目菜单保存程序到磁盘中,并试用“yz1-1.PAS”作为例1-1程序存盘文件名。 运行程序、观察运行结果、跟踪调试程序
1. 按F10 键,执行主菜单[ RUN ]中的[Run]项目菜单,运行程序,然后在提示后输入一个调试用的半径值:
r= 10←┘
2. 按F10 键,执行主菜单[Debug]中的[ output ]项目菜单,打开输出窗口观察到结果如下:
R= 10.00 L= 62.80 S= 314.00
如果有错,请找出错误并修改它,重复第1步,再执行直到有正确输出结果。
3.重复第1步,再次运行程序,输入另一个园的半径值5,观察输出结果是否也正确,从而确定该程序能否正确解决不同半径的园的周长和面积的求解问题。
程序调试中我们常用的操作还有:
双线框的窗口称为“当前活动窗口”。
F1 键: 得到光标所在位置的项目的帮助信息。
F4 键: 要求运行到当前光标处暂停。
F5 键: 放大或缩小当前活动窗口。
F6 键: 切换其它窗口为当前活动窗口。
F7 键: 单步执行程序并能跟踪进入子程序。
F8 键: 单步执行程序但不能跟踪进入其子程序。
F10 键:在菜单和活动窗口间转换。
CTRL + Break 键:强制终止当前程序的运行。
其它功能按键请同学们以后自己查看英文帮助说明,出色的程序员都习惯查看英文帮助。
4.学习跟踪调试方法,它可帮助我们检查分析出算法上存在的错误。
(1) 按F10 键,执行主菜单[Debug]中的[ Watch ]项目菜单,打开监视窗口
(2) 按 Insert 键,输入常量pi ←┘
Insert 键,输入变量r ←┘
Insert 键,输入变量l ←┘
Insert 键,输入变量s ←┘
(3) 请按F8 键或F7单步执行程序直到程序结束,观察上述常量和变量如何变化。
(4) 观察程序执行过程中Watch监视窗口中常量和变量的值变化,分析算法是否正确。
说明:如果想在程序还未结束前终止程序的单步执行或跟踪调试,可按F10 键,执行主菜单[Run]中的[ Program Reset ]项目菜单。
1.1.5 关闭当前活动窗口、退出Turbo Pascal集成环境
1. 按 F6 键切换当前活动窗口,执行主菜单[Windows]中的[Close]菜单项关闭当前活动窗口,如果当前活动窗口是程序编辑窗,在关闭前可能因程序已修改过而提问用户是否需要保存编辑窗口中的被更改后的程序。试逐一关闭所有窗口。
2. 执行主菜单[File]中的[Exit]菜单项可退出Turbo Pascal集成环境,返回DOS提示符状态。
1.1.6 深入理解例1-1程序各语句意义 保留字
1. 在Pascal中有些词具有特定的含义,用户必须正确理解其含义和正确使用,否则会运行出错。这些具有特定含义的词称为“保留字”。“保留字”不能做常量名、变量名或程序名。在Turbo Pascal7.0编辑窗口中,保留字默认用白色显示。例1-1中的包含的保留字有:program,const,var,begin,end,它们的特定含义分别是:program 指出后面定义的是程序名;const指出后面定义的是程序将用到的常量;var指出后面定义的是程序将用到的变量;begin指出程序执行代码开始;end指出程序执行代码结束。 标识符
2. 除了保留字外,还用到标识符,用于表示常量、变量、类型、文件、函数、过程或程序的名字。标识符是以字母开头的字母、数字组合,标识符又分为标准标识符和用户自定义标识符。如例1-1中,用户自定义标识符有:程序名为circle,常量pi,实数型变量r、l和s,它们由程序设计者定义的;标准标识符有:实数标准类型名real,读数标准过程名readln,输出标准过程名write和writeln ,标准输入文件input,标准输出文件output。在Pascal编译系统中,标准标识符也具有特殊的含义,我们定义标识符时也应尽量避免与标准标识符取相同名字。PASCAL中的保留字及标识符是不区分大小写的。
保留字 program , const , var , begin ,end
标识符 标准标识符 Real,readln,write,writeln,input,output
用户自定义标识符 circle , pi , r , l , s 注意程序的书写格式
程序名说明: program (input,output);其中圆括号的内容称为程序的参数。程序参数指明程序与外部联系的文件名。input是标准输入文件,例如键盘;output是标准输出文件,例如屏幕、打印机等。对于标准设备常可省略(input,output)的说明,简写为:program ;如例1-1可省略简写为:“ program circle; ”
常量定义:Const
=;
......
=;
变量定义:var
:;
......
:;
主程序语句部分: begin
;
......
;
end .
赋值语句: :=; 其意义是把右边表达式的运算结果送到左边变量名所对应的数据区中。
读数据标准过程(又称读语句):read(变量表),园括符内必须是已定义过的变量标识符,有多个时变量时可用逗号分隔构成变量表。
输出数据标准过程(又称写语句):write(数据项表)或writeln(数据项表),有多个数据项时要用逗号分隔。数据项可以是字符串(如:'L=',' S=')、变量(如:l、s),如:s:8:2,表示要求输出时数据保留2位小数位,总长度包括小数点为8位;write与writeln区别是writeln完成所有输出后自动换行。
1.2 PASCAL基本组成
1.2.1 PASCAL语言使用的几类基本符号
(1) 大小写英文字母:A,B,...Z,a,b,..z
(2) 数字:0,1,2,3,4,5,6,7,8,9
(3) 其它符号:+ , - , * , / , = , , >= , , ( , ) ,[ ,] , := , ' , , . : , .. , ∧ 等。
注意:PASCAL的标识符及保留字定义只能采用上述基本符号,其它特殊符号。例如:αβε∮∞≈,汉字等只能在字符型常量中使用。 PASCAL语言使用的保留字
在PASCAL语言中,有些词具有特定的含义。用户必须了解其含义,以便正确的使用,否则会造成错误,这些具有特定含义的词被称为保留字,保留字不能作其它用途,如作变量名等。在Turbo pascal7.0中,保留字默认用白色显示,保留字如下:PROGRAM ,CONST,VAR,BEGIN,END,AND,ARRAY,CASE,DIV,DO,DOWNTO,ELSE,FILE,FOR,FUNCTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,WHILE,WITH等。
1.2.3 语法图说明
语法是语言的结构规则,语言的所有成分都必须符合语法的要求,如果语言的结构规则描述不严密,就会产生歧义。我们在下面说明语法中,采用语法图进行描述,使说明更加简洁。语法图常用的4种图形元素的意义如下: PASCAL语言中的标识符
在PASCAL中标识符分标准标识符和用户自定义标识符,它可作为常量、变量、类型、过程、函数和文件的名字。标识符是以字母开头的字母数字序列,构成语法如下图示:
在PASCAL中有些标识符已定义了特定的含义,称为标准标识符,它们是:
标准常量:false,true,maxint等;
标准类型:integer,real,char,boolean,string,text等;
标准文件:input,output等;
标准函数:abs,chr,cos,eof,eoln,round,trunc等;
标准过程:read,readln,write,writeln,new,reset等;
指出下面用户自定义标识符为什么会错:
begin(系统保留字),
1student(不能用数字开头),student 1(不能有空格),
1.2.5 PASCAL中使用的常量与变量
程序中数据分为两类:一类是在程序执行过程中其值保持不变的量,称为常量;另一类是在程序执行过程中,其值可以改变的,这类数据称为变量。根据使用方式的不同,常量又可以分为直接常量和用户定义常量两种。
1.直接常量
指程序中直接引用的常数,在PASCAL中经常使用的常量有:整型常数,实型常数,字符型常数和布尔型常数等。
(1) 整型常数语法图如下:
如:100 , +120 ,-199 , 0等。
(2) 实型常数语法图如下:
如:100 , +120 ,2.5 ,0 ,0.005 , +2.418 , 1.24E+3 ,-1.24E+3
这里E表示用科学记数法表示,1.24E+3相当于数学的1.24×10^(+3) 。
(3) 字符型常数语法图如下:
如:'A' ,'a','?','4','aBbc','12.5'等。
(4) 布尔型常量
布尔型常量简称为布尔型常数,它只有两个:true和false,分别表示逻辑判断的结果是真(True)和假(False)。
2.用户自定义常量
在程序中,如果一个常数反复多次出现在程序中,用户可以通过说明语句来定义一个标识符来代表这个常量。常量说明语法图如下:
如: const
pi=3.14;
country='China';
success=true;
3.变量说明
PASCAL程序中数值可以改变的量称为变量,由于变量可以取不同的值,因此变量必须通过标识符来代表。程序中出现的每个变量都必须在程序的变量说明部分进行类型说明.变量说明语法图如下:
如: var
x,y,z:real;
i,j,k:integer;
ch:char;
t,f:boolean;
name:string; (未完待续)