Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 19-04-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Es que esa no es la forma correcta de declarar el inicio y finalizacíon de una función o procedimiento, el formato general sería:
Código:
function Nombre (<parámetros>): tipo retorno;

<const (declaración de constantes locales)>
<type (definición local de tipos)> 
<var (declaración de variables locales)>
  
  <function(<parámetros>): tipo retorno; (declaración de funciones locales)
    begin
      ...
    end>
  <procedure(<parámetros>);         (declaración de procedimientos locales)
    begin
    ...
    end>

begin
  (cuerpo de la función)
end;
Podes usar las funciones o procedimientos de dos modos, habiéndo sido declaradas externas a la función:
Código Delphi [-]
function potencia(...): Integer;
begin
  ...
end;

function factorial(...): Integer;
begin
  ...
end;

function Suma(...): Integer;
begin
  potencia(...);
  factorial(...)
  ...
end;

o como locales a ella:
Código Delphi [-]
function Suma(...): Integer;
...

  function potencia(...): Integer;
  begin
    ...
  end;

  function factorial(...): Integer;
  begin
    ...
  end;

begin
  potencia(...);
  factorial(...);
end;
Las funciones potencia y factorial (locales o externas) podrían escribirse de modo iterativo,
Código Delphi [-]
function potencia( base, expo: Integer ): Integer;
var
  i: Integer;
begin
  Result := 1;
  for i := 1 to expo do
    Result := Result * base;
end;

function factorial( numero: Integer ): Integer;
var
  i: Integer;
begin
  Result := 1;
  for i := 1 to numero do
    Result := Result * i;
end;

o de modo recursivo:
Código Delphi [-]
function potencia(base, expo: Integer): Integer;
begin
  if expo = 0 then
    potencia := 1
  else
    potencia := base * potencia(base, expo - 1);
end;

function factorial(n: Integer): Integer;
begin
  if n = 0 then
    factorial := 1
  else
    factorial := n * factorial( n - 1);
end;
Pero en cualquiera de los casos, contando con las funciones potencia/factorial, la función Suma podría ser:
Código Delphi [-]
function Suma(const x, y: Integer): Double;
var
  i: Integer;

  // ...
  
begin
  Result := 0;
  for i := 0 to y do
    Result := Result + potencia(x, i) / factorial(i);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta Mysql Suma entre rango de fechas kaeltas MySQL 4 22-06-2012 21:30:44
Factorial hasta 1000 Cheswar Varios 29 21-09-2007 20:43:27
Compatibilidad entre aplicaciones ASP.NET entre Delphi 8 .Net y Visual Studio.Net kenyamg .NET 0 21-02-2007 07:30:33
exponente con delphi JODELSA Varios 1 22-06-2005 15:12:22
Calcular exponente [Gunman] Varios 0 18-04-2005 13:28:39


La franja horaria es GMT +2. Ahora son las 14:53:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi