Procedimientos Y Funciones
Enviado por maximonsalbe • 1 de Agosto de 2013 • 506 Palabras (3 Páginas) • 219 Visitas
PROCEDIMIENTOS Y FUNCIONES
Un procedimiento es un subprograma que puede interactuar con los datos y simplifica los programas extensos. Su sintaxis es:
Procedure nombre_procedimiento(variables de entrada);
Una función es un procedimiento que puede devolver un valor (sólo una variable). Su sintaxis es:
Function nombre_funcion(variables de entrada):variable_salida;
Las variables que se definen dentro de un procedimiento o función son llamadas variables locales, mientras que las variables definidas en el programa principal son llamadas variables globales.
Ejemplos:
1. Programa que calcula el factorial de un número ingresado por el usuario:
Program factorial;
Uses SysUtils,Dialogs;
Var n:integer;
Function fact(var n:integer): integer;
var i,f:integer;
begin
f:=1;
for i:=2 to n do
f:=f*i;
fact:=f;
end;
Begin // Inicio del programa principal
n:=strtoint(inputbox('','Ingrese un número natural menor que 20',''));
showmessage('El factorial de '+inttostr(n)+' es ' +inttostr(fact(n)));
End.
2. Programa que lee los elementos de un arreglo y luego los muestra:
Program leer_imprimir;
Uses SysUtils, Dialogs;
Type vector = array of real;
Var A:vector; n:integer;
Procedure leer(var A:vector; var n:integer);
var i:integer;
begin
n:=strtoint(inputbox('','Ingrese la dimensión del vector A:',''));
Setlength(A,n);
for i:=1 to n do
A[i]:=strtofloat(inputbox('A['+inttostr(i)+']','Ingrese',''));
end;
Procedure imprimir(var A:vector; var n:integer);
var s:string; i:integer;
begin
s:='El vector ingresado es'+#13;
for i:=1 to n do
s:=s+floattostr(A[i])+#9;
showmessage(s);
end;
Begin // Inicio del programa principal
leer(A,n); imprimir(A,n);
End.
3. Programa que evalúa un polinomio cuyos coeficientes están en una arreglo:
Program val_polinomio;
Uses SysUtils,Dialogs;
Type polinomio = array of real;
Var i,n:integer; x:real;
P:polinomio; S:string;
Function val(var P:polinomio; var x:real): real;
Var i:integer; v,fx:real;
begin
v:=P[0]; fx:=x;
for i:=1 to high(P) do
begin
v:=v+P[i]*fx;
fx:=fx*x;
end;
val:=v;
end;
Begin // Inicio del programa principal
...