为了爱为了pascal吧 关注:59贴子:1,705
  • 6回复贴,共1

◤为爱◢普及知识| FP(TP)的全部函数过程与FP部分独有函数

只看楼主收藏回复

◤为爱◢普及知识| FP(TP)的全部函数过程与FP部分独有函数


1楼2013-11-21 12:56回复
    PASCAL函数过程表
    目录:
    1、数学函数;
    2、所有单元;
    3、SYSTEM单元(不需要uses语句);
    4、DOS单元;
    5、CRT单元;
    6、其他单元;
    7、常用函数;
    8、不常用函数;
    9、退出方法
    ***********************************
    1、数学函数
    求绝对值函数abs(x)
    定义:function Abs(X): (Same type as parameter);
    说明:X可以是整型,也可以是实型;返回值和X的类型一致例子:
    var
    r: Real;
    i: Integer;
    begin
    r := Abs(-2.3); { 2.3 }
    i := Abs(-157); { 157 }
    end.
    取整函数int(x)
    定义:function Int(X: Real): Real; 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(而不是四舍五入)例子:
    var R: Real;
    begin
    R := Int(123.567); { 123.0 }
    R := Int(-123.456); { -123.0 }
    end.
    截尾函数trunc(x)
    定义:function Trunc(X: Real): Longint; 注意:X是实型表达式. Trunc 返回Longint型的X的整数部分例子:
    begin
    Writeln(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.
    四舍五入函数round(x)
    定义:function Round(X: Real): Longint; 注意:X是实型表达式. Round 返回Longint型的X的四舍五入值.如果返回值超出了Longint的表示范围,则出错. 例子:
    begin
    Writeln(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.
    取小数函数frac(x)
    定义:function Frac(X: Real): Real; 注意:X 是实型表达式. 结果返回 X 的小数部分; 也就是说,Frac(X) = X - Int(_X). 例子:
    var
    R: Real;
    begin
    R := Frac(123.456); { 0.456 }
    R := Frac(-123.456); { -0.456 }
    end.
    求平方根函数sqrt(x)和平方函数sqr(x)
    定义:
    1、平方根:function Sqrt(X: Real): Real;
    注意:X 是实型表达式. 返回实型的X的平方根.
    2、平方:function Sqr(X): (Same type as parameter);
    注意:X 是实型或整型表达式.返回值的类型和X的类型一致,大小是X的平方,即X*X.
    例子:
    begin
    Writeln('5 squared is ', Sqr(5)); { 25 }
    Writeln('The square root of 2 is ',Sqrt(2.0)); { 1.414 }
    end.


    本楼含有高级字体2楼2013-11-21 13:04
    回复
      2、所有单元(猪冒泡say:本点说的全都是Turbo Pascal的,至于FP继承了以下的什么特征,可以自行百度之
      SYSTEM  TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。
      DOS    具有日期、时间、目录查找、程序执行等功能
      CRT    具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等功能
      PRINTER 支持打印输出操作。
      GRAPH  高级图形软件包,支持多种图形适配器。
      GRAPH3  实现TP3.0的图形软件包。
      TURBO3  兼容TP3.0的源程序。
      OVERLAY 实现高级覆盖管理


      本楼含有高级字体3楼2013-11-21 13:08
      回复
        4、DOS单元——dos单元常用过程与函数
        【猪注:据说要在程序前声明 uses dos; 之后才能使用;由于某猪没怎么使用过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 在当前目录或指定目录下查找第一个与给定属性相匹配的文件名
        findnext p 返回下一个满足匹配条件的文件名

        getfattr p 返回文件的属性
        setfattr p 设置文件属性
        gerintvec p 返回某个中断变量值
        intr p 执行软中断
        msdos p 执行dos 系统调用
        setintvec p 设定中断值
        exec p 通过一个特定命令行执行特定程序段
        keep p 中断程序的执行但仍驻留在内存中
        swapvectors p 用当前变量交换所有中断变量值
        dosexitcode f 回到子程序出口
        dosversion f 显示dos版本


        本楼含有高级字体5楼2013-11-21 14:14
        收起回复
          9、退出方法——Pascal的多种退出语句用法
          break 是用来退出其所在的循环语句
          即 : 不论在任何一个循环语句中 执行了 break 的话, 马上退出这个语句。
          相当于 : goto 这一层循环语句 最末尾一句的下一句。
          例如:var i integer;
          begin
          for i = 1 to 10 do
          begin
          {1} writeln(i);
          break;
          writeln(i+1);
          end;
          readln
          end.
          执行结果 :
          1 可见 第一次循环 时 , 执行了{1}句 后 , 执行 break ,然后马上退出了这个for语句。 {} 注意 : 以上两个语句 只 对 它们所在的 那层循环语句 起作用,
          也就是说 : 如果有多个 循环语句 相嵌套, 其中 某一层 执行了 continue break 语句, 它们并不能影响上面几层的 循环语句。
          ----------------------------
          exit 是退出当前程序块;
          即 : 在任何子程序 中执行 exit , 那么 将退出 这个子程序;
          如果是在 主程序中执行 exit , 那么将退出整个程序。
          相当于 : goto 这个程序块 的 末尾 的 end 例如 : 试除法判断素数时,一旦整除,就把函数值赋为false ,然后exit;
          {}注意 : 类似上面的 , exit也是只对当前 这一个 子程序产生作用, 如果多重嵌套子程序 , 那么其中某个子程序执行了exit以后, 将返回到 调用它的那个语句 的下一个语句。
          ----------------------------
          halt 没什么好说的,退出整个程序,Game Over.
          例如 : 搜索时, 一旦找到一个解,就打印,然后执行halt,退出整个程序。使用exit , halt 应该注意的地方:
          要注意所有可能会退出 子程序或主程序 的地方 均要妥善处理好善后工作,
          比如 文件是否关闭 ,输出是否完整等。最后说一句 , 使用这些语句 使得程序结构不止有一个出口,破坏了 结构化程序设计的 标准控制结构 , 使程序难以调试 (但是往往便于编写), 应尽量避免使用,因为它们完全可以用其它语句代替, 所以,除非使用这些语句 能给 编写程序 带来 较大的方便, 且可读性不受到影响,才值得一用(其实我用的也不少,呵呵


          9楼2013-11-21 14:29
          回复
            【发完】
            拓展阅读:
            http://wenku.baidu.com/view/87e6e910a2161479171128de.html Free Pascal Dos单元函数过程类型常数详解


            10楼2013-11-21 17:39
            回复