Calculus I — Limits & Derivatives
Level 3 Paper — Production: From-Scratch Derivations & Explain-Out-Loud
Time limit: 45 minutes Total marks: 60
Instructions: Show every step. Where a proof is requested, state assumptions and justify each line. "Explain out loud" prompts require prose reasoning, not just algebra.
Question 1 — Derivative from first principles + explain (10 marks)
(a) Using only the difference-quotient definition, derive for . Show the rationalising step. (6)
(b) Explain out loud, in 2–3 sentences, why the limit represents the slope of the tangent line rather than a secant line. (4)
Question 2 — Prove an important limit and use the Squeeze Theorem (12 marks)
(a) State the Squeeze Theorem precisely. (2)
(b) Prove using the geometric inequality for , and the Squeeze Theorem. Justify why the two-sided limit follows. (7)
(c) Hence evaluate . (3)
Question 3 — Product & Chain rule proofs from memory (12 marks)
(a) Prove the product rule from first principles. State clearly where you add and subtract a term. (6)
(b) State the chain rule and give the sketch of its proof for the case where near . Then use it to differentiate . (6)
Question 4 — L'Hôpital's rule: proof idea + application (10 marks)
(a) Using linear approximation, explain why L'Hôpital's rule works for the form: given , derive that (assuming and derivatives continuous). (4)
(b) Evaluate . (3)
(c) Evaluate by converting to a suitable indeterminate form. (3)
Question 5 — Newton–Raphson from memory (code-from-memory) (8 marks)
(a) Derive the Newton–Raphson iteration formula from the linear approximation of at . (3)
(b) Write pseudocode (or Python) that finds a root of a given with derivative , starting from , stopping when or after 50 iterations. (3)
(c) Perform ONE iteration by hand for starting at . (2)
Question 6 — Optimization, real-world (8 marks)
A closed cylindrical can must hold a fixed volume . Find the radius and height that minimise the total surface area. Prove your critical point is a minimum using the second derivative. (8)
Answer keyMark scheme & solutions
Question 1 (10)
(a) Let . Rationalise by multiplying by : (2) (2) Cancel and take the limit: . (2)
(b) The quotient is the slope of the secant through and . As the second point slides toward the first, so the secant rotates toward the limiting line touching the curve at one point — the tangent. The limit converts the average rate of change over into the instantaneous rate at . (4: any 2 correct ideas = 4)
Question 2 (12)
(a) If near (except possibly at ) and , then . (2)
(b) For : areas give . Divide by : (3) As , and , so by squeeze . (2) Since is even (), the left limit equals the right, giving the two-sided limit . (2)
(c) (3)
Question 3 (12)
(a) Add and subtract : (2) (2) using continuity of (so ). (2)
(b) Chain rule: if , then . Sketch: (valid when ); as the first factor , second . (3) Apply: , (3)
Question 4 (10)
(a) Linear approx near : since ; similarly . Thus and taking gives equality (with ). (4)
(b) : apply L'Hôpital twice. (3)
(c) Rewrite ( type). L'Hôpital: (3)
Question 5 (8)
(a) Linear approx: . Set and solve for the root estimate : (3)
(b)
def newton(f, df, x0, tol=1e-8, maxit=50):
x = x0
for _ in range(maxit):
xn = x - f(x)/df(x)
if abs(xn - x) < tol:
return xn
x = xn
return x(3: iteration formula 1, stopping condition 1, loop cap 1)
(c) , , : (2)
Question 6 (8)
Volume: . (1) Surface area: . (2) (2) Then (so ). (1) for all , so it is a minimum. (2)
[
{"claim":"limit (1-cos x)/x^2 = 1/2","code":"x=symbols('x'); result = limit((1-cos(x))/x**2, x, 0)==Rational(1,2)"},
{"claim":"limit (e^x-1-x)/x^2 = 1/2","code":"x=symbols('x'); result = limit((exp(x)-1-x)/x**2, x, 0)==Rational(1,2)"},
{"claim":"limit x*ln x -> 0","code":"x=symbols('x', positive=True); result = limit(x*ln(x), x, 0, '+')==0"},
{"claim":"Newton first iterate for x^2-2 from 1.5 is 17/12","code":"result = Rational(3,2) - (Rational(3,2)**2-2)/(2*Rational(3,2)) == Rational(17,12)"},
{"claim":"optimal can radius cubed = 250/pi","code":"r=symbols('r', positive=True); S=2*pi*r**2+1000/r; sol=solve(diff(S,r),r); result = simplify(sol[0]**3 - 250/pi)==0"},
{"claim":"derivative of sqrt(x) is 1/(2 sqrt x)","code":"x=symbols('x', positive=True); result = simplify(diff(sqrt(x),x) - 1/(2*sqrt(x)))==0"}
]