JSRUN 用代码说话

功能

编辑教程

功能

子程序

子程序是执行特定任务的程序单元/模块.这些子程序组合在一起形成更大的程序.这基本上称为"模块化设计".子程序可以由子程序/程序调用,称为调用程序.

Pascal提供两种子程序 :

  • 功能 : 这些子程序返回单个值.

  • 程序 : 这些子程序不会直接返回值.


函数

A 函数是一组一起执行任务的语句.每个Pascal程序至少有一个函数,它是程序本身,所有最简单的程序都可以定义其他函数.

函数声明告诉编译器关于函数的名称,返回类型和参数.函数定义提供函数的实际主体.

Pascal标准库提供了程序可以调用的许多内置函数.例如,函数 AppendStr()附加两个字符串,函数 New()动态地将内存分配给变量和更多函数.

定义函数

在Pascal中,使用function关键字定义函数.函数定义的一般形式如下 :

function name(argument(s): type1; argument(s): type2; ...): function_type;
local declarations;

begin
   ...
   < statements >
   ...
   name:= expression;
end;

Pascal中的函数定义包含函数标题,本地声明和函数体的.函数头由关键字函数和赋予函数的名称组成.以下是函数的所有部分 :

参数 : 参数建立了调用程序和函数标识符之间的联系,也称为形式参数.参数就像一个占位符.调用函数时,将值传递给参数.该值称为实际参数或参数.参数列表是指函数的类型,顺序和参数数量.使用这种形式参数是可选的.这些参数可能具有标准数据类型,用户定义的数据类型或子范围数据类型.

函数语句中出现的形式参数列表可以是简单的或下标的变量,数组或结构化变量,或子程序.

  • 返回类型 : 所有函数都必须返回一个值,因此必须为所有函数分配一个类型. function-type 是函数返回的值的数据类型.它可以是标准的,用户定义的标量或子范围类型,但不能是结构化类型.

  • 本地声明 : 局部声明引用标签,常量,变量,函数和过程的声明,它们仅适用于函数体.

  • 函数体 : 函数体包含一组语句,用于定义函数的功能.它应始终包含在保留字开头和结尾之间.它是所有计算完成的函数的一部分.在函数体中必须有一个类型为 name:= expression; 的赋值语句,它为函数名赋值.执行该函数时返回该值.正文中的最后一个语句必须是结束语句.

以下是一个示例,说明如何在pascal : 中定义函数;

(* function returning the max between two numbers *)
function max(num1, num2: integer): integer;

var
   (* local variable declaration *)
   result: integer;

begin
   if (num1 > num2) then
      result := num1

   else
      result := num2;
   max := result;
end;

函数声明

函数声明告诉编译器函数名称以及如何调用该函数.函数的实际主体可以单独定义.

函数声明包含以下部分和减号;

function name(argument(s): type1; argument(s): type2; ...): function_type;

对于上面定义的函数max(),以下是函数声明 :

function max(num1, num2: integer): integer;

在一个源文件中定义函数并在另一个文件中调用该函数时,需要函数声明.在这种情况下,你应该在调用函数的文件顶部声明函数.


调用函数

在创建函数时,你给出函数必须做的定义.要使用函数,您必须调用该函数来执行定义的任务.当程序调用一个函数时,程序控制被转移到被调用的函数.被调用的函数执行已定义的任务,当执行其返回语句或达到最后结束语句时,它会将程序控制返回给主程序.

要调用函数,只需要传递必需的参数和函数名称,如果函数返回一个值,那么你可以存储返回的值.下面是一个简单的例子来显示用法 :

program exFunction;
var
   a, b, ret : integer;

(*function definition *)
function max(num1, num2: integer): integer;
var
   (* local variable declaration *)
   result: integer;

begin
   if (num1 > num2) then
      result := num1

   else
      result := num2;
   max := result;
end;

begin
   a := 100;
   b := 200;
   (* calling a function to get max value *)
   ret := max(a, b);

   writeln( 'Max value is : ', ret );
end.

编译并执行上述代码时,会产生以下结果 :

Max value is : 200
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