Exponentials & Logarithms
Level: 3 (Production — from-scratch derivations, explain-out-loud, code-from-memory) Time limit: 45 minutes Total marks: 60
Instructions: Show every step. Where asked to "prove" or "derive", you may not simply quote the result — you must build it. Where asked to "explain out loud", write your reasoning as full sentences.
Question 1 — Derive the laws of logarithms (12 marks)
Starting only from the definition of a logarithm as the inverse of an exponential function (i.e. , with ):
(a) Prove the product rule: . (4) (b) Prove the power rule: . (4) (c) Prove the change-of-base formula: . (4)
Question 2 — The number (8 marks)
(a) State the limit definition of and explain out loud, in the context of continuously compounded growth, why approaches a fixed number as . (4) (b) A bank offers a nominal annual rate of . Compute the value of for and comment on the trend relative to . (4)
Question 3 — Solving exponential & logarithmic equations (12 marks)
(a) Solve , giving exactly in terms of natural logarithms and then to 3 s.f. (5) (b) Solve . State and justify any rejected roots. (4) (c) Solve . (3)
Question 4 — Growth & decay models (12 marks)
A radioactive isotope decays according to , where is in years.
(a) Derive the relationship between the decay constant and the half-life from first principles. (3) (b) The isotope has a half-life of 8 years. Find to 3 s.f. (2) (c) What fraction of the original sample remains after 20 years? (3) (d) A different sample grows by continuous compounding with doubling time 5 hours. Derive its growth constant and state how long until it reaches 10× its initial size. (4)
Question 5 — Logarithmic scales, explain-out-loud (10 marks)
(a) The Richter magnitude is . Explain out loud what a jump from magnitude 5 to magnitude 7 means physically for the amplitude , and quantify it. (4) (b) pH is defined as . If solution X has pH 3 and solution Y has pH 6, compute the ratio of their hydrogen-ion concentrations and explain why logarithmic scales are used here. (4) (c) Sound intensity level is dB. By how many dB does the level rise when intensity is multiplied by 100? (2)
Question 6 — Code-from-memory (6 marks)
Write a short pseudocode/Python function solve_growth(N0, k, target) that returns the time at which a continuously-growing quantity first equals target. Show the underlying formula you inverted and briefly explain each line. (6)
Answer keyMark scheme & solutions
Question 1 (12)
(a) Product rule (4) Let and . By definition , . (1 — set up) Then by laws of exponents. (2 — key step) Taking : . (1 — conclude) ∎
(b) Power rule (4) Let , so . (1) Then . (2) So . (1) ∎
(c) Change of base (4) Let , so . (1) Apply to both sides: . (1) By the power rule: . (1) Hence (valid since ). (1) ∎
Question 2 (8)
(a) (4) . (1) Explanation: splitting a year into periods, each period's growth factor shrinks toward 1 while the number of compoundings grows. (1) The two effects offset: extra compoundings add smaller and smaller increments, so the product is bounded above and increasing, converging to a finite limit (continuous compounding). (2)
(b) (4) — 1 mark each:
- :
- :
- :
- :
Trend: values increase monotonically toward but stay below it. (comment mark included above)
Question 3 (12)
(a) (5) Take : . (1) . (1) . (1) . (1) Numerically . (1)
(b) (4) Combine: . (1) . (1) or . (1) Reject (needs and , i.e. domain ); so . (1)
(c) (3) Let : . (1) or . (1) or . (1)
Question 4 (12)
(a) (3) At , : . (1) . (1) . (1)
(b) (2) yr⁻¹. (2)
(c) (3) . (1) . (1) So (equivalently ). (1)
(d) (4) Doubling: hr⁻¹. (2) Reach 10×: hr. (2)
Question 5 (10)
(a) (4) , so . (1) Going 5→7 raises the exponent by 2, so increases by times. (2) Physically each unit of magnitude is a 10× amplitude jump; the scale compresses a huge amplitude range into small numbers. (1)
(b) (4) . (1) . (2) Log scale used because concentrations span many orders of magnitude; a log axis makes them comparable. (1)
(c) (2) dB. (2)
Question 6 (6)
Invert : . (2 — formula)
import math
def solve_growth(N0, k, target):
# N0 e^{kt} = target -> t = (1/k) ln(target/N0)
if N0 <= 0 or target <= 0 or k == 0:
raise ValueError("need positive N0, target and nonzero k")
return math.log(target / N0) / k(4 — correct inversion 2, guard/return 1, explanation of each line 1)
[
{"claim":"Q3a solution x ≈ 1.795", "code":"x=(2*ln(3)+ln(5))/(2*ln(5)-ln(3)); result = abs(float(x)-1.7954) < 0.01"},
{"claim":"Q3b: x=4 satisfies log2(x)+log2(x-2)=3", "code":"result = simplify(log(4,2)+log(2,2)-3)==0"},
{"claim":"Q4c fraction remaining after 20yr ≈ 0.1768", "code":"k=ln(2)/8; frac=exp(-k*20); result = abs(float(frac)-0.1768) < 0.001"},
{"claim":"Q4d time to reach 10x ≈ 16.6 hr", "code":"k=ln(2)/5; t=ln(10)/k; result = abs(float(t)-16.6096) < 0.01"},
{"claim":"Q5c dB increase for 100x intensity is 20", "code":"dL=10*log(100,10); result = float(dL)==20"}
]