Dpto. Ciencias de la Computación Curso 2004-2005 Laboratorio de Fundamentos de la Programación. Elena García Barriocanal 1 PROGRAMACIÓN MODULAR Estructura de un programa Program identP; [Uses IdentU;] [Type {Especificación tipos};] Var {Declaración variables}; [Definición procedimientos y funciones] Begin {Cuerpo del programa} End; Funciones definidas por el programador – Definición de una función: Function IdentificadorFuncion (paramFormales) : tipo; Var ListaVariableLocales; Begin {en el cuerpo se debe incluir la sentencia de retorno} end; Donde: ParamFormales = {ident[,ident1,...]: tipo;}1,* – Llamada a una función Vble:= identificadorFuncion (paramReales); Donde ParamReales = {expresión|literal}* Dpto. Ciencias de la Computación Curso 2004-2005 Laboratorio de Fundamentos de la Programación. Elena García Barriocanal Procedimientos – Definición de procedimientos: Procedure IdentificadorProcedimiento(paramFormales); Var ListaVariableLocales; Begin .... end; Donde: ParamFormales = {[var] ident[,ident1, ...]: tipo}0,*; – Llamada a un procedimiento: IdentificadorProcedimiento (paramReales); Parámetros reales que se pasen por referencia⇒ variables; – Para referenciar un módulo que no esté previamente definido: CabeceraMódulo; Forward; Funciones predefinidas – Funciones Matemáticas: ROUND (real): integer; TRUNC (real): integer; ABS (integer|real): integer|real; ARCTAN (integer|real):real; COS (integer|real): real; EXP (integer|real): real; LN (integer|real): real; SIN (integer|real): real; SQR( integer|real): integer|real; SQRT (integer|real): real; ODD (long): Boolean; INC (ordinal,[integer]): ordinal; DEC (ordinal,[integer]): ordinal; RANDOM [(integer)]: integer; - Funciones sobre ordinales, funciones de bajo nivel… 2