(*MÉTODO DE SEGUNDA ORDEM BASEADO NA SÉRIE DE TAYLOR*)
f[t_, u_] := 1 - t^2  + u^2/4

Sol = 
      NDSolve[{y'[x] == 1 - x^2 +  y[x]^2/4, y[0] == 1}, 
        y, {x, 0, 0.4}]

Graf = 
      Plot[y[x] /. Sol, {x, 0, 0.4}, 
        PlotStyle -> {Thickness[0.008]}]

dfx[x1_, x2_] := D[f[x1, x2], {x1, 1}]

dfy[x1_, x2_] := D[f[x1, x2], {x2, 1}]

Segunda[x0_, y0_, h_, n_, cor1_, cor2_, 
        cor3_] := (
y2 = {y0}; i = 0;  
        Do[yv = y2[[-1]]; 
          ynovo =  
            yv + h*f[x0 + i*h, yv] + 
                h^2/2*(dfx[u, v] + dfy[u, v])*
                  f[x0 + i*h, yv] /. {u -> x0 + i*h, v -> yv}; 
          AppendTo[y2, ynovo], {i, 0, n - 1}];  
        Print[y2]; 
Exacto = 
          Table[y[x0 + i*h] /. Sol[[1]], {i, 0, n}]; 
        Erro =  Exacto  - y2; 
        Valores = Table[{(i - 1)*h, y2[[i]]}, {i, 1, n + 1}]; 
        Graf1 = ListPlot[Valores, PlotJoined -> True, 
            PlotStyle -> {RGBColor[cor1, cor2, cor3], 
                Thickness[0.008]}])

G = Segunda[0. , 1. , 0.05, 8, 1, 0, 0]

Show[G, Graf]

Valores2 = 
      Table[{0.05*(i - 1), Erro[[i]]}, {i, 1, 9}]

Graferro2 = 
      ListPlot[Valores2, PlotJoined -> True, 
        PlotStyle -> {RGBColor[1, 0, 0], Thickness[0.008]}]