TEOREMA FUNDAMENTAL DEL CALCULO DIFERENCIAL

puntos[f_,a_,b_]:=Level[Cases[Plot[f[x],{x,a,b}],_Line,-1],{3}]; 
imag [i_,f_,{a_,b_,n_},tipo_]:=Apply[If[tipo=="sup",Max,Min],
Flatten[puntos[f,a+(i-1)(b-a)/n,a+i(b-a)/n][[All, 2]]]];
sumaImag[i_,f_,{a_,b_,n_},tipo_]:=
Module[{j},Sum[imag[j,f,{a,b,n},tipo],{j,1,i,1}]];
bloque[i_,f_,{a_,b_,n_},tipo_]:=Append[Append[
If[i==1,Prepend[{{a+(i-1)(b-a)/n,imag[i,f,{a,b,n},tipo]}},{a,0}],
{{a+(i-1)(b-a)/n,imag[i,f,{a,b,n},tipo]}}],
{a+i(b-a)/n,imag[i,f,{a,b,n},tipo]}], 
If[i<n,{a+i(b-a)/n,imag[i+1,f,{a,b,n},tipo]},{a+i(b-a)/n,0}]];
sumaBloqueLinea[i_,f_,{a_,b_,n_},tipo_]:=
Append[Append[
{{a+(i-1)(b-a)/n,sumaImag[i-1,f,{a,b,n},tipo]*(b-a)/n}},
{a+(i-1)(b-a)/n,sumaImag[i,f,{a,b,n},tipo]*(b-a)/n}],
{a+(i)(b-a)/n,sumaImag[i,f,{a,b,n},tipo]*(b-a)/n}];

