Hola elcuate.
No te preocupes es totalmente comprensible
Ya estoy un poco olvidado de esos temas...
![Roll Eyes (Sarcastic)](http://www.clubdelphi.com/foros/images/smilies/rolleyes.gif)
, pero creo que podrías hacer:
Código Delphi
[-]
function ReglaDeSimpson(const LimInf, LimSup: Double; const Part: Integer): Double;
var
Suma, Dif, f, x : Double;
i : Integer;
begin
Dif := (LimSup - LimInf) / Part;
Suma := 0;
for i := 0 to Part do
begin
if i mod 2 <> 0 then
f := 4 * x / sqrt(1 + x * x * x * x)
else if i mod 2 = 0 then
f := 2 * x /sqrt(1 + x * x * x * x)
else if i = 0 then
f := x / sqrt(1 + x * x * x * x)
else if i = Part then
f := x / sqrt(1 + x * x * x * x);
x := LimInf + i * Dif;
Suma := Suma + f;
end;
Result := Suma * Dif / 3
end;
Saludos.
Edito: Olvidé mencionarte que el argumento enviado al parámetro
Part (número de particiones), deberá ser par.