MÉTODO DOS TRAPÉZIOS

Trapezios[ff_,x_,a_,b_,n_]:=Module[{f,h},
f[s_]:=ff/.x->s;
h=(b-a)/n;
(h/2)*(f[a]+f[b]+2.*Sum[f[a+i*h],{i,1,n-1}])
]

MÉTODO DE SIMPSON

Simpson[ff_,x_,a_,b_,n_]:=Module[{f,h},
f[s_]:=ff/.x->s;
h=(b-a)/n;
If[OddQ[n],Print["ERR=: n deve ser par"]];
(h/3)*(f[a]+f[b]+4.*Sum[f[a+(2*i-1)*h],{i,1,n/2}]+2.*Sum[f[a+2*i*h],{i,1,n/2-1}])
]

APLICAÇÃO CONSTRUÇÃO DE UMA TABELA DA DISTRIBUIÇÃO NORMAL

(* Cálculo do valor da distribiçao N(0,1) no ponto x≥0, usando o método dos trapézios, com erro inferior a tol. Os parâmetros h e n são calculados com base na fórmula do erro, para 0≤x≤4 *)
FTrap[x_,tol_]:=Module[{n,t},
n=Ceiling[16/Sqrt[120*tol]];
0.5+(1/Sqrt[2*Pi])*Trapezios[Exp[-t^2/2],t,0.,x,n]
]

(* Cálculo do valor da distribiçao N(0,1) no ponto x≥0, usando o método de Simpson, com erro inferior a tol. Os parâmetros h e n são calculados com base na fórmula do erro, para 0≤x≤4 *)
FSimp[x_,tol_]:=Module[{n,t},
h=(180*tol/4.8)^0.25;
n=Ceiling[4/h];
If[OddQ[n],n=n+1];
0.5+(1/Sqrt[2*Pi])*Simpson[Exp[-t^2/2],t,0.,x,n]
]

TabelaTrapezios=Table[FTrap[i/10+j/100,10^(-6)],{i,0,40},{j,0,9}];
TabelaSimpson=Table[FSimp[i/10+j/100,10^(-6)],{i,0,40},{j,0,9}];

TabelaTrapezios//MatrixForm

TabelaSimpson//MatrixForm