sumaR[f_,{a_,b_,n_},tipo_]:={
Polygon[Flatten[Table[bloque[i,f,{a,b,n},tipo],{i,1,n} ],1]]};
sumaRline[f_,{a_,b_,n_},tipo_]:={
Line[Flatten[Table[bloque[i,f,{a,b,n},tipo],{i,1,n} ],1]]};
funArea[f_,{a_,b_,n_},tipo_]:={
Polygon[Flatten[Table[sumaBloque[i,f,{a,b,n},tipo],{i,1,n} ],1]]};
funArealine[f_,{a_,b_,n_},tipo_]:={
Line[Flatten[Table[sumaBloqueLinea[i,f,{a,b,n},tipo],{i,1,n} ],1]]};
tasaVar[f_,{a_,b_,n_},tipo_]:={Module[{i},Table[ Point[
{a+((2i+1)/2)(b-a)/n,
(sumaImag[i+1,f,{a,b,n},tipo]-sumaImag[i,f,{a,b,n},tipo])}],
{i,1,n-1}]]};
int[f_]:=Function[y,Evaluate[Integrate[f[y],y]]];
nombresFunciones:={"(x^2)","ln (x+1)","10-((e^x)/10) ","5/(x+1)","sen (x)"};
f:={(#^2)&,(Log[#+1])&,(10-1/10E^#)&,(5/(#+1))& ,(Sin[#])&};
functionButtons =Map[#[[1]]-> #[[2]]&,
Transpose[{Range[Length[nombresFunciones]],nombresFunciones}]];

Manipulate[
If[g=="Sumas Riemann",Grid[{
{Show[{Plot[f[[ff]][x],{x,a,b},PlotLabel->Style["(∫_a^b) f",20],
PlotStyle->{RGBColor[.1,.4,.1],Thickness[.005]},
Filling->Axis,FillingStyle->RGBColor[.7,.8,.7],
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{150,150}]}]},
{Show[{Graphics[{
Black,Thickness[.005],sumaRline[f[[ff]],{a,b,n},"inf"], 
RGBColor[.5,.5,.2,.5],sumaR[f[[ff]],{a,b,n},"inf"]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{240,240}],
Plot[f[[ff]][x],{x,a,b},PlotStyle->{RGBColor[.1,.5,.1],Thickness[.005]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.4,ImageSize->{240,240}]}]},
{Show[{Graphics[{
Black,Thickness[.005],sumaRline[f[[ff]],{a,b,n},"sup"], 
RGBColor[.8,.5,.2,.5],sumaR[f[[ff]],{a,b,n},"sup"]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{240,240}],
Plot[f[[ff]][x],{x,a,b},PlotStyle->{RGBColor[.1,.5,.1],Thickness[.005]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.4,ImageSize->{240,240}]}]}
}],
If[g=="Función Area",Grid[{
{Show[{Plot[(int[f[[ff]]][x]-int[f[[ff]]][a]),{x,a,b},PlotLabel->Style["F(x)=(∫_a^x) f",20],
PlotStyle->{Cyan,Thickness[.005]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{150,150}]}]},
{Show[{Graphics[{PointSize[.015],RGBColor[.1,.5,.5],Thickness[.008],
funArealine[f[[ff]],{a,b,n},"inf"]},
Axes->True,AxesOrigin->{0,0},AspectRatio->1,ImageSize->{240,240}],
Plot[{int[f[[ff]]][x]-int[f[[ff]]][a]},{x,a,b},PlotStyle->{Cyan,Thickness[.005]},
Axes->True,AxesOrigin->{0,0},ImageSize->{240,240}]}]},
{Show[{Graphics[{PointSize[.015],RGBColor[.1,.1,.5],Thickness[.008],
funArealine[f[[ff]],{a,b,n},"sup"]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{240,240}],
Plot[{int[f[[ff]]][x]-int[f[[ff]]][a]},{x,a,b},PlotStyle->{Cyan,Thickness[.005]},
Axes->True,AxesOrigin->{0,0},ImageSize->{240,240}]
}]}
}],
Grid[{
{Show[{Plot[{(int[f[[ff]]][x]-int[f[[ff]]][a]),f[[ff]][x]},{x,a,b},
PlotStyle->{Cyan,RGBColor[.1,.5,.1],Thickness[.005]},PlotLabel->Style["F '(x) = f(x)",20],
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{150,150}]
}]},
{Show[{ Graphics[{PointSize[.015],
Orange,tasaVar[f[[ff]],{a,b,n},"inf"]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{240,240}],
Plot[f[[ff]][x],{x,a,b},PlotStyle->{RGBColor[0,.5,0],Thickness[.006]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{240,240}]
}]},
{Show[{ Graphics[{PointSize[.015],
RGBColor[.1,.4,.8],tasaVar[f[[ff]],{a,b,n},"sup"]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{240,240}],
Plot[f[[ff]][x],{x,a,b},PlotStyle->{RGBColor[0,.5,0],Thickness[.006]},
Axes->True,AxesOrigin->{0,0},AspectRatio->.8,ImageSize->{240,240}]
}]}
}]
]],

Style["  ""Teorema Fundamental",Bold,FontSize->16],
Style["",FontSize->4],
Style["  ""del Cálculo Diferencial",Bold,FontSize->16],
Style["  ",Bold,FontSize->14,FontColor->RGBColor[1,0,0]],
Style[ " ""F(x) = (∫_a^x) f  \[Implies]  F'(x) = f(x)", FontSize->18,Orange],
Delimiter,
Style["Función: f",Bold,FontSize->12],
Style["",FontSize->4],
{{ff,1,"f"},functionButtons,ControlType->PopupMenu},

Style["",FontSize->8],
Style["Intervalo de integración: [a,b]",Bold,FontSize->12],
{{a,0},0,b-.01,.001,Appearance->"Labeled"},
{{b,2Pi},a+.01,2Pi,.001,Appearance->"Labeled"},

Style["",FontSize->8],
Style["Número de subintervalos: n",Bold,FontSize->12],
{{n,6},6,30,2,Appearance->"Labeled"},

Delimiter,
Style["Gráficos",Bold,FontSize->12],
{{g,"Sumas Riemann"},{"Sumas Riemann","Función Area","Tasas Variación"}},
Style["",FontSize->8],

Dynamic[
If[g=="Sumas Riemann",Grid[{{Show[{  {Graphics[{
Text[Style["\!\(\*SubscriptBox[\(Mín\), \(\(\\ \\ \)\(i\)\)]\)",Bold,FontColor->Black],
{-.8,imag[If[ff<3,(10/2+2) , (10/2-1)],f[[ff]],{a,b,10},"inf"]}],
Text[Style["(((b - a))/n)(i-1)        (((b - a))/n)i",Bold,FontColor->Black],
{If[ff<3,a+(10/2+1)(b-a)/10 , a+(10/2-2)(b-a)/10]+.3,
-.5*imag[If[ff<3,(10/2+2) , (10/2-1)],f[[ff]],{a,b,10},"inf"]}],
Black,Thickness[.008],sumaRline[f[[ff]],
{If[ff<3,a+(10/2+1)(b-a)/10 , a+(10/2-2)(b-a)/10],
If[ff<3,a+(10/2+2)(b-a)/10 , a+(10/2-1)(b-a)/10],1},"inf"], 
RGBColor[.5,.5,.2,.5],sumaR[f[[ff]],
{If[ff<3,a+(10/2+1)(b-a)/10 , a+(10/2-2)(b-a)/10],
If[ff<3,a+(10/2+2)(b-a)/10 , a+(10/2-1)(b-a)/10],1},"inf"],
Black,Dashed,Thickness[.008],Line[{
{0,imag[If[ff<3,10/2+2 ,10/2-1],f[[ff]],{a,b,10},"inf"]},
{If[ff<3,a+(10/2+2)(b-a)/10, a+(10/2-2)(b-a)/10],
imag[If[ff<3,(10/2+2) , (10/2-1)],f[[ff]],{a,b,10},"inf"]}}]
},Axes->True,Ticks->None,AxesOrigin->{0,0},AspectRatio->.8,
ImageSize->{200,160}]},
Plot[f[[ff]][x],{x,a,b},
PlotStyle->{RGBColor[.1,.5,.1],Thickness[.005]},
Axes->True,Ticks->None,AxesOrigin->{0,0},AspectRatio->.8,
ImageSize->{200,160}]}]},
{Style["",FontSize->4]},
{Style[" ""(∑_(i = 1)^n) \!\(\*SubscriptBox[\(Min\), \(\(\\ \)\(i\)\)]\)(((b - a))/n)  <  (∫_a^b) f ",
FontSize->14,FontColor->RGBColor[.5,.5,.2]]},
{Style["",FontSize->4]},
{Style[" "" (∫_a^b) f <  (∑_(i = 1)^n) \!\(\*SubscriptBox[\(Max\), \(\(\\ \)\(i\)\)]\)(((b - a))/n)",
FontSize->14,FontColor->RGBColor[.6,.4,.1]]},
{Style["",FontSize->4]}
}],
If[g=="Función Area",Grid[{ {Show[{  {Graphics[{
Text[Style["\!\(\*SubscriptBox[UnderscriptBox[\(S\), \(_\)], \(\(\\ \)\(i\)\)]\)",FontColor->RGBColor[.1,.5,.5],Bold],
{-2.1,
sumaImag[If[ff<4,(10/2+3) , (10/2-2)],
f[[ff]],{a,b,10},"inf"]*(b-a)/10}],
Text[Style["F(\!\(\*SubscriptBox[\(x\), \(\(\\ \)\(i\)\)]\))",FontColor->Black,Bold,FontColor->Black],
{-1,
(int[f[[ff]]][
If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10]]-int[f[[ff]]][a])}],
Text[Style["\!\(\*SubscriptBox[\(x\), \(\(\\ \)\(i\)\)]\)",FontColor->Black,Bold],
{If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10]+.2,
-.4*sumaImag[If[ff<4,(10/2+3) , (10/2-2)],f[[ff]],{a,b,10},"inf"]*(b-a)/10}],
{RGBColor[.1,.5,.5],Dashed,Thickness[.005],
Line[{
{0,sumaImag[If[ff<4,10/2+3 , 10/2-2],f[[ff]],{a,b,10},"inf"]*
(b-a)/10},
{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-3)(b-a)/10],
sumaImag[If[ff<4,10/2+3 , 10/2-2],f[[ff]],{a,b,10},"inf"]*
(b-a)/10}}]
},

{Dashed,Black,Thickness[.005],
Line[{
{0,(int[f[[ff]]]
[If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10]]-int[f[[ff]]][a])},
{If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10],
(int[f[[ff]]]
[If[ff<4,a+(10/2+3)(b-a)/10, a+(10/2-2)(b-a)/10]]-int[f[[ff]]][a])}}],

Line[{
{If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10],
-.2*sumaImag[If[ff<4,(10/2+3) , (10/2-2)],
f[[ff]],{a,b,10},"inf"]*(b-a)/10},
{If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10],
(int[f[[ff]]]
[If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10]]-int[f[[ff]]][a])}}]
},
RGBColor[.1,.5,.5],Thickness[.008],Line[{
Append[Prepend[sumaBloqueLinea[If[ff<4,(10/2+3) , (10/2-2)],
f[[ff]],{a,b,10},"inf"],
{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-3)(b-a)/10],0}],
{If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10],0} ]}]
},Axes->True,Ticks->None,AxesOrigin->{0,0},AspectRatio->.8,
ImageSize->{200,160}],
Plot[(int[f[[ff]]][x]-int[f[[ff]]][a]),{x,a,b},
PlotStyle->{Cyan,Thickness[.005]},
Axes->True,AxesOrigin->{0,0},Ticks->None,AspectRatio->.8,
ImageSize->{200,160}]}
}]},
{Style["",FontSize->4]},
{Style["  ""\!\(\*SubscriptBox[UnderscriptBox[\(S\), \(_\)], \(\(\\ \)\(i\)\)]\) = (∑_(j = 1)^i) \!\(\*SubscriptBox[\(Min\), \(\(\\ \)\(j\)\)]\) ((b - a)/n)  <  F(\!\(\*SubscriptBox[\(x\), \(\(\\ \)\(i\)\)]\)) = (∫_a^(Subscript[x, i])) f ",
FontSize->14,FontColor->RGBColor[.1,.5,.5]]},
{Style["",FontSize->4]},
{Style["  ""F(\!\(\*SubscriptBox[\(x\), \(\(\\ \)\(i\)\)]\)) = (∫_a^(Subscript[x, i])) f  <  \!\(\*SubscriptBox[OverscriptBox[\(S\), \(_\)], \(\(\\ \)\(i\)\)]\) = (∑_(j = 1)^i) \!\(\*SubscriptBox[\(Max\), \(\(\\ \)\(j\)\)]\) ((b - a)/n)",
FontSize->14,FontColor->RGBColor[.1,.1,.5]]},
{Style["",FontSize->4]}
}],
Grid[{{Show[{{Graphics[{
Text[Style["tan(\!\(\*SubscriptBox[UnderscriptBox[\(α\), \(_\)], \(\(\\ \)\(i\)\)]\))",Bold,Orange,10],
{-2.3,(sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10
-sumaImag[If[ff<4,10/2+2 , 10/2-3],
f[[ff]],{a,b,10},"inf"]*(b-a)/10)/((b-a)/10)}],
Text[Style["\!\(\*SubscriptBox[UnderscriptBox[\(α\), \(_\)], \(\(\\ \)\(i\)\)]\)",Orange,Bold,12],
{If[ff<4,a+(10/2+4)(b-a)/10 , a+(10/2-1)(b-a)/10]+.4,
sumaImag[If[ff<4,10/2+4 , 10/2-1],
f[[ff]],{a,b,10},"inf"]*(b-a)/10}],
Text[Style["\!\(\*SubscriptBox[\(x\), \(\(\\ \)\(i\)\)]\)",FontColor->Black,Bold],
{If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10],
-.4*sumaImag[If[ff<4,(10/2+3) , (10/2-2)],f[[ff]],{a,b,10},"inf"]*(b-a)/10}],
Text[Style["f(\!\(\*SubscriptBox[\(x\), \(\(\\ \)\(i\)\)]\))",FontColor->Black,Bold,FontColor->Black],
{-.8,f[[ff]][If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10]]}],
{Dashed,Black,Thickness[.005],
Line[{
{0,sumaImag[If[ff<4,10/2+4 , 10/2-1],f[[ff]],{a,b,10},"inf"]*
(b-a)/10},
{If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10],
sumaImag[If[ff<4,10/2+4 , 10/2-1],f[[ff]],{a,b,10},"inf"]*
(b-a)/10}}],
Line[{
{0,sumaImag[If[ff<4,10/2+3 , 10/2-2],f[[ff]],{a,b,10},"inf"]*
(b-a)/10},
{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-3)(b-a)/10],
sumaImag[If[ff<4,10/2+3 , 10/2-2],f[[ff]],{a,b,10},"inf"]*
(b-a)/10}}],
Line[{
{0,f[[ff]]
[If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10]]},
{If[ff<4,a+(10/2+3)(b-a)/10 , a+(10/2-2)(b-a)/10],
f[[ff]]
[If[ff<4,a+(10/2+5/2)(b-a)/10, a+(10/2-5/2)(b-a)/10]]}}],
Line[{
{If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10],
-.2*sumaImag[If[ff<4,(10/2+3) , (10/2-2)],
f[[ff]],{a,b,10},"inf"]*(b-a)/10},
{If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10],
f[[ff]]
[If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10]]}}],
PointSize[.025],
Point[{
If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10],
f[[ff]]
[If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10]]
}]
},
{Orange,Thickness[.01],
Line[{
{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-3)(b-a)/10],
sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10},
{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-3)(b-a)/10],
sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10}+
2.1*{(b-a)/10 ,
(sumaImag[If[ff<4,10/2+4 , 10/2-1],
f[[ff]],{a,b,10},"inf"]*(b-a)/10
-sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10)} }],
Line[{
{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-3)(b-a)/10],
sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10},
{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-3)(b-a)/10],
sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10}+
.4*{If[ff<4,a+(10/2+2)(b-a)/10 , a+(10/2-1)(b-a)/10],
0}}],
Dashed,Thickness[.005],
Line[{
{0,(sumaImag[If[ff<4,10/2+3, 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10
-sumaImag[If[ff<4,10/2+2 , 10/2-3],
f[[ff]],{a,b,10},"inf"]*(b-a)/10)/((b-a)/10)},
{If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10],
(sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10
-sumaImag[If[ff<4,10/2+2 , 10/2-3],
f[[ff]],{a,b,10},"inf"]*(b-a)/10)/((b-a)/10)}
}],
PointSize[.025],
Point[{If[ff<4,a+(10/2+5/2)(b-a)/10 , a+(10/2-5/2)(b-a)/10],
(sumaImag[If[ff<4,10/2+3 , 10/2-2],
f[[ff]],{a,b,10},"inf"]*(b-a)/10
-sumaImag[If[ff<4,10/2+2 , 10/2-3],
f[[ff]],{a,b,10},"inf"]*(b-a)/10)/((b-a)/10)}]
},
Black,Thickness[.004],Line[{
sumaBloqueLinea[If[ff<4,(10/2+3) , (10/2-2)],
f[[ff]],{a,b,10},"inf"],
sumaBloqueLinea[If[ff<4,(10/2+4) , (10/2-1)],
f[[ff]],{a,b,10},"inf"]}]
},Axes->True,Ticks->None,AxesOrigin->{0,0},AspectRatio->.8,
ImageSize->{200,160}  ]},
Plot[{(int[f[[ff]]][x]-int[f[[ff]]][a]),f[[ff]][x]},{x,a,b},
PlotStyle->{Cyan,RGBColor[.1,.5,.1],Thickness[.008]},
Axes->True,Ticks->None,AxesOrigin->{0,0},AspectRatio->.8,
ImageSize->{200,160}]
}]},
{Style["",FontSize->4]},
{Style["((∑_(j = 1)^i) \!\(\*SubscriptBox[\(Min\), \(\(\\ \)\(j\)\)]\)((b - a)/n) - (∑_(j = 1)^(i - 1)) \!\(\*SubscriptBox[\(Min\), \(\(\\ \)\(j\)\)]\)((b - a)/n) )/ (((b - a))/n) " ,
FontSize->14,FontColor->Orange]},
{Style["",FontSize->4]},
{Style[" <  f(\!\(\*SubscriptBox[\(x\), \(\(\\ \)\(i\)\)]\))  <" ,
FontSize->14,FontColor->Orange]},
{Style["",FontSize->4]},
{Style[ "((∑_(j = 1)^i) \!\(\*SubscriptBox[\(Max\), \(\(\\ \)\(j\)\)]\)((b - a)/n) - (∑_(j = 1)^(i - 1)) \!\(\*SubscriptBox[\(Max\), \(\(\\ \)\(j\)\)]\)((b - a)/n))/ (((b - a))/n)",
FontSize->14,FontColor->Orange]},
{Style["",FontSize->4]}
}]
]]],
SaveDefinitions->True,ControlPlacement->Left]

