pascal常用函数
- 格式:doc
- 大小:66.50 KB
- 文档页数:6
delphi(pascal)的函数手册名称类型说明---------------------------------------------------------------------------------- Abort 函数引起放弃的意外处理Abs 函数绝对值函数AddExitProc 函数将一过程添加到运行时库的结束过程表中Addr 函数返回指定对象的地址AdjustLineBreaks 函数将给定字符串的行分隔符调整为CR/LF序列Align 属性使控件位于窗口某部分Alignment 属性控件标签的文字位置AllocMem 函数在堆栈上分配给定大小的块AllowGrayed 属性允许一个灰度选择AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiLowerCase 函数将字符转换为小写AnsiUpperCase 函数将字符转换为大写Append 函数以附加的方式打开已有的文件ArcTan 函数余切函数AssignFile 函数给文件变量赋一外部文件名Assigned 函数测试函数或过程变量是否为空AutoSize 属性自动控制标签的大小BackgroundColor 属性背景色BeginThread 函数以适当的方式建立用于内存管理的线程BevelInner 属性控件方框的内框方式BevelOuter 属性控件方框的外框方式BevelWidth 属性控件方框的外框宽度BlockRead 函数读一个或多个记录到变量中BlockWrite 函数从变量中写一个或多个记录BorderStyle 属性边界类型BorderWidth 属性边界宽度Break 命令终止for、while、repeat循环语句Brush 属性画刷Caption 属性标签文字的内容ChangeFileExt 函数改变文件的后缀ChDir 函数改变当前目录Checked 属性确定复选框选中状态Chr 函数返回指定序数的字符CloseFile 命令关闭打开的文件Color 属性标签的颜色Columns 属性显示的列数CompareStr 函数比较字符串(区分大小写)Concat 函数合并字符串Continue 命令继续for、while、repeat的下一个循环Copy 函数返回一字符串的子串Cos 函数余弦函数Ctl3D 属性是否具有3D效果Cursor 属性鼠标指针移入后的形状Date 函数返回当前的日期DateTimeToFileDate 函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr 函数将日期时间格式转换为字符串DateTimeToString 函数将日期时间格式转换为字符串DateToStr 函数将日期格式转换为字符串DayOfWeek 函数返回星期的数值Dec 函数递减变量值DecodeDate 函数将日期格式分解为年月日DecodeTime 函数将时间格式分解为时、分、秒、毫秒Delete 函数从字符串中删除子串DeleteFile 命令删除文件DiskFree 函数返回剩余磁盘空间的大小DiskSize 函数返回指定磁盘的容量Dispose 函数释放动态变量所占的空间DisposeStr 函数释放字符串在堆栈中的内存空间DitherBackground 属性使背景色的色彩加重或减少50%DragCursor 属性当鼠标按下时光标的形状DragMode 属性按动的作用方式DropDownCount 属性容许的显示数据项的数目EditMask 属性编辑模式Enabled 属性是否使标签呈现打开状态EncodeDate 函数将年月日合成为日期格式EncodeTime 函数将时、分、秒、毫秒合成为时间格式EndMargin 属性末尾边缘Eof 函数对有类型或无类型文件测试是否到文件尾Eoln 函数返回文本文件的行结束状态Erase 命令删除外部文件ExceptAddr 函数返回引起当前意外的地址Exclude 函数从集合中删除一些元素ExceptObject 函数返回当前意外的索引Exit 命令立即从当前的语句块中退出Exp 函数指数函数ExpandFileName 函数返回包含绝对路径的字符串ExtendedSelect 属性是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir 函数返回驱动器和路径ExtractFileExt 函数返回文件的后缀ExtractFileName 函数返回文件名ExtractFilePath 函数返回指定文件的路径FileAge 函数返回文件已存在的时间FileClose 命令关闭指定的文件FileCreate 命令用指定的文件名建立新文件FileDateToDateTime 函数将DOS的日期格式转换为DELPHI的日期格式FileExists 函数检查文件是否存在FileGatAttr 函数返回文件的属性FileGetDate 函数返回文件的DOS日期时间标记FileOpen 命令用指定的存取模式打开指定的文件FilePos 函数返回文件的当前指针位置FileRead 命令从指定的文件读取FileSearch 命令在目录中搜索指定的文件FileSeek 函数改变文件的指针FileSetAttr 函数设置文件属性FileSetDate 函数设置文件的DOS日期时间标记FileSize 函数返回当前文件的大小FileWrite 函数对指定的文件做写操作FillChar 函数用指定的值填充连续字节的数{e.gGetMem(R, SizeOf(TMyRecord));FillChar(R^, SizeOf(TMyRecord), #0);SetLength(R.S, $FFFF);FreeMem(R); // 不会释放R.S 内存空间!!}FindClose 命令终止FindFirst/FindNext序列FindFirst 命令对指定的文件名及属性搜索目录FindNext 命令返回与文件名及属性匹配的下一入口FloatToDecimal 函数将浮点数转换为十进制数FloatToStrF 函数将浮点数转换为字符串FloatToStr 函数将浮点数转换为字符串FloatToText 函数将给定的浮点数转换为十进制数FloatToTextFmt 函数将给定的浮点数转换为十进制数Flush 函数将缓冲区的内容刷新到输出的文本文件中FmtLoadStr 函数从程序的资源字符串表中装载字符串FmtStr 函数格式化一系列的参数,其结果以参数Result返回Font 属性设置字体Format 函数格式化一系列的参数并返回Pascal字符串FormatBuf 函数格式化一系列的参数FormatDateTime 函数用指定的格式来格式化日期和时间FormatFloat 函数指定浮点数格式Frac 函数返回参数的小数部分FreeMem 函数按给定大小释放动态变量所占的空间GetDir 返回指定驱动器的当前目录GetHeapStatus 返回内存管理器的当前状态GetMem (var P: Pointer; Size: Integer);{(建立一指定大小的动态变量)分配一个指定大小的内存块(连续),并将指针指向该处}GetMemoryManager 返回内存管理器的入口点Glyph 函数按钮上的图象学习视频网:Halt 停止程序的执行并返回到操作系统Hi 返回参数的高地址位High 返回参数的上限值Hint 属性提示信息Int 返回参数的整数部分Include 添加元素到集合中Insert 在字符串中插入子串IntToHex(,) 将整型数转换为十六进制数。
顺序结构与基本数据类型一、程序的三种基本结构1、顺序结构:按照语句的书写顺序,依次执行。
2、选择结构(分支结构):根据给定的条件,判断成立与否,成立做一件事,不成立做另外一件事。
两件事必须做一件且只能做一件。
3、循环结构(重复结构):重复做某件事。
3种:①计数循环:重复执行的次数确定;②当型循环:当条件成立时,反复做某件事;③直到型循环:反复做某件事,直到条件成立时为止。
二、PASCAL标准数据类型及函数:1、实型(real)表示方法:小数表示法和指数表示法(科学表示法)。
如:1.25(1.25e0),132.67(1.3267e+2),0.0025(2.5e-3),-1.56(-1.56e0),0.0(0e0) 实型量运算:+(加)、-(减)、*(乘)、/(除)实型量标准函数:abs(绝对值),sqr(平方),sqrt(开方),sin(正弦),cos(余弦),arctan(反正切),exp(以e为底的指数),ln(自然对数),trunc(取整),round(舍入取整),int(取整)注:所有函数的自变量必须写在括号中。
例如:Sin2x 应写成sin(2*x) (a+b)2应写成sqr(a+b)Sin,cos函数的自变量应为弧度。
若是度,应转换为弧度。
例如:Sin32o15’应写成sin(32.15*3.14159/180)Tanx 应写成sin(x)/cos(x)e2.5应写成exp(2.5)lnx应写成ln(x) lgx 应写成ln(x) /ln(10)x y 应写成exp(y*ln(x))int直接取整数部分(其结果为实型)、trunc去掉小数部分,取其整数。
Round是将小数部分四舍五入后变为整数。
例如:trunc(1.2)=1 round(1.2)=1trunc(1.7)=1 round(1.7)=2trunc(-3.7)=-3 round(-3.7)=-42、整型(integer)正、负数和0.整型量运算:+(加)、-(减)、*(乘)、div(整除)、mod(取余)整型量标准函数:abs(绝对值),sqr(平方),pred(前导),succ(后继),odd(奇函数),chr(取字符)例如:pred(前导),取自变量前一个值。
Pascal语言函数集(含Delphi控件属性) abort函数引起放弃的意外处理abs函数绝对值函数addexitproc函数将一过程添加到运行时库的结束过程表中addr函数返回指定对象的地址adjustlinebreaks函数将给定字符串的行分隔符调整为cr/lf序列align属性使控件位于窗口某部分alignment属性控件标签的文字位置allocmem函数在堆栈上分配给定大小的块allowgrayed属性允许一个灰度选择ansicomparestr函数比较字符串(区分大小写)ansicomparetext函数比较字符串(不区分大小写)ansilowercase函数将字符转换为小写ansiuppercase函数将字符转换为大写append函数以附加的方式打开已有的文件arctan函数余切函数assignfile函数给文件变量赋一外部文件名assigned函数测试函数或过程变量是否为空autosize属性自动控制标签的大小backgrounddi2001.jpg属性背景色beginthread函数以适当的方式建立用于内存管理的线程bevelinner属性控件方框的内框方式bevelouter属性控件方框的外框方式bevelwidth属性控件方框的外框宽度blockread函数读一个或多个记录到变量中blockwrite函数从变量中写一个或多个记录borderstyle属性边界类型borderwidth属性边界宽度break命令终止for、while、repeat循环语句brush属性画刷caption属性标签文字的内容changefileext函数改变文件的后缀chdir函数改变当前目录checked属性确定复选框选中状态chr函数返回指定序数的字符closefile命令关闭打开的文件color属性标签的颜色columns属性显示的列数comparestr函数比较字符串(区分大小写)concat函数合并字符串continue命令继续for、while、repeat的下一个循环copy函数返回一字符串的子串cos函数余弦函数ctl3d属性是否具有3d效果cursor属性鼠标指针移入后的形状date函数返回当前的日期datetimetofiledate函数将delphi的日期格式转换为dos的日期格式datetimetostr函数将日期时间格式转换为字符串datetimetostring函数将日期时间格式转换为字符串datetostr函数将日期格式转换为字符串dayofweek函数返回星期的数值dec函数递减变量值decodedate函数将日期格式分解为年月日decodetime函数将时间格式分解为时、分、秒、毫秒delete函数从字符串中删除子串deletefile命令删除文件diskfree函数返回剩余磁盘空间的大小disksize函数返回指定磁盘的容量dispose函数释放动态变量所占的空间disposestr函数释放字符串在堆栈中的内存空间ditherbackgrounddi2001.jpg?使背景色的色彩加重或减少50%dragcursor属性当鼠标按下时光标的形状dragmode属性按动的作用方式dropdowncount属性容许的显示数据项的数目editmask属性编辑模式enabled属性是否使标签呈现打开状态encodedate函数将年月日合成为日期格式encodetime函数将时、分、秒、毫秒合成为时间格式endmargin属性末尾边缘eof函数对有类型或无类型文件测试是否到文件尾eoln函数返回文本文件的行结束状态erase命令删除外部文件exceptaddr函数返回引起当前意外的地址exclude函数从集合中删除一些元素exceptobject函数返回当前意外的索引exit命令立即从当前的语句块中退出exp函数指数函数expandfilename函数返回包含绝对路径的字符串extendedselect属性是否允许存在选择模式,true时,multiselect才有意义extractfiledir函数返回驱动器和路径extractfileext函数返回文件的后缀extractfilename函数返回文件名extractfilepath函数返回指定文件的路径fileage函数返回文件已存在的时间fileclose命令关闭指定的文件filecreate命令用指定的文件名建立新文件filedatetodatetime函数将dos的日期格式转换为delphi的日期格式fileexists函数检查文件是否存在filegatattr函数返回文件的属性filegetdate函数返回文件的dos日期时间标记fileopen命令用指定的存取模式打开指定的文件filepos函数返回文件的当前指针位置fileread命令从指定的文件读取filesearch命令在目录中搜索指定的文件fileseek函数改变文件的指针filesetattr函数设置文件属性filesetdate函数设置文件的dos日期时间标记filesize函数返回当前文件的大小filewrite函数对指定的文件做写操作fillchar函数用指定的值填充连续字节的数findclose命令终止findfirst/findnext序列findfirst命令对指定的文件名及属性搜索目录findnext命令返回与文件名及属性匹配的下一入口floattodecimal函数将浮点数转换为十进制数floattostrf函数将浮点数转换为字符串floattostr函数将浮点数转换为字符串floattotext函数将给定的浮点数转换为十进制数floattotextfmt函数将给定的浮点数转换为十进制数flush函数将缓冲区的内容刷新到输出的文本文件中fmtloadstr函数从程序的资源字符串表中装载字符串fmtstr函数格式化一系列的参数,其结果以参数result返回font属性设置字体format函数格式化一系列的参数并返回pascal字符串formatbuf函数格式化一系列的参数formatdatetime函数用指定的格式来格式化日期和时间formatfloat函数指定浮点数格式frac函数返回参数的小数部分freemem函数按给定大小释放动态变量所占的空间getdir返回指定驱动器的当前目录getheapstatus返回内存管理器的当前状态getmem建立一指定大小的动态变量,并将指针指向该处getmemorymanager返回内存管理器的入口点glyph函数按钮上的图象halt停止程序的执行并返回到操作系统hi返回参数的高地址位high返回参数的上限值hint属性提示信息int返回参数的整数部分include添加元素到集合中insert在字符串中插入子串inttohex将整型数转换为十六进制数inttostr将整型数转换为字符串ioresult返回最新的i/o操作完成状态isvalidident测试字符串是否为有效的标识符items属性默认显示的节点kind属性摆放样式largechange属性最大改变值layout属性图象布局length函数返回字符串的动态长度lines属性缺省显示内容ln函数自然对数函数lo函数返回参数的低地址位loadstr函数从应用程序的可执行文件中装载字符资源lowercase函数将给定的字符串变为小写low函数返回参数的下限值max属性最大值maxlength属性最大长度min属性最小值mkdir命令建立一子目录move函数从源到目标复制字节multiselect属性允许同时选择几个数据项name属性控件的名字new函数建立新的动态变量并设置一指针变量指向它newstr函数在堆栈上分配新的字符串now函数返回当前的日期和时间odd测试参数是否为奇数onactivate事件焦点移到窗体上时触发onclick事件单击窗体空白区域触发ondblclick事件双击窗体空白区域触发onclosequery事件使用者试图关闭窗体触发onclose事件窗体关闭后才触发oncreate事件窗体第一次创建时触发ondeactivate事件用户切换到另一应用程序触发ondragdrop事件鼠标拖放操作结束时触发ondragover事件有其他控件从他上面移过触发onmousedown事件按下鼠标键时触发onmouseup事件释放鼠标键时触发onmousemove事件移动鼠标时触发onhide事件隐藏窗体时触发onkeydown事件按下键盘某键时触发onkeypress事件按下键盘上的单个字符键时触发onkeyup事件释放键盘上的某键时触发onpaint事件窗体上有新部分暴露出来触发onresize事件重新调整窗体大小触发onshow事件在窗体实际显示之前瞬间触发ord返回序数类的序数outlinestyle属性类型outofmemoryerror引起outofmemory意外pageindex属性页索引pages属性页paramcount函数返回在命令行上传递给程序的参数数量paramstr函数返回指定的命令行参数pen属性画刷设置pi函数返回圆周率pipicture属性显示图象pictureclosed属性设置closed位图pictureleaf属性设置leaf位图pictureminus属性设置minus位图pictureopen属性设置open位图pictureplus属性设置plus位图pos函数在字符串中搜索子串pred函数返回先前的参数random函数返回一随机函数randomize函数用一随机数初始化内置的随机数生成器read函数对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中readln函数执行read过程,然后跳到文件下一行readonly属性只读属性reallocmem函数分配一动态变量rename函数重命名外部文件renamefile函数对文件重命名reset函数打开已有的文件rewrite函数建立并打开一新的文件rmdir函数删除空的子目录round函数将实数值舍入为整型值runerror函数停止程序的执行scrollbars属性滚动条状态seek函数将文件的当前指针移动到指定的组件上seekeof函数返回文件的文件结束状态seekeoln函数返回文件的行结束状态selectedcolor属性选中颜色setmemorymanager函数设置内存管理器的入口点settextbuf函数给文本文件指定i/o缓冲区shape属性显示的形状showexception函数显示意外消息与地址sin函数正弦函数sizeof函数返回参数所占的字节数smallchange属性最小改变值sorted属性是否允许排序sqr函数平方函数sqrt函数平方根函数startmargin属性开始边缘state属性控件当前状态str函数将数值转换为字符串stralloc函数给以null结束的字符串分配最大长度-1的缓冲区strbufsize函数返回存储在由stralloc分配的字符缓冲区的最大字符数strcat函数将一字符串附加到另一字符串尾并返回合并的字符串strcomp函数比较两个字符串strcopy函数将一个字符串复制到另一个字符串中strdispose函数释放堆栈上的字符串strecopy函数将一字符串复制到另一个字符串并返回结果字符串尾部的指针strend函数返回指向字符串尾部的指针stretch属性自动适应控件的大小strfmt函数格式化一系列的参数stricomp函数比较两个字符串(不区分大小写)stringtowidechar函数将ansi字符串转换为unicode字符串strlcat函数将一字符串中的字符附加到另一字符串尾并返回合并的字符串strlcomp函数以最大长度比较两个字符串strlcopy函数将一个字符串中的字符复制到另一个字符串中strlen函数返回字符串中的字符数strlfmt函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针strlicomp函数以最大长度比较两个字符串(不区分大小写)strlower函数将字符串中的字符转换为小写strmove函数将一个字符串中的字符复制到另一个字符串中strnew函数在堆栈上分配一个字符串strpas函数将以null结束的字符串转换为pascal类的字符串strpcopy函数将pascal类的字符串复制为以null结束的字符串strplcopy函数从pascal类的最大长度字符串复制为以null结束的字符串strpos函数返回一个字符串在另一个字符串中首次出现指针strrscan函数返回字符串中最后出现字符的指针strscan函数返回字符串中出现首字符的指针strtodate函数将字符串转换为日期格式strtodatetime函数将字符串转换为日期/时间格式strtofloat函数将给定的字符串转换为浮点数strtoint函数将字符串转换为整型strtointdef函数将字符串转换为整型或默认值strtotime函数将字符串转换为时间格式strupper函数将字符串中的字符转换为大写style属性类型选择suce函数返回后继的参数swap函数交换参数的高低地址位tabs属性标记每一项的内容tabindex属性标记索引text属性显示的文本texttofloat函数将字符串(以null结束的格式)转换为浮点数time函数返回当前的时间timetostr函数将时间格式转换为字符串trim函数从给定的字符串中删除前导和尾部的空格及控制字符trimleft函数从给定的字符串中删除首部的空格及控制字符trimright函数从给定的字符串中删除尾部的空格及控制字符trunc函数将实型值截取为整型值truncate函数截去当前文件位置后的内容unselectedcolor属性未选中颜色upcase将字符转换为大写uppercase将给定的字符串变为大写val函数将字符串转换为整型值vararraycreate函数以给定的界限和维数建立变体数组vararraydimcount函数返回给定变体的维数vararrayhighbound函数返回给定变体数组维数的上界vararraylock函数锁定给定的变体数组vararraylowbound函数返回给定变体数组维数的下界vararrayof函数返回指定变体的数组元素vararrayredim函数通过改变上限来调整变体的大小vararrayunlock函数解锁指定的变体数组varastype函数将变体转换为指定的类型varcase函数将变体转换为指定的类型并保存它varclear函数清除指定的变体varcopy函数将指定的变体复制为指定的变体varformdatetime函数返回包含日期时间的变体varisarray函数测试变体是否为数组varisempty函数测试变体是否为unassignedvarisnull函数测试变体是否为nullvartodatetime函数将给定的变体转换为日期时间vartype函数将变体转换为指定的类型并保存它visible属性控件的可见性wantreturns属性为true时,按回车键产生一个回车符;为false时,按下ctrl+enter才产生回车符write命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中writeln命令执行write过程,然后输出一行结束标志widecharlentostring函数将ansi字符串转换为unicode字符串widecharlentostrwar函数将unicode字符串转换为ansi字符串变量widechartostring函数将unicode字符串转换为ansi字符串widechartostrvar函数将unicode字符串转换为ansi字符串变量保留字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个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’4. 插入子串。
过程Inse rt(s1,s2,I) 把s1插入到s2的第I个位置例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’5. 求字符串长度length(s) 例:length(‘12abc’)=56. 搜索子串的位置pos(s1,s2) 如果s1是s2的子串,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.例:pos(‘ab’,’12abcd’)=37. 字符的大写转换。
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求长度len gth定义:functi on Length(S: String): Intege r;例子:varS: String;beginReadln (S);Writel n('"', S, '"');Writel n('length = ', Length(S));end.复制子串co py定义:functi on Copy(S: String; Index:Intege r; Count:Intege r): String;注意:S 是字符串类型的表达式。
pascal函数PASCAL内自带的函数,通常可以直接调用,特殊的需要调用数据库,如:used math 目录一、数学函数与过程二、字符串函数与过程三、标准函数四、各单元的函数与过程展开一、数学函数与过程过程: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)=4pred(true)=false x为字符或数字或布尔量succ(x) 求x的后继。
例:succ(‘b')='c' succ(5)=6succ(false)=true x为字符或数字或布尔量odd(x) 判断x是否为奇数。
pascal delay函数
Pascal语言中的delay函数是用于在程序执行过程中暂停一段
时间的函数。
它通常用于创建简单的时间延迟,比如在动画或者游
戏开发中。
delay函数的语法如下:
pascal.
procedure Delay(Milliseconds: Longint);
这个函数接受一个参数,即要暂停的毫秒数。
在调用delay函
数时,程序会暂停执行指定的毫秒数,然后再继续执行后面的代码。
需要注意的是,delay函数在现代编程中并不常用,因为它会
导致程序在延迟期间无法执行其他任务,造成程序的阻塞。
在实际
开发中,通常会使用计时器或者多线程等技术来实现更灵活和高效
的延迟效果。
另外,需要特别注意的是,由于不同的Pascal编译器可能对delay函数的实现有所不同,因此在使用delay函数时需要注意兼
容性和可移植性的问题。
总的来说,delay函数是Pascal语言中用于在程序执行过程中暂停一段时间的函数,但在实际开发中需要谨慎使用,并考虑更灵活和高效的替代方案。
Pascal中的常用数学函数1、求绝对值函数abs(x)定义:function Abs(X): (Same type as parameter);说明:X可以是整型,也可以是实型;返回值和X的类型一致例子: var r: Real;i: Integer;beginr := Abs(-2.3); { 2.3 }i := Abs(-157); { 157 }end.2、取整函数int(x)定义:function Int(X: Real): Real; 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(而不是四舍五入)例子:var R: Real;beginR := Int(123.567); { 123.0 }R := Int(-123.456); { -123.0 }end.3、截尾函数trunc(x)定义:function Trunc(X: Real): Longint; 注意:X是实型表达式. Trunc 返回Longint型的X的整数部分例子:beginWriteln(1.4, ' becomes ', Trunc(1.4)); { 1 }Writeln(1.5, ' becomes ', Trunc(1.5)); { 1 }Writeln(-1.4, 'becomes ', Trunc(-1.4)); { -1 }Writeln(-1.5, 'becomes ', Trunc(-1.5)); { -1 }end.4、四舍五入函数round(x)定义:function Round(X: Real): Longint; 注意:X是实型表达式. Round 返回Longint型的X的四舍五入值.如果返回值超出了Longint 的表示范围,则出错. 例子:beginWriteln(1.4, ' rounds to ', Round(1.4)); { 1 }Writeln(1.5, ' rounds to ', Round(1.5)); { 2 }Writeln(-1.4, 'rounds to ', Round(-1.4));{ -1 }Writeln(-1.5, 'rounds to ', Round(-1.5));{ -2 }end.5、取小数函数frac(x)定义:function Frac(X: Real): Real; 注意:X 是实型表达式. 结果返回 X 的小数部分; 也就是说,Frac(X) = X - Int(_X). 例子: var R: Real;beginR := Frac(123.456); { 0.456 }R := Frac(-123.456); { -0.456 }end.6、求平方根函数sqrt(x)和平方函数sqr(x)定义:平方根:function Sqrt(X: Real): Real;注意:X 是实型表达式. 返回实型的X的平方根. 平方:function Sqr(X): (Same type as parameter);注意:X 是实型或整型表达式.返回值的类型和X的类型一致,大小是X 的平方,即X*X.例子:beginWriteln('5 squared is ', Sqr(5)); { 25 }Writeln('The square root of 2 is ',Sqrt(2.0)); { 1.414 }字符串函数求长度length定义:function Length(S: String): Integer;例子:varS: String;beginReadln (S);Writeln('"', S, '"');Writeln('length = ', Length(S));end.7、复制子串copy定义: function Copy(S: String; Index: Integer; Count: Integer): String;注意:S 是字符串类型的表达式。
Pascal 过程与函数Pascal中的例程有两种形式:过程和函数。
理论上说,过程是你要求计算机执行的操作,函数是能返回值的计算。
两者突出的不同点在于:函数能返回计算结果,即有一个返回值,而过程没有。
两种类型的例程都可以带多个给定类型的参数。
不过实际上函数和过程差别不大,因为你可以调用函数完成一系列操作,跳过其返回值(用可选的出错代码或类似的东西代替返回值);也可以通过过程的参数传递计算结果(这种参数称为引用,下一部分会讲到)。
下例定义了一个过程、两个函数,两个函数的语法略有不同,结果是完全相同的。
procedure Hello;beginShowMessage ('Hello world!');end;function Double (Value: Integer) : Integer;beginDouble := Value * 2;end;10] of Integer;X, I: Integer;beginType ofvtInteger: Result :=Result + Args [I].VInteger;vtBoolean:if Args [I].VBoolean thenResult := Result + 1;vtChar:Result := Result + Ord (Args [I].VChar);vtExtended:Result := Result + Args [I].VExtended^;vtString, vtAnsiString:Result := Result + StrToIntDef ((Args [I].VString^), 0);vtWideChar:Result := Result + Ord (Args [I].VWideChar);vtCurrency:Result := Result + Args [I].VCurrency^;end;.private{ Private declarations }IP: IntProc;X: Integer;end;学完下一章,你会更清楚地了解这段代码的意思,目前只要能知道怎样添加过程类型定义、怎样修改相应的代码就行了。
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')=56. 搜索子串的位置(函数)pos(s1,s2) 如果s1是s2的子串,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0。
例:pos('ab','12abcd')=37. 字符的大写转换。
(函数)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;BeginWriteln(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次方乘以xlog10原型: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):Integerfunction Max(a:Int64;b:Int64):Int64function Max(a:Extended;b:Extended):Extended功能:返回a与b中较大的一个Min原型:function Min(a:Integer;b:Integer):Integerfunction Min(a:Int64;b:Int64):Int64function 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):Integerfunction maxvalue(const data:PFloat;const N:Integer):floatfunction maxvalue(const data:PInteger;const N:Integer):Integer功能:返回数组中的最大值MinValue原型:function minvalue(const data:Array[] of float):floatfunction minvalue(const data:Array[] of Integer):Integerfunction minvalue(const data:PFloat;const N:Integer):floatfunction MinValue(const Data:PInteger;const N:Integer):Integer功能:返回数组中的最小值sum原型:function sum(const data:Array[] of float):floatfunction 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中。