ClearAll;
$DefaultFont = {"Times-Roman",10};
Needs["Statistics`DataManipulation`"];
Needs["Graphics`Graphics`"];
linetop[x_]:= 2 - (x-2)^2;

up:= Table[{x,linetop[x]},{x,1,1.25,0.01}];
down:= Table[{x-2,linetop[x]},{x,3,3.25,0.01}];

l46a = Show[Graphics[{GrayLevel[0.65],
			Polygon[Join[up,
			{{1.25,0},{1,0}}]]}],
			Graphics[{Dashing[{0.01,0.01}],
			Line[{{1,0},{1,linetop[1.25]}}],
			Line[{{1,linetop[1]},{1.25,linetop[1]}}],
			Line[{{1,linetop[1.25]},{1.25,linetop[1.25]}}],
			Line[{{1.25,linetop[1.25]},{1.25,0}}]}],
			ParametricPlot[{x,linetop[x]},{x,1,1.25}],
			PlotRange -> {{0.75,1.5},{-1.75,1.75}},
			Axes->True, AxesOrigin -> {0.75,0},
			AxesLabel->{"x","y"}, PlotLabel->"y = v(x)",
			Ticks->{{{1,"t"},{1.25,"t+h"}},None}];
			
l46b = Show[Graphics[{{GrayLevel[0.65],
			Rectangle[{1,0},{1.25,linetop[1]}]},
			Line[{{1,linetop[1]},{1.25,linetop[1]}}]}],
			Graphics[{Dashing[{0.01,0.01}],
			Line[{{1,0},{1,linetop[1]}}],
			Line[{{1,linetop[1]},{1.25,linetop[1]}}],
			Line[{{1.25,linetop[1]},{1.25,0}}]}],
			PlotRange -> {{0.75,1.5},{-1.75,1.75}},
			Axes->True, AxesOrigin -> {0.75,0},
			AxesLabel->{"x","y"}, PlotLabel->"y = v(x)",
			Ticks->{{{1,"t"},{1.25,"t+h"}},None}];			
			
l46c = Show[Graphics[{GrayLevel[0.65],
			Polygon[Join[down,
			{{1.25,0},{1,0}}]]}],
			ParametricPlot[{x-2,linetop[x]},{x,3,3.25}],
			Graphics[{Dashing[{0.01,0.01}],
			Line[{{1,0},{1,linetop[1]}}],
			Line[{{1,linetop[1]},{1.25,linetop[1]}}],
			Line[{{1,linetop[3.25]},{1.25,linetop[3.25]}}],
			Line[{{1.25,linetop[1]},{1.25,0}}]}],
			PlotRange -> {{0.75,1.5},{-1.75,1.75}},
			Axes->True, AxesOrigin -> {0.75,0},
			AxesLabel->{"x","y"}, PlotLabel->"y = v(x)",
			Ticks->{{{1,"t"},{1.25,"t+h"}},None}];

Clear[up,down,linetop];
linetop[x_]:= -2 + (x-2)^2;

up:= Table[{x,linetop[x]},{x,1,1.25,0.01}];
down:= Table[{x-2,linetop[x]},{x,3,3.25,0.01}];

l46d = Show[Graphics[{GrayLevel[0.65],
			Polygon[Join[up,
			{{1.25,0},{1,0}}]]}],
			Graphics[Text["t",{1,0.2}]],
			Graphics[Text["t+h",{1.25,0.2}]],
			Graphics[{Dashing[{0.01,0.01}],
			Line[{{1,0},{1,linetop[1.25]}}],
			Line[{{1,linetop[1]},{1.25,linetop[1]}}],
			Line[{{1,linetop[1.25]},{1.25,linetop[1.25]}}],
			Line[{{1.25,linetop[1.25]},{1.25,0}}]}],
			ParametricPlot[{x,linetop[x]},{x,1,1.25}],
			PlotRange -> {{0.75,1.5},{-1.75,1.75}},
			Axes->True, AxesOrigin -> {0.75,0},
			AxesLabel->{"x","y"}, PlotLabel->"y = v(x)",
			Ticks->None];
			
l46e = Show[Graphics[{{GrayLevel[0.65],
			Rectangle[{1,0},{1.25,linetop[1]}]},
			Line[{{1,linetop[1]},{1.25,linetop[1]}}]}],
			Graphics[Text["t",{1,0.2}]],
			Graphics[Text["t+h",{1.25,0.2}]],
			Graphics[{Dashing[{0.01,0.01}],
			Line[{{1,0},{1,linetop[1]}}],
			Line[{{1,linetop[1]},{1.25,linetop[1]}}],
			Line[{{1.25,linetop[1]},{1.25,0}}]}],
			PlotRange -> {{0.75,1.5},{-1.75,1.75}},
			Axes->True, AxesOrigin -> {0.75,0},
			AxesLabel->{"x","y"}, PlotLabel->"y = v(x)",
			Ticks->None];			
			
l46f = Show[Graphics[{GrayLevel[0.65],
			Polygon[Join[down,
			{{1.25,0},{1,0}}]]}],
			ParametricPlot[{x-2,linetop[x]},{x,3,3.25}],
			Graphics[Text["t",{1,0.2}]],
			Graphics[Text["t+h",{1.25,0.2}]],
			Graphics[{Dashing[{0.01,0.01}],
			Line[{{1,0},{1,linetop[1]}}],
			Line[{{1,linetop[1]},{1.25,linetop[1]}}],
			Line[{{1,linetop[3.25]},{1.25,linetop[3.25]}}],
			Line[{{1.25,linetop[1]},{1.25,0}}]}],
			PlotRange -> {{0.75,1.5},{-1.75,1.75}},
			Axes->True, AxesOrigin -> {0.75,0},
			AxesLabel->{"x","y"}, PlotLabel->"y = v(x)",
			Ticks->None];			

Show[GraphicsArray[{{l46a,l46d},{l46b,l46e},{l46c,l46f}}],
		PlotLabel->"Figure 18.3"]