a) El área del recinto determinado por una función positiva f y el eje horizontal, sobre un intervalo [a,b], es lo que se conoce como (∫_a^b)f (integal de la función f entre a y b).
b) Cuando la función tiene partes positivas y negativas, la (∫_a^b)f es la diferencia de la suma de las áreas en las partes donde es positiva y la suma de las áreas donde es negativa.
c) La (∫_a^b)f se puede aproximar por exceso y por defecto mediante recintos rectangulares, cuyas bases están definidas por una partición del intervalo [a,b] es n subintervalos y cuyas alturas son los máximos y  mínimos de la función en cada uno de ellos. Cuantos más subintervalos tenga la partición mejor es la aproximación. 
d) Considerando cómo variable x el extremo de integración b, queda definida una nueva función F(x)=(∫_a^x)f . El Teorema Fundamental del Cálculo Diferencial dice que la función derivada de F es f, siempre que f sea continua. 
e) El resultado se puede observar, comprobando que la función integral F(x) se puede aproximar con funciones escalonadas construidas con los subintervalos de la partición de [a,b] y alturas cuyo valor para cada x es el del área acumulada de los recintos rectángulares cuyas bases son anteriores al valor x.
f) Las tasas de variación de estas funciones escalonadas tienden a la función f inicial, cuando se aumenta el número de subintervalos de la partición.
g) En el caso de particiones simétricas (con todos los subintervalos de la misma longitud), este último resultado es inmediato. La tasa de variación, obtenida con los mínimos de la función, para cada subintervalo es precisamente el valor mínimo de la función f en él. Y la obtenida con los máximos, es el valor máximo de la función en él.

luis.valero@mac.com